Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Оборотно-сальдовая ведомость. Обработка VBA
 
Народ, ну вы и разошлись
Оборотно-сальдовая ведомость. Обработка VBA
 
Sobes, моя цель пока что правильно считать ОСВ в массив по контрагентам и субсчетам, а дальше уже проще работать с ними
Оборотно-сальдовая ведомость. Обработка VBA
 
Sobes, это на случай, когда счета нет в строках, тогда там кроме итого больше ничего нет
Оборотно-сальдовая ведомость. Обработка VBA
 
Sobes, спасибо за наводку, обдумаю
вопрос с отсутствующим счетом я уже разрешил поиском в сочетании с поиском наличия сумм в строке

так что случай свелся только к отделению субсчета от контрагента и итого, думаю, что это решу только тем способом, что в первом сообщении описал
Оборотно-сальдовая ведомость. Обработка VBA
 
Вот скриншоты различных вариантов
хочу написать что-то общее, под каждый вариант пользователь не будет заморачиваться с выбором

Замечание в первом сообщении ничему не учит?[МОДЕРАТОР]
Оборотно-сальдовая ведомость. Обработка VBA
 
Kuzmich, могу фото сделать, с рабочего компа нельзя так делать
Оборотно-сальдовая ведомость. Обработка VBA
 
TheBestOfTheBest, такой признак не пройдет, у контрагента может быть и цифра первая, разные наименования бывают плюс компании иногда какой-то свой признак в наименовании контрагента могут проставить в виде цифры
Оборотно-сальдовая ведомость. Обработка VBA
 
TheBestOfTheBest, как уже написал для помещения в массив и дальнейшей обработки необходимо правильно считать контрагентов и субсчета, по которым они проходят
Оборотно-сальдовая ведомость. Обработка VBA
 
 Товарищи, поясню
я не могу отредактировать 1с, это не мои выгрузки, я их получаю от разных компаний, только стандартные.

по форматированию это не обязательно уровень 2, может быть вообще внутри одного файла по одному субсчету уровень 2, по другому 3.

плюс бывает, что без формирования, но на моем опыте это как раз, когда номер счёта отсутствует внутри таблицы и там вопрос определения начала списка контрагентов
Оборотно-сальдовая ведомость. Обработка VBA
 
DopplerEffect, это стандартная выгрузка, я такие от разных компаний получаю, поэтому там даже вид разный может быть в зависимости от версии 1с... С разными видами буду бороться указанием колонок
Оборотно-сальдовая ведомость. Обработка VBA
 
Приветствую, коллеги подскажите, может у кого есть более рациональное решение.
На картинках привел пример одного из вариантов ОСВ в Excel. Работать с таким форматом крайне не удобно, надо перестроить таблицу в массив в vba и затем вывести нужный вид, проблема в правильном считывании строк.

Я в названии файла обязательно задаю номер счета (в примере 60). VBA по столбцу с контрагентами сверху вниз ищет, где строка начинается на 60. Признаю содержимое этой строки номером счета. Далее в следующей строке, если она не начинается на 60, то начинается список контрагентов по этому субсчету, если начинается на 60, то перезаписываю переменную номер счета. и т.д. пока не дойдет до конца таблицы.

В случае, если ОСВ не разбита на субсчета, в ней вообще может отсутствовать номер счета, тогда непонятно, как найти, где в столбце начало списка контрагентов - хочу в этом случае выводить окно пользователю для ввода номера строки начала.

Плюс сохраняется проблема в считывании строки ИТОГО, ее не надо считывать, но наименования в разных версиях могут быть разные.

Соответственно задача состоит в том, чтобы правильно считать номер субсчета, список контрагентов и избежать считывания сальдо и оборотов по номеру счета и итоговой строке.

Файлы удалены: превышение допустимого размера вложения [МОДЕРАТОР]
Изменено: Boris05036 - 24 Май 2018 09:47:44
VBA: переход внутри ячейки на новую строку с помощью alt+enter
 
Цитата
Апострофф написал:
один из вариантов(а может и оба) он должен понять...
ни один не понял, но спасибо за идею, как-то я сразу недоехал, переменная ведь все равно текстовая, так работает
Код
s=replace(s,vbLf, "<br>")
VBA: переход внутри ячейки на новую строку с помощью alt+enter
 
sokol92, спасибо, вы прав (видимо я уже перегрелся), я понял, но проблема остается, дополню

в итоге данная ячейка уходит затем в htmlbody (outlook) и видимо для него vbLf вещь непонятная
если это возможно в рамках данной темы, то прошу подсказать, как мне в сообщении html сохранить это?

В сообщение вставка происходит с использованием переменной vba
Изменено: Boris05036 - 16 Янв 2018 13:52:57
VBA: переход внутри ячейки на новую строку с помощью alt+enter
 
