Строки заполнения Vba с формулой

#excel #formulas #vba

#excel #формулы #vba

Вопрос:

У меня есть лист со 100 столбцами в каждой строке. Столбец в строке один должен быть заполнен данными

Такие как

 B2= Indirect("'sheet1'!N105")
C2= Indirect("'sheet1'!S105")
  

И так, как это происходит до столбца CW100.

Данные, которые необходимо извлечь из листа 1, присутствуют с интервалом в 5 столбцов, таких как N105, S105, X105 и так далее.

Есть ли более простой способ сделать это сразу, вместо ручного ввода формул?

Ответ №1:

Для B2 вы можете использовать что-то вроде

 =INDIRECT("'sheet1'!R105C"amp;5*COLUMN() 4,FALSE)
  

Форма R1C1 INDIRECT вызывается с использованием FALSE в качестве второго параметра, а номер исходного столбца вычисляется как 5-кратный номер столбца назначения плюс смещение 4.

Вы также можете использовать OFFSET вместо INDIRECT этого с аналогичным вычислением исходных столбцов.

Надеюсь, это поможет