[英]how to open a file using IF in VBA
我想寫一個代碼,根據情況打開多個.xlsx文件。 我寫了這個:
Sub Macro()
Dim ColumnNumb As Integer
Dim FileName(14 To 16) As String
Dim i As Integer
ColumnNumb = 2
For i = 14 To 16
FileName(i) = Cells(i, 1).Value
If Workbooks("Book1.xlsm").Worksheets("Input").Cells(14, ColumnNumb) = "Yes" Then
Workbooks.Open FileName:="C:\Excel\" & FileName(i), UpdateLinks:=3
'MsgBox FileName(i)
End If
Next i
End Sub
“ Workbooks.Open ...”行不起作用。 但是,我只使用下一行(MsgBox)而不是“ Workbooks.Open ...”,所以它工作正常。
提前致謝
試試下面的代碼。
打開文件后,您將失去ActiveSheet
,因此行FileName(i) = Cells(i, 1).Value
在第二次將不起作用。
Sub Macro()
Dim ColumnNumb As Integer
Dim FileName(14 To 16) As String
Dim i As Integer
Dim ThisWB As Workbook
Dim Sht As Worksheet
ColumnNumb = 2
Set ThisWB = ThisWorkbook
' I assume from your post your data is in "Input" sheet >> modify to your needs
Set Sht = ThisWB.Sheets("Input")
For i = 14 To 16
FileName(i) = Sht.Cells(i, 1).Value
If Sht.Cells(14, ColumnNumb) = "Yes" Then
Workbooks.Open FileName:="C:\Excel\" & FileName(i), UpdateLinks:=3
'MsgBox FileName(i)
End If
Next i
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.