Excel VBA 基礎講座 ファイル操作
2024年11月8日今回のExcelVBA基礎講座では、ファイルを作成し保存をしたり削除するマクロを作成していきます。
複数のファイル作成も、Do Loopで処理を繰り返すことで簡単に作成することが可能です。
今回も動画の解説で学びながら、演習問題にもチャレンジしていきましょう。
ファイル操作 1.フォルダを作成する
フォルダを作成する
●ソース
Sub Sakusei( )
On Error Resume Next
MkDir(“書類”) //書類という名前のフォルダを作成する
On Error GoTo 0 //この記述で、On Error Resume NextからOn Error GoTo 0の間の命令に対しエラーが出ても、エラー表記をしない
End Sub
ファイル操作 2.シートを新しいファイルとして保存する
シートを新しいファイルとして保存する
●ソース
Sub Hozon( )
Sheets(“Sheet2”).Name=”東京支店” //Sheet2の名前を”東京支店”に変更する
Sheets(“東京支店”).Copy //東京支店のsheetをコピーして新しいファイルを作成する
Application.DisplayAlerts=False //同名のファイルが存在する場合アラートを表示せずに上書き保存をする
ActiveWorkbook.SaveAs “東京支店.xlsx” //上記ファイルを保存する
Application.DisplayAlerts=Ture //処理を終えたらアラート設定を戻す
ActiveWorkbook.Close //ファイルを閉じる
End Sub
ファイル操作 3.ファイルの削除
ファイルの削除
●ソース
Sub Sakujo( )
On Error Resume Next
Kill”東京支店.xlsx” //”東京支店”のファイルを削除する
On Error GoTo 0
End Sub
この単元の演習問題
問題1:エクセルを起動し、sheet1に下図のようにデータを入力し、入力後、sheet2を追加し、右図のようにデータを入力します。入力後、マクロ有効ブックとして、ファイル名「名簿」として保存します。
問題2:VBAを起動し、標準モジュールを追加後、以下のようにマクロを記述し、動作を確認します。
Sub nyuryoku( )
namae=Range(“a4”).Value
Worksheets(“Sheet2”).Activate //sheet2を選択する
ActiveSheet.Range(“a3”).Value=namae //セルA3に山田と入力
Worksheets(“Sheet1”).Activate //sheet1を選択する
End Sub
問題3:問題2のマクロに手を加えていき、担当者全員に対して、sheet2のセルA3に担当者を入力した後、そのsheet2の内容をそれぞれの担当者をファイル名として保存するようにマクロを完成させてください。(下図参考)
※名簿リストの担当者を増やした場合にその担当者もファイルとして保存されるようにする
演習問題解説1
演習問題解説2
●ソース
Sub Nyuryoku( )
Sheets(“sheet1”).Activate //sheet1を選択
Range(“a4”).Select
Do While ActiveCell.Value<>””
tanto=ActiveCell.Value
Worksheets(“Sheet2”).Name=tanto //sheet2の名前を変数tantoの内容に変更
Sheets(tanto).Activate
Range(“a3”).Value=tanto //sheet(tanto)のセルA3にtantoの内容を入れる
Sheets(“sheet1”).Activate
Sheets(tanto).Copy //sheet(tanto)をコピーして新しいファイルを作成する
basyo=thiswork.book.Path&”¥お礼¥” //”お礼”フォルダを変数basyoに入れる(thiswork.book.Path=デスクトップ)
ActiveWorkbook.SaveAs basyo & tanto & “.xlsx” //sheet(tanto)を”お礼”フォルダに”tanto”.xlsxのファイル名で保存する
ActiveWorkbook.Close
Sheets(tanto).Name=”Sheet2″
ActiveCell.Offset(1,0).Select
Loop
End Sub