ファイル読み込みexcelマクロ(VBA)

excelのマクロたまに使うけど,
保存するときにファイル形式が「.xlsx」だと消えるんだよね.マクロ.

そして後で「やべっ!」ってなる.
のでメモしておく.

ちなみに「.xlsm」だと消えない.

ファイルから一行ずつ値を読み込んでexcelに挿入

「フォルダ1」「フォルダ2」「フォルダ3」
があって,そのフォルダの中に「データ.txt」がある.

それをこんな感じにexcelに挿入する.

冗長的な箇所がいくつかあるけど気にしない.

'ファイルから一行ずつ値を読み込んでexcelに挿入'
'url:ファイル名'
'rows:列番号(1だとA列に)'

Sub read(ByVal url As String, ByVal rows As Long)
    Dim buf As String, n As Long
    Open url For Input As #1
        Do Until EOF(1)
            Line Input #1, buf
            n = n + 1
            Cells(n, rows) = buf
        Loop
    Close #1
End Sub

Sub alpha()
    Dim str As String
    Dim folderName As String
    Dim data As String
    Dim I As Integer
    Dim B As Variant
    B = Array("フォルダ1", "フォルダ2", "フォルダ3")

    For I = 0 To 2 Step 1
        folderName = B(I)
        data = "データ.txt"
        str = "C:data" & folderName & data
        Call read(str, I + 1)
    Next I    
End Sub

とりあえずこれで
・コメント文の書き方
・変数宣言
・配列
・for文
・関数定義・呼び出し
・文字列連結
あたりをカバーできる.
VBAはいつも使ってる言語と比べると書き方違うから,超初歩的なこと忘れる...
ヘタすると変数を宣言できないし...

About

プログラムと農業とスノーボードと釣り

Read More