使用vbaclosures名称在工作簿单元格中指定的文件
我正在使用VBA遍历表中的行。 对于每一行,代码(我将这些行称为“场景”)将打开第6列中指定的文件path,执行某些操作并closures第6列中指定的文件path
我正在尝试执行下面的代码; 但是,由于必须将文件名指定为string,因此它失败。 我不能这样做,因为我的表中的每一行的文件名将是不同的
Workbooks("scenario.Columns(6)", False).Close
使用单元格引用来closures文件的正确语法是什么?
非常感激!
1.如果scenario
范围包含一行,要获得第六列中的值,您需要使用:
Workbooks(scenario.Cells(,6)).Close False
2.如果scenario
范围包含less量行,要获得第六列中的值,则还需要指定行号(即第二个):
Workbooks(scenario.Cells(2,6)).Close False
UPD:
试试这个(从以下评论):
Dim Scenario As Range Dim input_table As Range 'Identifying input table Set input_table = Sheets("Input").[Scenario_input] 'iterate through rows in table For Each Scenario In input_table.Rows If Scenario.Columns(5).Value = "Yes" Then Workbooks.Open Filename:=Scenario.Columns(6).Value 'do something ' 'Close the scenario workbook Workbooks(Scenario.Columns(6).Value).Close False End If Next