Vba 将CSV导入Excel

Vba 将CSV导入Excel,vba,excel,csv,import,Vba,Excel,Csv,Import,嗨,我正在尝试将csv导入dumpWS。 当我取消文件打开时,此代码可以正常工作,但当我选择csv.file时,则打开。此代码为我提供了运行时错误“13”类型不匹配 它遇到问题的行是如果strFile=False,那么 私有子CSV_导入 Dim addDumpWS As Worksheet Dim dumpWS As Worksheet, strFile As String Set dumpWS = ThisWorkbook.Worksheets("DUMP") ' Clear all d

嗨,我正在尝试将csv导入dumpWS。 当我取消文件打开时,此代码可以正常工作,但当我选择csv.file时,则打开。此代码为我提供了运行时错误“13”类型不匹配

它遇到问题的行是如果strFile=False,那么

私有子CSV_导入

Dim addDumpWS As Worksheet
Dim dumpWS As Worksheet, strFile As String

Set dumpWS = ThisWorkbook.Worksheets("DUMP")

' Clear all data in worksheet(DUMP) before import
dumpWS.Cells.Clear

strFile = Application.GetOpenFilename("CSV Files (*.csv),*.csv", , "Please select text file...")

' Message box when file is not selected
If strFile = False Then
    ThisWorkbook.Worksheets("List").Select
    Range("ImportStatus").Select
    MsgBox "No file selected. Cannot continue import."
    Exit Sub

Else
' Import select csv
    With dumpWS.QueryTables.Add(Connection:="TEXT;" & strFile, Destination:=dumpWS.Range("A1"))
         .TextFileParseType = xlDelimited
         .TextFileCommaDelimiter = True
         .Refresh
    End With

' Copy imported data to WebDBDataBody
dumpWS.Activate
Rows(1).EntireRow.Delete
ActiveSheet.UsedRange.Select
Selection.Copy

Range("WebDBDataBody").PasteSpecial xlPasteValues

' Recorded Imported Date
Range("ImportedDate").Value = Date
End If
结束子节点

我已更改

如果strFile=False,则

到 如果strFile=CstrFalse,则


它工作得很好,因为strFile很可能被声明为字符串,对吗?False是布尔数据,不是字符串。我想你是对的。在我研究的过程中,我发现了两个解决方案。将strFile更改为variant或将False状态更改为CstrFlase。