希望有人可以帮助我尝试引用工作表代码而不是工作表名称,因为工作表名称会根据我引用的工作簿而更改。
我目前使用的代码就是这个
'Control Card 3 extracting from a closed workbook in to my active sheet`
Range("C1196:C1219").Formula = "='[ASE Template White Book.xlsx]Cntrl 3'!$C6"
Range("D1196:D1219").Formula = "='[ASE Template White Book.xlsx]Cntrl 3'!$D6"
Range("C1220:C1243").Formula = "='[ASE Template White Book.xlsx]Cntrl 3'!$C38"
Range("D1220:D1243").Formula = "='[ASE Template White Book.xlsx]Cntrl 3'!$D38"
这很好但我正在尝试使用
'Control Card 3
Range("C1196:C1219").Formula = "='[ASE Template White Book.xlsx]Sheet (30)'!$C6"
或
Range("D1196:D1219").Formula = "='[ASE Template White Book.xlsx]Sheet 30'!$D6"
或
Range("C1220:C1243").Formula = "='[ASE Template White Book.xlsx].Sheet30'!$C38"
我正在尝试将单元格的值提取到我正在处理的工作表中,但正如所提到的,工作表名称将根据已关闭的工作簿而更改,因为原始文档保存为ASE模板白色book.xlsx所以我有代码的常量参考文档。
任何得到帮助的帮助
答案 0 :(得分:0)
您需要参考工作表的索引来获取其名称,并将其用作公式中的变量,如下所示:
Range("C1196:C1219").Formula = "='[ASE Template White Book.xlsx]" & Worksheets(30).Name & "'!$C6"
答案 1 :(得分:0)
基于此网站http://www.ozgrid.com/VBA/excel-vba-sheet-names.htm
"只有在您引用时才能使用工作表CodeName 与工作簿不同的工作表中的工作表 驻留"
因此,如果您尝试获取已关闭工作簿的sheet codename
,则无效。您只能使用包含正在运行的宏的工作簿的sheet codename
。您可以引用工作表的唯一方法是通过执行@braX在其示例中显示的内容,方法是获取工作表索引并通过索引引用工作表。