这是我使用excel中的记录宏功能生成的宏。
Range("A11").Select
Selection.Cut
Range("B11").Select
ActiveSheet.Paste
Range("A12").Select
Selection.Cut
Range("D11").Select
ActiveSheet.Paste
Range("A13").Select
Selection.Cut
Range("E11").Select
ActiveSheet.Paste
Range("A14").Select
Selection.Cut
Range("F11").Select
ActiveSheet.Paste
Range("A12:A14").Select
Range("A14").Activate
Selection.Delete Shift:=xlUp
Range("A12").Select
我对Excel或visual basic不太满意。 我想运行此代码大约400行。所以我需要进一步自动化。 所以这是我的计划: 我会用一些破码。我不知道如何用visual basic编写代码,那么有人可以更正代码以使语法正确吗? ' N'是一个变量,我稍后会设置
Range("An").Select
Selection.Cut
Range("Bn").Select
ActiveSheet.Paste
Range("A(n+1)").Select
Selection.Cut
Range("Dn").Select
ActiveSheet.Paste
Range("A(n+2)").Select
Selection.Cut
Range("En").Select
ActiveSheet.Paste
Range("A(n+3)").Select
Selection.Cut
Range("Fn").Select
ActiveSheet.Paste
Range("A(n+1):A(n+3)").Select
Range("A(n+3)").Activate
Selection.Delete Shift:=xlUp
Range("A(n+1)").Select
答案 0 :(得分:1)
关于循环,请考虑一小部分代码:
Range("A11").Select
Selection.Cut
Range("B11").Select
ActiveSheet.Paste
假设我们希望对第12行到第578行重复此操作。我们将使用循环:
Sub Aiman()
Dim n As Long
For n = 11 To 578
Range("A" & n).Select
Selection.Cut
Range("B" & n).Select
ActiveSheet.Paste
Next n
End Sub
For 和 Next 之间的代码块执行n = 11,12,13,.... 578
通过删除选择 s
,可以进一步优化逻辑