Excel VBAでシートのデータをテキストファイルに保存する

Open Outputステートメントでテキストファイルを開き、Writeで書き込みます。




Homeに戻る > Excel シートのTipsへ

Excel VBAでシートをテキストファイルに保存するには、シートの入力されている範囲を調べ、Write#ステートメントで一行づつ書き込みます。

シートをテキストファイルに保存する実行順

  1. ファイル保存ダイアログを開き、ファイル名を設定します。
  2. FreeFileでファイル番号を取得します。
  3. CurrentRegion.Rows.Countでシートの入力行を取得します。
  4. 出力モード(Output)でファイルをオープンします。
  5. 一行づつ書き込みます。
  6. ファイルを閉じます。

関連する「Excel VBAでカンマ区切り・タブ区切りのテキストファイルを開く方法」も参照してください。



Excel実行画面

ファイル保存ダイアログで保存するファイルを選択します。

名前を付けて保存ダイアログ

ファイル保存する元データが入力されているシート

都道府県別の人口、面積、人口密度シート

保存したテキストファイルをメモ帳で開いた画面

テキストファイルを開いたメモ帳


Excel VBA実行コード

Option Explicit

Private Sub CommandButton1_Click()
    Dim fno As Integer
    Dim lrow As Long
    Dim i As Long
    Dim sfile As String

    sfile = Application.GetSaveAsFilename(fileFilter:="テキストファイル (*.txt), *.txt")
    If sfile = "False" Then
        Exit Sub
    End If
    
    
    'ファイル番号
    fno = FreeFile
    '入力行
    lrow = Range("D1").CurrentRegion.Rows.Count
    
    '出力モードでファイルオープン
    Open sfile For Output As #fno
    
    '項目名を保存
    Write #fno, Cells(1, 4), Cells(1, 5), Cells(1, 6), Cells(1, 7)
    
    '都道府県別データを保存
    For i = 2 To lrow
        Write #fno, Cells(i, 4), Val(Cells(i, 5)), Val(Cells(i, 6)), Val(Cells(i, 7))
    Next
    
    'ファイルを閉じる
    Close #fno

End Sub



Homeに戻る > Excel シートのTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved