这就是我要做的事情。
我的Excel工作簿InspectionFormTemplate3.4.xlsm作为模板存在,用于复制具有完全不同格式的各种其他工作簿中的数据。该代码适用于复制数据,但我有1500个报告要转换,每次我必须手动进入我的代码并按ctrl + f替换它引用要转换的报告的所有实例。相反,我将数据输入单元格(S50)并尝试用名为oldfilename的变量替换引用的文件名。这就是给我一个错误,这就是我所坚持的。
我已经环顾了好几个小时才能找到能够做我想做的事情,但我根本没有VBA的实际经验。我认为这可能只是一个简单的语法错误。
所以,这是我目前用我当前代码尝试的内容。
Private Sub ConvertButton_Click()
Dim oldfilename As String
oldfilename = Range("S50")
'建筑物名称和日期
Workbooks("InspectionFormTemplate2018.3.4.xlsm").Worksheets("COVER PAGE").Range("C9").Value = Workbooks("ReporttoConvert.xls").Worksheets("Cover Page").Range("B5").Value
显然,“ReporttoConvert”是实际工作簿名称的占位符。它在我手动插入文件名时起作用,但我需要它看起来更像这样:
Workbooks("oldfilename")
以便将其更改为我在单元格S50中输入的文件名。我敢肯定这可能很简单,但我不知道这将被称为或如何做到这一点。
答案 0 :(得分:0)
试试这个,你启用宏的工作簿应该保存在与其他工作簿相同的文件夹中,否则你将不得不改变'ThisWorkbook.path ...
Dim OpenWb As String
OpenWb = ThisWorkbook.Worksheets("COVER PAGE").Range("S50").Value
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & OpenWb
ThisWorkbook.Worksheets("COVER PAGE").Range("C9").Value = Workbooks(OpenWb).Worksheets("Cover Page").Range("B5").Value