使用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