Excel VBA – 从相同文件夹中的封闭工作簿导入
我试图从一个封闭的工作簿中的一些数据导入到我的活动工作簿。 这是我迄今为止
Sub Import_Data() Dim rng As Range Dim WB2 As Workbook Dim FName As String Dim ChampSpecific1 As Worksheet Set ChampSpecific1 = Sheets("Summary-Champion Specific") FName = Application.ActiveWorkbook.Path + "\AIMS_Report_w" & Format((WorksheetFunction.WeekNum(Now) - 1), "00") Set WB2 = Workbooks.Open(Filename:=FName) ThisWorkbook.ChampSpecific1.Range("L3:O6").Value = WB2.Worksheets(2).Range("M3:P6").Value WB2.Close End Sub
当我运行macros,我得到错误“方法或数据成员未find”突出显示ThisWorkbook.ChampSpecific1.Range
(ChampSpecific1部分)。 这应该是拉工作表“摘要 – 冠军具体”不应该吗?
最好的祝福
删除ThisWorkbook.
从ThisWorkbook.ChampSpecific1.Range("L3:O6").Value
,它应该工作。 喜欢这个:
ThisWorkbook.ChampSpecific1.Range("L3:O6")
问题出现了,因为您已经在ChampSpecific1
工作表上ChampSpecific1
了一个集合,并且知道他的Parent
。 因此,如果您尝试引用一个新的Parent
,它不喜欢它。
要获得Parent
在错误之前行上写入以下Debug.Print ChampSpecific1.Parent.Name
。
您不需要ThisWorkbook
限定符,因为它已经设置。 试试这个(使用SourceSht
和TargetSht
来防止令人困惑:
Sub Import_Data() Dim SourceSht As Worksheet Dim TargetSht As Worksheet Dim FName As String FName = Application.ActiveWorkbook.Path + "\AIMS_Report_w" & Format((WorksheetFunction.WeekNum(Now) - 1), "00") Set SourceSht = Workbooks.Open(Filename:=FName).Worksheets(2) Set TargetSht = Sheets("Summary-Champion Specific") TargetSht.Range("L3:O6").Value = SourceSht.Range("M3:P6").Value End Sub