首页 > 解决方案 > 复制并粘贴 VBA 代码 - 我想跨多个工作表使用

问题描述

我对 VBA 很陌生。我有一些代码可以将一张表中满足特定标准的数据复制到另一张主表中。我有多个其他工作表要从中复制到主控表中。我该如何修改我的代码来做到这一点?

提前致谢。

Sub copyPaste()
    Dim ws As Worksheet
    Dim wt As Worksheet
    Set ws = Sheets("S_Q")
    Set wt = Sheets("master")
    Dim i As Integer
    Dim lr As Integer
    lr = ws.Range("y" & Rows.Count).End(xlUp).Row
    Dim lt As Long

    For i = 1 To lr
    lt = wt.Range("y" & Rows.Count).End(xlUp).Row
        If ws.Range("bz" & i) > 14 Then
        ws.Range("y" & i).EntireRow.Copy wt.Range("a" & lt + 1)
        End If
    Next i
End Sub

标签: vbacopypaste

解决方案


无需深入了解代码本身的细节 - 您想要运行它的所有工作表的标准是否相同?所有这些工作表中的数据布局是什么?

如果是这样,并且如果您当前的代码正在执行您需要为工作表 A 执行的操作,并且我们只需要扩展它以处理工作表 B 到 X,那么您可以摆脱您的 dim/set ws 行,而是更改你的第一行

sub copyPaste(ws as worksheet)

这将允许您使用单独的过程为需要运行的每个工作表调用此过程。以下是使用原始代码中的工作表的示例:

call copyPaste(ThisWorkbook.Sheets("S_Q"))

推荐阅读