循环代码/跳过行

我有一个VBA代码中的以下内容:

For i = 1 To 5 myArray(i) = i + 0 Next i For i = 6 To 8 myArray(i) = i + 1 Next i For i = 9 To 14 myArray(i) = i + 2 Next i 

…等等

这样做肯定有更好的办法,但是对于我来说,我想不出一个。 谁能帮忙? 也许与Select..Case语法的东西?

编辑:这些实际上应该是公司各个地区的各个子部门。 我“跳过”的行自动计算所述区域的总数。

由于你跳过的行是不统一的,从它的声音可能会改变你可能不想在Select语句的几行硬编码它们。 将它们logging在Array可能更容易:

 'Create an Array of Rows to Skip rowsToSkip = Array(6, 9) 'Loop over all data For i = 1 To 14 skipcount = 0 'For each skip row we have passed add one to the skipcount For Each rownum In rowsToSkip If i >= rownum Then skipcount = skipcount + 1 End If Next rownum myArray(i) = i + skipcount Next i 
 For i = 1 to 14 select case i case 1 to 5 myArray(i) = i + 0 case 6 to 8 myArray(i) = i + 1 case 9 to 14 myArray(i) = i + 2 end select Next i