我需要有关此代码的帮助。它可以工作,但是我想使其循环,而不是手动输入另一行代码。因此,基本上我不想有3个代码块,而是希望成为一个代码块。
Drink
应该是这样的:
ActiveCell.Offset(1, 0).Range("A1:D1").Select
Selection.Cut
ActiveCell.Offset(-1, 4).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(2, -4).Range("A1:D1").Select
Selection.Cut
ActiveCell.Offset(-2, 8).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(3, -8).Range("A1:D1").Select
Selection.Cut
ActiveCell.Offset(-3, 16).Range("A1").Select
ActiveSheet.Paste
我不确定如何在VBA中遍历单元格。谢谢!
编辑:
这就是我想要做的。谢谢
Loop 3{
ActiveCell.Offset(1, 0).Range("A1:D1").Select
Selection.Cut
ActiveCell.Offset(-1, 4).Range("A1").Select
ActiveSheet.Paste
}
答案 0 :(得分:2)
您可以执行此操作而无需每次选择,请尝试以下操作:
For i = 1 To 3
ActiveCell.Offset(i, 0).Range("A1:D1").Cut ActiveCell.Offset(0, i * 4)
Next i
答案 1 :(得分:0)
这个答案与@Valon的答案几乎相同,但是我不想继续使用Range("A1:D1")
规范,因为它很不常见。相反,我使用.Resize()
获取与ActiveCell
相邻的单元格。
Dim i As Long
For i = 0 To 2
ActiveCell.Resize(, 4).offset(i, 0).Cut ActiveCell.offset(0, i * 4)
Next i