Excel

同じフォルダ内にあるすべてのCSVファイルの最終行を取得する

2021-09-03

OpenTextFile メソッドのLineプロパティで最終行を取得する方法です。

最終行取得の例

ファイル保存先:F:\sample

ファイル保存先

最終行を取得するcsvファイル

  • test1.csvの最終行:10
  • test2.csvの最終行:15
  • test3.csvの最終行:20

csvファイル

マクロ実行結果

2行目から書き出します。A列はファイル名、B列は最終行。

書き出し

サンプルコード

Sub sample()
    Dim i As Long
    Dim FSO As Object
    Dim fPath As String: fPath = "F:\sample\"
    Dim cFile As String: cFile = Dir(fPath & "*.csv")
    Set FSO = CreateObject("Scripting.FileSystemObject")
    
     i = 2
     Do While cFile <> ""
        Dim LR As Long: LR = FSO.OpenTextFile(fPath & cFile, 8).Line
        Cells(i, 1) = cFile
        Cells(i, 2) = LR - 1
        cFile = Dir()
        i = i + 1
    Loop    

12行目:「EOF」が最終行なので「-1」します。

Cells(i, 2) = LR - 1

-Excel
-

© 2021 オフィスのQ&A