【VBA】在文字檔案搜尋特定字串,再將包含此字串的整列data import至excel工作表

  • 3720
  • 0

vba

excel

Sub 匯入文字檔A()
    Dim i As Integer, ii As Integer, Str As Variant, F As Object
    With Application.FileDialog(msoFileDialogFilePicker)  '[檔案選擇器]
        .AllowMultiSelect = True                '可多重選擇檔案
        .Title = "文字檔 匯入excel"             '[檔案選擇器] 的標題
        .Filters.Clear                          '清除 [檔案選擇器] 對話方塊的檔案篩選
        .Filters.Add "文字檔", "*.txt", 1       '新增 [檔案選擇器] 對話方塊的檔案篩選
                                                '篩選清單中新控制項所在位置的數值  1
        .Filters.Add "*.*", "*.*", 2            '新增 [檔案選擇器] 對話方塊的檔案篩選
                                                '篩選清單中新控制項所在位置的數值 2
        .FilterIndex = 1                        '當檔案對話方塊首次開啟時,預設篩選判定所顯示的檔案類型。
        If .Show = 0 Then Exit Sub              '沒選擇檔案時離開檔案
        For i = 1 To .SelectedItems.Count   '依序在選擇檔案數目的迴圈
            Set F = CreateObject("Scripting.FileSystemObject").OpenTextFile(.SelectedItems(i), 1, -1)
            'F.READALL 讀取檔案的文字, Split(字串, 分隔字串)->傳回一維陣列
            For Each Str In Split(F.READALL, Chr(10))  '傳回一維陣列 的迴圈
                If Str Like "這裡改特定字串" Then
                    Cells(ii + 1, "a") = Str            '整列匯入工作表
                    ii = ii + 1                         '下一列
                End If
            Next
            F.Close                                     '關閉文字檔
        Next
    End With
End Sub 

 

 

創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權,文章歡迎轉載,請註明出處,謝謝~~~