1

ファイル TestData.xlsx が見つからない場合、msgbox に「ファイルが見つかりません」と表示されるようにします。ありがとう

Sub check()
    Dim i As Long

    '~~> From Row 5 to row 10
    '~~> Chnage as applicable
    For i = 5 To 10
        Sheets("Sheet1").Range("F" & i).Formula = _
        "=VLookup((CONCATENATE(C1,"" "",C" & i & _
        ")),'C:\Documents[TestData.xlsx]Sheet1'!$A$2:$G$28,7, FALSE)"

        Sheets("Sheet1").Range("F" & i).Value = Sheets("Sheet1").Range("F" & i).Value
    Next i
End Sub
4

3 に答える 3

10

forループの前にファイルをチェックしてください。

If Dir$("C:\Documents\TestData.xlsx") = "" Then
    MsgBox "File not found"
    Exit Sub
End If
于 2012-08-17T18:07:08.827 に答える
3

「Microsoft Scripting Runtime」への参照を追加

メニューパス 参照ウィンドウ

その後:

Dim fso As New FileSystemObject

If Not fso.FileExists("C:\Documents\TestData.xlsx") Then MsgBox "File Not Found."
于 2012-08-17T18:16:17.187 に答える
3

これは機能します。

Sub test()

    sPath = "C:\Documents\TestData.xlsx"

     'Test if directory or file exists
    If File_Exists(sPath) Then
        MsgBox sPath & " exists!"
    Else
        MsgBox sPath & " does not exist."
    End If

End Sub

Private Function File_Exists(ByVal sPathName As String,
    Optional Directory As Boolean) As Boolean

    'Returns True if the passed sPathName exist
    'Otherwise returns False
    On Error Resume Next
    If sPathName <> "" Then
        If IsMissing(Directory) Or Directory = False Then
            File_Exists = (Dir$(sPathName) <> "")
        Else
            File_Exists = (Dir$(sPathName, vbDirectory) <> "")
        End If
    End If
End Function

これは、「ファイルが存在する場合の vba テスト」の 2 番目の Google 結果からのものですhttp://vbadud.blogspot.com/2007/04/vba-function-to-check-file-existence.html

于 2012-08-17T18:02:42.903 に答える