Excel vba中用于分配值的对象必需错误
在第4行,我得到一个错误,说“需要对象”。当我像这样编码时Excel vba中用于分配值的对象必需错误,excel,vba,Excel,Vba,在第4行,我得到一个错误,说“需要对象”。当我像这样编码时 Sub NewNightLetter() Dim NewFile As String WorkBookPath = Application.ActiveWorkbook.Path ProgramSelected = DataPuller.Home.Range("F4").Value Set mySource = MyObject.GetFolder(WorkBookPath & "\" & ProgramSelected
Sub NewNightLetter()
Dim NewFile As String
WorkBookPath = Application.ActiveWorkbook.Path
ProgramSelected = DataPuller.Home.Range("F4").Value
Set mySource = MyObject.GetFolder(WorkBookPath & "\" & ProgramSelected)
NewFile = ProgramSelected & "_PT Metrics_" & Format(Date, YYYYMMDD) & "xlsm"
ActiveWorkbook.SaveAs (mySource & " \ " & NewFile)
End Sub
出现“下标超出范围”错误…您能帮忙吗?按名称引用工作簿或工作表时,请用双引号将其括起来
ProgramSelected=workbook(“datapuller”).Sheets(“Home”).Range(“F4”).Value
假设datapuller
和Home
为字符串,其中datapuller
指工作簿名称,Home
指工作表名称。下面的语法将起作用
ProgramSelected=Workbooks(datapuller).Sheets(Home).Range("F4").Value
试试这个:
替换这部分代码
Dim datapuller As String
datapuller = "Book2"
Dim Home As String
Home = "sheet1"
ProgramSelected = Workbooks(datapuller).Sheets(Home).Range("F4").Value
为此:
ProgramSelected = DataPuller.Home.Range("F4").Value
或者这是为了提高灵活性
ProgramSelected = Workbooks("DataPuller").Sheets("Home").Range("F4").Value
还请注意,DataPuller工作簿应处于打开状态。否则,您将得到
下标超出范围的错误
Dim ws as Worksheet
Set ws = Workbooks("DataPuller").Sheets("Home")
ProgramSelected = ws.Range("F4").Value