VBA Excel-以3列为一组循环输出结果
我有一个sub,它进行类似的计算:VBA Excel-以3列为一组循环输出结果,excel,vba,Excel,Vba,我有一个sub,它进行类似的计算: Sub loop_it() For k = 1 to 3 For j=1 to 100 a = 1*k b = k+j c = j*j ' Currently, this will overwrite the columns with pattern 2-4, 3-5, 4-6, but I want ' 2nd-4t
Sub loop_it()
For k = 1 to 3
For j=1 to 100
a = 1*k
b = k+j
c = j*j
' Currently, this will overwrite the columns with pattern 2-4, 3-5, 4-6, but I want
' 2nd-4th columns(k=1), then 5-7 (k=2), then 8-10 (k=3)
ThisWorkbook.Sheets("sheet1").Cells(j, k + 1).Value = a
ThisWorkbook.Sheets("sheet1").Cells(j, k + 2).Value = b
ThisWorkbook.Sheets("sheet1").Cells(j, k + 3).Value = c
Next j
Next k
End Sub
如代码中所述,我当前的方法将以逐步方式输出到列。我试图在k=1时打印到第一组3列,然后在k=2时打印到下一组3列,以此类推
如何使用k在正确的位置输出?我是否应该在结尾处提前k并使用range.offset?您可以使用
的步骤
功能来执行..下一步
循环:
For k = 1 To 7 Step 3
k
现在取值1、4和7
但现在这些说法是错误的:
a = 1*k
b = k+j
因此,请使用:
a = (k-1)/3+1
b = (k-1)/3+1+j
相反
iC
)。现在根据k
的值将iC
的值设置为2、5或8。然后您可以将…单元格(j,k+1).Value
替换为…单元格(j,iC).Value
,…单元格(j,iC).偏移量(,1).Value
,…单元格(j,iC).偏移量(,2).Value