使用 VBA 创建循环以从不同工作表中提取数据?

问题描述 投票:0回答:1

我是 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 列中。

excel vba loops
1个回答
0
投票

如果您只需将每张纸的粘贴目的地移至右侧:

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
© www.soinside.com 2019 - 2024. All rights reserved.