2017-05-27 129 views
-3

使用VBA我想选择一个特定的范围,例如B7:J7,做一些事情(我已经有这个工作),然后在下一行中选择相同的列,B8:J8并且执行相同的操作,然后通过设置的行范围循环到下一行等。完整的范围将是像B7:J40。这似乎很容易,但我没有得到任何地方。由于循环遍历逐行的范围

回答

1
Dim rowIndex as Long 

for rowIndex = 7 to 40 
    Sheet1.Range("B" & rowIndex & ":J" & rowIndex) 
next col 

这将给你 B7:J7 B8:J8 B9:J9 ... B40:J40

+0

命名约定必须是程序员友好的。您似乎循环行,但名称为“col”。我建议你将它改为'row' –

+0

是的,你是正确的,因为col是指所使用的命名可能暗示的行而不是列 – gr8tech

1

这里是一个工作代码/言自明的例子。根据您的需求修改它。

Sub loops() 
Dim rownum As Long 
'looping rows 7 to 40 
For rownum = 7 To 40 
    'Assuming you want to sum the range and put the output in K7, K8, K9 and so on... 
    Range("K" & rownum) = WorksheetFunction.sum(Range("B" & rownum & ":j" & rownum)) 
Next rownum 
End Sub