簡體   English   中英

Excel VBA宏打開工作表,如果未找到則忽略

[英]Excel VBA Macro open sheets and ignore if not found

我有一個宏代碼一個接一個地打開幾個excel表(我這里只顯示3個):

Sub Macro1()

    Workbooks.Open Filename:=Range("F19").Value, UpdateLinks:=0
    ActiveWindow.Visible = True
    Windows("Data Quality Checks - ITS v2.8.xlsm").Activate

    Workbooks.Open Filename:=Range("F21").Value, UpdateLinks:=0
    ActiveWindow.Visible = True
    Windows("Data Quality Checks - ITS v2.8.xlsm").Activate

    Workbooks.Open Filename:=Range("F23").Value, UpdateLinks:=0
    ActiveWindow.Visible = True
    Windows("Data Quality Checks - ITS v2.8.xlsm").Activate

End Sub

“范圍”顯示具有特定文件路徑的單元格。 目前,如果宏找不到其中一個文件,則會產生錯誤並強制進程停止。 是否可以包含一個額外的行代碼,如果在指定的路徑中找不到該文件,那么該過程會繼續並且不會停止(沒有調試)?

這可能有助於:

Option Explicit

Sub Macro1()

    Dim LastRow As Long, i As Long
    Dim PathName As String, MissingFiles As String

    With ThisWorkbook.Worksheets("Sheet1")

        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row

            For i = 19 To LastRow Step 2 '<- Start from 19 like the example and stop lastrow column A sheet 1. Loop every two.

                PathName = .Range("A" & i).Value

                If Len(Dir(PathName)) = 0 Then '<- Make sure you add the extension of the file.
                    If MissingFiles = "" Then
                        MissingFiles = PathName
                    Else
                        MissingFiles = MissingFiles & vbNewLine & PathName
                    End If
                Else
                    Workbooks.Open Filename:=PathName, UpdateLinks:=0
                    ActiveWindow.Visible = True
'                    Windows("Data Quality Checks - ITS v2.8.xlsm").Activate
                End If

            Next i

            MsgBox "Missing Files are: " & vbNewLine & MissingFiles

    End With

End Sub

表結構:

在此輸入圖像描述

消息框:

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM