在工作簿之间查找和复制一系列数据



我已经处理这段代码一段时间了,感谢任何帮助!

我希望能够在打开的 excel 工作表上放置一个已知的字符串"B7""B6"中的文件位置。使用这些输入,我想打开另一个文件,查找"B7"值(数据表的标题(,复制该列中的所有数据,然后返回到工作簿 1 进行粘贴。

我认为我的查找功能正在工作,但宏返回打开工作簿 2 时已选择的任何单元格下方的任何列。

Sub FindB7()
Dim Look As Range
Dim Sh As Worksheet
Columns("H:H").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("H1") = Range("B6")
Goal = Range("B7").Value
Range("B6").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
For Each Sh In ThisWorkbook.Worksheets
With Sh.UsedRange
Set Look = .Cells.Find(What:=Goal)
If Not Look Is Nothing Then
adrs = Range(Look.Address).Select
Data = Range(adrs, Selection.End(xlDown))
ActiveWindow.Close
Else
Data = "Not Found"
End If
End With
Next
'paste data in original WkBk
Range("H2").Value = Look
Range("H3:H1000").Value = Data
'now remove all "extra" data
Cells.Replace What:="#N/A", Replacement:=" ", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub

我的名声是低评论,但我能够给出答案,我确实有一个想法。您正在遍历所有工作表,但是对于第一个范围声明,没有给出工作表,因此例如将列("H:H"(更改为工作表("Sheet1"(。列("H:H"(可能会阻止引用错误工作表上的列 H。

最新更新