[/vba] Длина массива заранее неизвестна (зависит от того, сколько заполнено на тех страницах, из которых собираю). При этом мне надо добавить расчётную колонку. Для формулы расчётной колонки берётся значение из массива. В конкретном случае у меня такое, хотя это не важно:
[/vba] Длина массива заранее неизвестна (зависит от того, сколько заполнено на тех страницах, из которых собираю). При этом мне надо добавить расчётную колонку. Для формулы расчётной колонки берётся значение из массива. В конкретном случае у меня такое, хотя это не важно:
Просто приставляйте её справа от массива в первую свободную колонку. Как понимаю, это будет колонка F и, если данные массива начинаются со 2-й строки, то в ячейку F2 можно записать примерно такую самопротягивающуюся формулу: [vba]
[/vba] Если надо добавить не одну, а несколько колонок (скажем, две), то использование фрагмента: [vba]
Код
MAX(2;ROW(A2:A)*(A2:A<>""))
[/vba] в каждой из них (а, возможно, и не один раз в одной формуле) выглядит громоздко и расточительно. В этом случае можно применить следующий подход с вычислением этого фрагмента только один раз (формула тоже для F2): [vba]
В конкретном случае у меня такое, хотя это не важно: =ВПР(B2;'Клиенты'!A$2:D$1200;4;ЛОЖЬ)
К сожалению, важно, ибо далеко не каждую формулу можно сделать самопротягивающейся в принципе. Но в данном конкретном (и счастливом) случае функция ВПР является пригодной для подобной самопротяжки.
Просто приставляйте её справа от массива в первую свободную колонку. Как понимаю, это будет колонка F и, если данные массива начинаются со 2-й строки, то в ячейку F2 можно записать примерно такую самопротягивающуюся формулу: [vba]
[/vba] Если надо добавить не одну, а несколько колонок (скажем, две), то использование фрагмента: [vba]
Код
MAX(2;ROW(A2:A)*(A2:A<>""))
[/vba] в каждой из них (а, возможно, и не один раз в одной формуле) выглядит громоздко и расточительно. В этом случае можно применить следующий подход с вычислением этого фрагмента только один раз (формула тоже для F2): [vba]
В конкретном случае у меня такое, хотя это не важно: =ВПР(B2;'Клиенты'!A$2:D$1200;4;ЛОЖЬ)
К сожалению, важно, ибо далеко не каждую формулу можно сделать самопротягивающейся в принципе. Но в данном конкретном (и счастливом) случае функция ВПР является пригодной для подобной самопротяжки.Gustav