Excel VBA

Excel VBA 全シート(指定箇所)をテキストファイルにする

シート名をテキストファイルの名前にして、各シートごとにシートの指定箇所をテキストファイルにする。

指定箇所を1つずつ、シートに書き込んでいっている。

Sub text_export2()
Dim strFilePath As String

'全シート名を取得して、シート名ごとに処理を実行
Dim i As Long
Dim j As Long


For i = 1 To Worksheets.Count
  sheetname = Worksheets(i).Name
  'テキストファイルのパスを作成
  strFilePath = ThisWorkbook.Path & "\" & sheetname & ".txt" 'ファイルパス
  
'シート名.txtで書き込み用ファイルを開く
Open strFilePath For Output As #1

Dim ws As Worksheet
'オブジェクトを代入する変数の場合は、Setを使う。
Set ws = ThisWorkbook.Worksheets(sheetname)
ws.Activate

'2行目からB列(2列目)のセルを1つずつファイルに書き込む
'End(xlUp) は最終行からCtrl+上矢印キーを押した行(つまり値の入っている最終行)
For j = 2 To ws.Cells(Rows.Count, 2).End(xlUp).Row
    Print #1, ws.Cells(j, 2).Value
Next
Close #1

Next

End Sub


-Excel, VBA