vba - 复制并粘贴 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
解决方案
无需深入了解代码本身的细节 - 您想要运行它的所有工作表的标准是否相同?所有这些工作表中的数据布局是什么?
如果是这样,并且如果您当前的代码正在执行您需要为工作表 A 执行的操作,并且我们只需要扩展它以处理工作表 B 到 X,那么您可以摆脱您的 dim/set ws 行,而是更改你的第一行
sub copyPaste(ws as worksheet)
这将允许您使用单独的过程为需要运行的每个工作表调用此过程。以下是使用原始代码中的工作表的示例:
call copyPaste(ThisWorkbook.Sheets("S_Q"))
推荐阅读
- subdomain - Traefik - 对不存在的子域强制返回 404
- python - Pymongo和TTL错误的过期时间
- powershell - 找不到与参数名称“KeySpec”匹配的参数
- sql - 来自微软查询
- excel - 提高循环内 if else 条件的性能
- javascript - 尝试在以编程方式添加的元素上使用 getBoundingClientRect() 返回宽度和高度 0
- spring-batch - 春季批次中的分流如何工作?
- node.js - 如何在没有 CORS 预检的情况下向 Stripe 端点发出 POST 请求
- android - 我如何在这个 Unity 示例游戏(Trash Dash)中放置视频?
- c - 将特定结构传递给 C 中的函数