Jack Famous, ладно, понял в чем беда, сначала

пошагово, что я хочу
1) На листе в ячейке A1 запись многострочная через перенос alt+enter (так надо)
2) в vba есть переменная A, в которую я записываю ячейку A1 (при этом текст из многострочного превращается в одну строку - а мне надо, чтобы данная структура сохранялась)
3) какие-то действия с данными
4) нужно вывести в ячейку A2 отредактированную переменную A, но при этом должна быть сохранена первоначальная структура с переносами внутри ячейки (vbLf)
VBA: переход внутри ячейки на новую строку с помощью alt+enter
 
Доброго времени суток!

На листе в ячейке A1 запись в две строки. При ее записи весь текст сливается в одну строчку.
Как сделать так, чтобы сохранить данные построчно.... может быть в массиве? а затем после обработки вставить в другую ячейку в таком же виде в две строки обратно...
ГПР (HLOOKUP) в VBA выдает ошибку
 
Юрий М, спасибо, я понял в чем ошибка, не задал A_1 как date, поэтому, видимо, неправильно считывалось, потому что А_1 я считывал с ячейки.
ГПР (HLOOKUP) в VBA выдает ошибку
 
vikttur, попробую дома воспроизвести данный кусок
ГПР (HLOOKUP) в VBA выдает ошибку
 
vikttur, сорри, не упомянул А1 у меня переменная, в которой записана дата, пробовал и в формате строки, и в формате даты)
ГПР (HLOOKUP) в VBA выдает ошибку
 
Доброго времени суток, может кто-нибудь объяснить, почему формула в эксель "=ГПР(A1;A2:H100;2;ЛОЖЬ)" работает и выдает верный результат, а строка vba
Код
a = Application.HLookup(A1, otch.Range("A2:H100"), 2, False)
выдает a = Error 2042?
Если что, A1 - дата (например, 01.01.2017)
Сортировка по дате в массиве type statement
 
Doober, спасибо, слона то в ночи и не заметил
а реально не сбивать порядок одинаковых, в файле одно значение выстроилось 542 вместо 245, а второй сохранило свой порядок, это из-за последовательности перебора
или это только в последовательном?
Изменено: Boris05036 - 2 Апр 2017 08:15:37
Сортировка по дате в массиве type statement
 
Doober, вот, например, не подскажете, что не так делаю... ошибка.. ожидает массив, я его и задаю, но через type
Сортировка по дате в массиве type statement
 
Doober, а если не перебором, то как лучше, оптимальнее? у меня может быть и 10тыс, и 50тыс строк в массиве
Сортировка по дате в массиве type statement
 
Цитата
Doober написал:
К type statement любой подойдет.
а как записывать номер столбца массива, если у меня здесь это переменная .dat?
Сортировка по дате в массиве type statement
 
Доброго времени суток, имею массив в таком виде
Код
public type oper()
dat as date
d as double
c as double
end type

необходимо отсортировать записанный массив по type().dat, каким путем это лучше осуществить?
нашел кучу вариантов, но никак не могу понять, какой лучше и насколько все это применимо к type statement...
Преобразование текстового формата даты в числовой в vba
 
Kuzmich, спасибо, попробую, этого я и не заметил, притекло из другого файла
Преобразование текстового формата даты в числовой в vba
 
Kuzmich, что вы имеете в виду?
Преобразование текстового формата даты в числовой в vba
 
Kuzmich, и вам спасибо, тут однократно решил воспользоваться вторым вариантом, но суть одна ведь.
Преобразование текстового формата даты в числовой в vba
 
JayBhagavan, спасибо, вроде это сработало, но я задам еще один вопрос. С форматом теперь все нормально, но сортировка не идет... кто-нибудь может определить почему?
Преобразование текстового формата даты в числовой в vba
 
Доброго времени суток! Форумчане, уже мозг взорвался, перепробовал несколько методов, предложенных когда-то на разных форумах.
В файле вырезал нужный кусок. Сделать надо именно в vba, т.к. это часть макроса... из-за этого он некорректно проводит сортировку по дате.
верхние даты скопированы из одного файла, нижние из другого, поэтому оказалось, что вверху текстовый формат, внизу числовой формат даты...
Расчет через цикл в цикле (for - next)
 
Sanja, спасибо, завтра тоже попробую и ваш вариант, может он заработает и окажется быстрее

Посмотрел, все то же самое, подход понятен, спасибо, мне больше привычен просто другой, хотя не знаю, сыграет ли роль на скорости выполнения при тысячах 8-10 строк
Изменено: Boris05036 - 28 Июн 2016 19:47:43
Страницы: 1 2 След.
Наверх