需要使用单元格中的文本保存工作簿的VBA代码
我已经search了近,远的答案,这就是我想到的,但我不断收到一个编译错误:所需的对象。 所以这里是我得到的:
Dim strName As String Set wbk = "C:\Users\I53014\Desktop\Import_Creator.xlsm" strName = wbk.Sheet1.Range("B2") ActiveWorkbook.SaveAs strName
我需要采用“Import_Creator.xlsm”sheet1单元格b2中的文本并使用它来保存另一个工作簿作为该名称?
假设wbk是一个Workbook对象,
Set wbk = Workbooks.Open("C:\Users\I53014\Desktop\Import_Creator.xlsm")
目前您正试图将此对象设置为string。
这本书还必须打开(即使是暂时的),因为Workbooks
集合只涉及打开的工作簿。
如果可能的话,在另一个工作簿中有一个指向B2的链接公式,这将使您不必打开和closures它。
添加如果工作簿是开放的,那么你可以使用
Set wbk = Workbooks("Import_Creator.xlsm")
如果本书包含当前正在运行的代码,则:
Set wbk = ThisWorkbook
只是出于兴趣(对于任何人阅读),可以从工作簿获得一个值,而不必打开和closures它:
Range("A1").Formula = "='F:\Documents and Settings\student\My Documents\[AndysData7.xlsx]Staff List'!$D$6" MsgBox Range("A1").Value Range("A1").Clear
甚至可以在不使用单元格input公式的情况下得到该值:
Debug.Print ExecuteExcel4Macro("'F:\Documents and Settings\student\My Documents\[AndysData7.xlsx]Staff List'!R6C4")
(感谢我的一位同事汉斯)