#excel #vba
#excel #vba
Вопрос:
Я новичок в VBA, у меня проблема в том, как зацикливать диапазоны в VBA, например: Range("A1:D1").select
чтобы Range("A100:D100").select
или
Range("A1:D1").select
кому Range("D1:G1").select
?
Ответ №1:
Примечание: лучше избегать использования Select
Activate
, и т. Д…
Чтобы перебирать диапазоны, изменяющиеся для каждой строки, используйте For
цикл lRow
ниже:
' loop example per your case
For lRow = 1 To 100
Range("A" amp; lRow amp; ":D" amp; lRow).Select
Next lRow
Чтобы перебирать диапазоны, которые изменяются для каждого столбца, используйте For
цикл Col
ниже:
' loop example per your case
For Col = 1 To 4
Range(Cells(1, Col), Cells(1, Col 3)).Select
Next Col
Комментарии:
1. Большое спасибо. Извините, что снова беспокою, здесь у меня есть еще один вопрос, как зациклить
Range("A1")="=SUM(R[-3]C:R[-3]C)"
?2. вам нужно использовать
Range("A" amp; lrow).FormulaR1C1
и в формуле для продвиженияR
раздела3. Мне действительно очень жаль, на самом деле я имею в виду, как зациклить «= SUM (R [-3]C: R [-3] C)»?
4. @Stellera — Если вы пытаетесь поместить формулу в ячейку A1, которая ссылается на строку
R[-3]C
(т.Е. Столбец A в строке -2 ), это не сработает — вы получите#REF!
сообщение об ошибке.5. Да, так есть ли способ справиться с этим?