【发布时间】:2018-03-25 23:14:10
【问题描述】:
我需要帮助修改与不同工作簿中两张工作表之间的部件号(C 列)匹配的宏。然后它将“原始”工作表中 P9:X6500 范围内的信息粘贴到“新”工作表中 P9:X6500 范围内。 C 列范围 C9:C6500 中的第一张表“原始”是匹配的部件号列。 “新”表具有与要匹配的部件号相同的 C 列。我只想匹配并粘贴可见值。
我最初有这个宏代码,它只将可见值从一个工作簿复制粘贴到另一个工作簿,我想修改它以匹配并复制粘贴:
Sub GetDataDemo()
Const FileName As String = "Original.xlsx"
Const SheetName As String = "Original"
FilePath = "C:\Users\me\Desktop\"
Dim wb As Workbook
Dim this As Worksheet
Dim i As Long, ii As Long
Application.ScreenUpdating = False
If IsEmpty(Dir(FilePath & FileName)) Then
MsgBox "The file " & FileName & " was not found", , "File Doesn't Exist"
Else
Set this = ActiveSheet
Set wb = Workbooks.Open(FilePath & FileName)
With wb.Worksheets(SheetName).Range("P9:X500")
On Error Resume Next
.SpecialCells(xlCellTypeVisible).Copy this.Range("P9")
On Error GoTo 0
End With
End If
ThisWorkbook.Worksheets("NEW").Activate
End Sub
这也是我想要的样子:
感谢您的帮助!
【问题讨论】:
-
您只是从一个范围复制到另一张表中的匹配范围吗?
-
如果是这样的话:b.Worksheets(SheetName).Range("P9:X500").Copy this.Range("P9")
-
是的,但我想添加一个匹配(如果-那么我认为?)函数,该函数也省略了隐藏值。
-
直接复制和粘贴 VBA 操作不会复制隐藏的行。