如果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
我得到一个不匹配的错误,当我尝试这个 – user3224462
现在就来试试。我已经更新了。顺便说一下,“场景”是范围对象?你需要获得第六列吗? –
“方案”是使用 – user3224462