Приветствую, коллеги подскажите, может у кого есть более рациональное решение.
На картинках привел пример одного из вариантов ОСВ в Excel. Работать с таким форматом крайне не удобно, надо перестроить таблицу в массив в vba и затем вывести нужный вид, проблема в правильном считывании строк.
Я в названии файла обязательно задаю номер счета (в примере 60). VBA по столбцу с контрагентами сверху вниз ищет, где строка начинается на 60. Признаю содержимое этой строки номером счета. Далее в следующей строке, если она не начинается на 60, то начинается список контрагентов по этому субсчету, если начинается на 60, то перезаписываю переменную номер счета. и т.д. пока не дойдет до конца таблицы.
В случае, если ОСВ не разбита на субсчета, в ней вообще может отсутствовать номер счета, тогда непонятно, как найти, где в столбце начало списка контрагентов - хочу в этом случае выводить окно пользователю для ввода номера строки начала.
Плюс сохраняется проблема в считывании строки ИТОГО, ее не надо считывать, но наименования в разных версиях могут быть разные.
Соответственно задача состоит в том, чтобы правильно считать номер субсчета, список контрагентов и избежать считывания сальдо и оборотов по номеру счета и итоговой строке.
Файлы удалены: превышение допустимого размера вложения [МОДЕРАТОР]
На картинках привел пример одного из вариантов ОСВ в Excel. Работать с таким форматом крайне не удобно, надо перестроить таблицу в массив в vba и затем вывести нужный вид, проблема в правильном считывании строк.
Я в названии файла обязательно задаю номер счета (в примере 60). VBA по столбцу с контрагентами сверху вниз ищет, где строка начинается на 60. Признаю содержимое этой строки номером счета. Далее в следующей строке, если она не начинается на 60, то начинается список контрагентов по этому субсчету, если начинается на 60, то перезаписываю переменную номер счета. и т.д. пока не дойдет до конца таблицы.
В случае, если ОСВ не разбита на субсчета, в ней вообще может отсутствовать номер счета, тогда непонятно, как найти, где в столбце начало списка контрагентов - хочу в этом случае выводить окно пользователю для ввода номера строки начала.
Плюс сохраняется проблема в считывании строки ИТОГО, ее не надо считывать, но наименования в разных версиях могут быть разные.
Соответственно задача состоит в том, чтобы правильно считать номер субсчета, список контрагентов и избежать считывания сальдо и оборотов по номеру счета и итоговой строке.
Файлы удалены: превышение допустимого размера вложения [МОДЕРАТОР]
Изменено: - 24.05.2018 09:47:44