VBA 复制并粘贴增量行号
VBA copy and paste in increment row number
我是 VBA 的新手。
到目前为止,我在 Excel.
中使用 Record Macro 命令制作了这个脚本
Sub Collecting()
'
' Collecting Macro
'
Range("A1:L1").Copy
Windows("Calculations.xlsx").Activate
Range("W44").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("AI44").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Results.xlsb").Activate
Range("M1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'
End Sub
这是可行的,但我需要将 Range("A1:L1") 和 Range("M1") 自动递增到 Range("A2:L2") 和 Range("M2"), Range ("A3:L3") 和 Range("M3"),等等。其他 'ranges' 是静态的。
有什么办法吗?非常感谢。
您需要一个循环 - google 'vba loop' 来查看示例和语法等。一个例子可能是
Dim rownum as long
For rownum = 1 to 30
Range("A" & rownum & ":L" & rownum).copy
'etc
Next
上面的代码将复制列 A:L,从第 1 行递增到第 30 行。如果您的结束行是可变的,请使用在识别结束时停止的 Do While
循环,或者找到开始循环之前的结束行,将其保存在变量中,然后像 For rownum = 1 to endrow
.
一样开始循环
我是 VBA 的新手。
到目前为止,我在 Excel.
中使用 Record Macro 命令制作了这个脚本Sub Collecting()
'
' Collecting Macro
'
Range("A1:L1").Copy
Windows("Calculations.xlsx").Activate
Range("W44").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("AI44").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Results.xlsb").Activate
Range("M1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'
End Sub
这是可行的,但我需要将 Range("A1:L1") 和 Range("M1") 自动递增到 Range("A2:L2") 和 Range("M2"), Range ("A3:L3") 和 Range("M3"),等等。其他 'ranges' 是静态的。
有什么办法吗?非常感谢。
您需要一个循环 - google 'vba loop' 来查看示例和语法等。一个例子可能是
Dim rownum as long
For rownum = 1 to 30
Range("A" & rownum & ":L" & rownum).copy
'etc
Next
上面的代码将复制列 A:L,从第 1 行递增到第 30 行。如果您的结束行是可变的,请使用在识别结束时停止的 Do While
循环,或者找到开始循环之前的结束行,将其保存在变量中,然后像 For rownum = 1 to endrow
.