Excel VBA CSVデータを分割する

  • デル株式会社

  • VBAでCSVデータを分割するサンプル。
    ざっくりサンプルだから、いつも通り自己責任でね。

     

    Public Function CsvExec(sData As String, _ 'CSVデータ
                            sKugiri As String, _'区切り文字
                            ByRef nArrCount As Long) As Variant '上位処理返却用の分割後のバッファの個数格納用
    
        Dim vRetData As Variant
        Dim lPos As Long
        Dim lLoopCn As Long
        Dim lPosNext As Long
    
        lPos = 1
        lPosNext = 0
        lLoopCn = 0
    
        ReDim vRetData(lLoopCn)
    
        Do
            '区切り検索
            lPosNext = InStr(lPos, sData, sKugiri, vbBinaryCompare)
    
            '文字列に区切り文字はなくなったか?
            If lPosNext = 0 Then
                Exit Do
            End If
    
            vRetData(lLoopCn) = Mid(sData, lPos, lPosNext - lPos)
            'Debug.Print vRetData(lLoopCn)
    
            lPos = lPosNext + 1
            lLoopCn = lLoopCn + 1
    
            ReDim Preserve vRetData(lLoopCn)
    
        Loop
    
        nArrCount = lLoopCn
        CsvExec = vRetData
    
    End Function
    

    んな感じ。

    関連記事

    ページ上部へ戻る