我有两个工作簿,“Test”和“Screen_Reference_Data_Sheet”。我正在尝试通过使用带有来自“Screen_Reference_Data_Sheet”工作簿的数据的命名范围在“测试”中创建一个下拉列表。
下面是我正在使用的代码,它在“.Add Type:...”行中抛出错误 Run Time Error 1004。
当仅使用一个工作簿中的数据时,我能够完成此操作,但是当我从另一个工作簿中提取数据时,我会收到此错误。
Sub GetScreenNames()
Path = Application.ActiveWorkbook.Path
RefFilePath = Path & "\Screen_Reference_Data_Sheet.xls"
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open(RefFilePath)
Dim rng1 As Range
Set rng1 = objWorkbook.Sheets("Keywords_Action_Screen").Range("B2:B4")
ThisWorkbook.Names.Add Name:="screenslistdata", RefersTo:=rng1
With ThisWorkbook.Sheets("Sheet1").Range("A1:A3").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=screenslistdata"
End With
objExcel.ActiveWorkbook.Close
objExcel.Application.Quit
End Sub
关于我在这里做错了什么的任何想法?