メニュー

Home >Microsoft Office Excel>マクロ/VBA> 選択した複数のファイルに同じ処理をするVBA例

【Microsoft Office Excel】【マクロ/VBA】選択した複数のファイルに同じ処理をするVBA例

2015/06/23 15:29|タグ:GetOpenFilenameメソッド繰り返し処理For EachステートメントSaveメソッドCloseメソッドOpenメソッドグッジョブ表示 30

ファイルを開くダイアログを表示し、選択した複数のファイルに同じ作業を行うときのコードサンプルです。

例として、複数のCSVファイルに

  1. 開く
  2. A1セルの値を変更する
  3. 上書き保存する
  4. 閉じる

を繰り返して行うものとします。

Sub Open_File_Edit()
'====================================================================================
' 複数のCSVファイルを選択し、同じ作業を繰り返すマクロ
'====================================================================================
'//ファイルを開くダイアログを開く
    selectFileName = _
        Application.GetOpenFilename( _
            FileFilter:="CSVファイル(*.csv),*.csv", _
            FilterIndex:=1, _
            Title:="読み込むファイルを選択してください。", _
            MultiSelect:=True _
        )
'//選択したファイルに対する処理
    If IsArray(selectFileName) Then
        '//全てのファイルで繰り返し処理を行う
            For Each oneFileName In selectFileName
                '//選択されたファイルを開く
                    Workbooks.Open oneFileName
                '//変数を定義
                    Dim nameCSV As String
                    Dim newCSV As Workbook
                    Dim sh1st As Worksheet
                    nameCSV = Dir(oneFileName)      'ファイル名を取得
                    Set newCSV = Workbooks(nameCSV) 'ワークブックとして定義
                    Set sh1st = newCSV.Worksheets(1) '1枚目のワークシートを定義
                '//値を変更する
                    sh1st.Range("A1").Value = "セルの値変更テスト"
                '//ワークブックを保存する
                    On Error Resume Next
                    newCSV.Save
                '//ワークブックを閉じて次へ
                    Application.DisplayAlerts = False
                    newCSV.Close
                    Application.DisplayAlerts = True
            Next
    Else
        MsgBox ("ファイルを選択しないで終了")
    End If

End Sub

 

ページ移動

関連エントリー

コメント

  • コメントはまだありません。

コメント登録

登録フォーム
名前
メールアドレス
URL
コメント
投稿キー(スパム対策に、投稿キー を半角で入力してください。)

ユーティリティ

新着コメント

Twitter

サイト内検索

ページ上部へ