我正在使用VBA迭代表中的行。 对于每一行代码(我将行称为“方案”) 打开第6列中指定的文件路径, 做某事,并且 关闭第6列中指定的文件路径
我正在尝试执行以下代码;但是,它失败了,因为必须将文件名指定为字符串。我不能这样做,因为我的表格中的每一行的文件名都不同
Workbooks("scenario.Columns(6)", False).Close
使用单元格引用关闭文件的正确语法是什么?
非常感谢!
答案 0 :(得分:1)
1。如果scenario
范围包含一个行,要获取第六列中的值,您需要使用:
Workbooks(scenario.Cells(,6)).Close False
2. 如果scenario
范围包含少数行,要获取第六列中的值,您还需要指定行号(即第二个):
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