Как зациклить диапазон нескольких строк / столбцов на столбец с помощью Excel 2007 VBA? - PullRequest
1 голос
/ 22 ноября 2010

Я зацикливаюсь на цикле по диапазону с несколькими строками и столбцами, используя Excel 2007 VBA.

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

1 Ответ

1 голос
/ 22 ноября 2010

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

Application.Selection.Address

. Это даст вам значение диапазона (свойство Selection возвращает объект Range), которое будет выглядеть примерно как "$B$4:$J$20".

Учитывая, что теперь у вас есть диапазон для работы, вы можете выполнять итерацию по каждому столбцу, используя что-то вроде:

For Each col In userSelectedRange.Columns

   ...

Next

Свойство Columns снова возвращает объект Range, который вы можете либо повторить, либо выполнитьдругие вычисления (ваши точные потребности не слишком понятны из вашего вопроса).

Чтобы опубликовать вычисленный результат на две строки выше каждого столбца (например, промежуточный итог или аналогичный), попробуйте использовать функцию смещения:

Cells.Offset(-2, 0)

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

...