我是 VBA 代码新手。我正在尝试创建一个循环,从 6 个不同的工作表中复制单元格 E8:E16 并将它们粘贴到“主”工作表中。这个范围根本没有改变。在将值粘贴到“主”工作表中时,我遇到了麻烦。我希望粘贴的值从 C4:C12 开始和结束,然后是 D4:D12 等。有人可以帮忙吗?这是我目前拥有的代码:
Sub WeekpayLoop()
Dim ws As Worksheet
For Each ws In Worksheets
If ws.Name <> "Praticeruns" Then
ws.Range("E8:E16").Copy
ActiveSheet.Paste Range("C4:C12")
End If
Next ws
End Sub
到目前为止我获得的唯一成功是使用以下代码: 旧VBA代码
但是,当我运行此代码时,格式设置已关闭,因为所有复制的值都列在 A 列中。
如果您只需将每张纸的粘贴目的地移至右侧:
Sub WeekpayLoop()
Dim ws As Worksheet, rngPaste As Range
'start pasting here...
Set rngPaste = ThisWorkbook.Worksheets("Praticeruns").Range("C4")
For Each ws In Worksheets
If ws.Name <> rngPaste.Parent.Name Then
ws.Range("E8:E16").Copy rngPaste
Set rngPaste = rngPaste.Offset(0, 1) 'next column to the right
End If
Next ws
End Sub