excel - 如果满足条件,将行从一个工作簿复制到另一个工作簿的最有效方法是什么?
问题描述
如果 workbook1 中的 G 列不为空,则将该整行复制到 workbook2。
现在,我这样做的方式只是“做直到”,里面有一个 If 语句。
我知道这可能远不是破解这个最有效的方法,所以我正在寻求帮助。
解决方案
我们不是为每个单元格查找、复制和粘贴,而是首先取所有符合给定条件的行的并集,然后只复制和粘贴一次。要使用下面的解决方案,请确保两个工作簿都已打开,并将它们的名称放在下面的字符串中,视情况而定:
Sub Macro1()
Dim wb1s as Worksheet, wb2s as Worksheet, rngG As Range, MySel As Range
'Change String as required based on your Workbook Name
'Change Worksheet number as required.
Set wb1s = Workbooks("workbook1.xlsx").Worksheets(1)
Set wb2s = Workbooks("workbook2.xlsx").Worksheets(1)
With wb1s
Set rngG = .Range("G1", .Range("G" & .Rows.Count).End(xlUp))
End With
For Each cell In rngG
If cell.Value <> "" Then
If MySel Is Nothing Then
Set MySel = cell.EntireRow
Else
Set MySel = Union(MySel, cell.EntireRow)
End If
End If
Next cell
If Not MySel Is Nothing Then MySel.Copy Destination:= wb2s.Range("A1")
End Sub
推荐阅读
- opencv - 完全检测形状轮廓的openCV问题
- python - gzip.open().read() 的大小参数
- ibm-mobilefirst - 在 MobileFirst Server 8 上注册应用程序时平台不可见
- botframework - 在 SDK-4.0 中创建表单流
- ruby-on-rails - Rails (5.2.2) AJAX 调用部分不工作
- android - 如何获取json数组
- excel - Excel VBA粘贴从活动单元格到合并单元格的偏移量
- c++ - 在 C-struct 中查找相同的元素
- javascript - react-admin 通过自定义表单刷新 dataGrid
- mongodb - 如何在 MongoDB 中使用 map reduce 求平均值?