Cells
,除非它是由一個工作表的參考資格,將總是指ActiveSheet.Cells
。
同樣,ActiveCell
總是引用ActiveSheet的ActiveCell。
所以要修改這個對其他工作簿,不要限定它喜歡:
Dim foundRange as Range
With Workbooks("Book2.xlsm").Sheets("Sheet1") '#Modify as needed
Set foundRange = .Cells.Find(What:="24643", After:=.Cells(1,1), _
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
End With
If Not foundRange Is Nothing Then foundRange.Activate
您可能需要根據你想要做什麼來改變.Cells(1,1)
到其他單元格位置。
我不認爲有可能使用.Find
方法對已關閉的工作簿文件。
您可以打開該文件,第一:
Dim wbFind as Workbook
Set wbFind = Workbooks.Open("c:\path\to\your\file.xlsx")
,然後使用上面一樣的方法:
Dim foundRange as Range
With wbFind.Sheets("Sheet1") 'Modify as needed
Set foundRange = .Cells.Find(What:="24643", After:=.Cells(1,1), _
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
End With
If Not foundRange Is Nothing Then foundRange.Activate
非常感謝您Mr.David。我實現了並在不同的文件中找到列標題。 –