从许多文件types的目录中导入excel中的.csv文件

你好我有一个文件夹中有82个文件在其中的各种types(.cpg,.dpf,.csv等…)

我想要excel进入文件夹,只导入.csv文件,其中应该有24个文件。 由于某种原因,这似乎导入49张,而不是24张,我也觉得有一个每个语句然后一个if语句是马虎,但不知道更好的方式有人可以请build议一个更好的方法来做到这一点? 下面是我使用的代码。

Sub BringInCSV() Dim bookList As Workbook Dim mergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object Dim WS As Worksheet Dim sheetname As String Dim sheetname2() As String Dim Folder As String Application.ScreenUpdating = False Set mergeObj = CreateObject("Scripting.FileSystemObject") Folder = InputBox("Where are the files located?") On Error Resume Next Set dirObj = mergeObj.GetFolder(Folder) Set filesObj = dirObj.Files For Each everyObj In filesObj If Right(everyObj, 4) = ".csv" Then Set bookList = Workbooks.Open(everyObj) Range("A1:CO" & Range("A65536").End(xlUp).Row).Copy ThisWorkbook.Worksheets(1).Activate Set WS = Sheets.Add Range("A65536").End(xlUp).PasteSpecial Application.CutCopyMode = False sheetname = everyObj sheetname2 = Split(sheetname, "rollup_", 2) Sheets(ActiveSheet.Name).Name = Replace(Left(sheetname2(1), Len(sheetname2(1)) - 4), "_", " ") End If On Error Resume Next bookList.Close Next End Sub 

事实certificate,数据来自一个mac,这是一堆隐藏的文件在目录中,所以我改变了if语句来读取

  If Right(everyObj, 4) = ".csv" And Mid(everyObj, Len(Folder) + 2, 2) <> "._" Then