サンプル集  >  Excel VBA  >  ファイルを読み込みシートに表示
ファイルを読み込みシートに表示
2009/11/17

ファイルを読み込み、読み込んだ内容をセルに設定します。

◆環境
OS Windows XP Professional Version 2002 Service Pack 3
Excel 2003 (11.8169.8172) SP3
VBA 6.5

ファイル選択ダイアログを使ってファイルを指定するようにします。

OpenFile.xls
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
'================================================================
' 2009/11/30 (c) ymlib.com EVBA017
' CSVファイルを読み込み内容を表示
'================================================================
Option Explicit
Private Sub CommandButton1_Click()

    ' ===========================================================
    ' ファイル関連
    ' ===========================================================
    Dim FileName As String      ' ファイル名
    Dim FileNo As Integer       ' ファイル番号
    Dim Buf(1 To 5) As Variant  ' 読み込んだレコード
    Dim RecCnt As Long          ' レコード件数カウンタ

    ' ===========================================================
    ' セル関連
    ' ===========================================================
    Dim y As Long               ' セルの行番号

    ' ファイルを選択
    FileName = Application.GetOpenFilename("CSV ファイル,*.csv")
    If FileName = "False" Then
        MsgBox "csv ファイルを指定して下さい。"
        Exit Sub
    End If

    FileNo = FreeFile
    Open FileName For Input As #FileNo


    ' ファイルを読み込み、内容をセルにセット
    RecCnt = 0
    y = 5          ' セルは5行目から
    Do Until EOF(FileNo)

        RecCnt = RecCnt + 1

        Application.StatusBar = "読み込み中です....(" & _
                                RecCnt & "レコード目)"

        ' ファイルを読み込み
        Input #FileNo, Buf(1), Buf(2), Buf(3), Buf(4), Buf(5)

        ' セルにセット
        Range(Cells(y, 1), Cells(y, 5)).Value = Buf
        y = y + 1
    Loop

    Close #FileNo

    Application.StatusBar = False

    MsgBox "ファイル読み込みが完了しました。" & vbCr & _
           "レコード件数=" & RecCnt & "件" _
         , vbInformation _
         , "テキストファイル読み込み処理"

End Sub

Excel ブックにボタンを貼り付けます。

ボタンを押すと「ファイルを開く」ダイアログが開きます。

csvファイルを指定して「開く」を押します。 今回は以下のファイルを読み込ませてみます。

test.csv
1: 
2: 
3: 
4: 
"00001","山田太郎","20091101","90","100"
"00001","山田太郎","20091102","92","100"
"00001","山田太郎","20091104","88","100"
"00003","鈴木花子","20091103","95","100"

メッセージと読み込み件数が表示され、シートに読み込んだデータが書き込まれます。

ファイルの内容がシートに表示されました。

▲ PageTop  ■ Home


Copyright (C) 2012 ymlib.com