【VBA】SaveAsを活用した時短テクニック!「名前を付けて保存」処理の実践術3選
また同じファイル名で保存してしまった。。。手動でファイル名を変更するのがめんどくさい。。。
こんな問題は、VBAでSaveAsメソッドを使えば一発で解決できます。
この記事では、
ファイル名の重複エラーを防ぐ日付自動付与テクニック、フォルダ指定による効率的なファイル管理、さらに警告メッセージを制御した完全自動化まで、
実際の業務で即使える3つの実践術をご紹介しています。
SaveAsメソッドで毎日のルーティーン作業を効率化しちゃいましょう。
【VBA】SaveAsメソッドの基本構文と使い方
VBA SaveAsメソッドは、Excelファイルを新しい名前で保存する最も重要な機能の一つです。
同じファイルを違う名前で保存する作業を手作業で行うと、時間がかかりミスが発生しやすいというデメリットがあります。
SaveAsメソッドを使えば、名前を付けて保存する作業を自動化し大幅な時短が可能です。
SaveAsメソッドの基本書式と引数の説明
SaveAsメソッドの基本書式はこちら
ファイル名を指定するFilename引数のあとに保存先のパスと新しいファイル名
を入力するだけ。
ファイル名を指定する引数の他に、
ファイル形式を指定するFileFormat、パスワードを設定するPassword、読み取り専用推奨のReadOnlyRecommended、など
があります。
基本的なSaveAsを使ったサンプルコードがこちら
ActiveWorkbook.SaveAs Filename:="C:\temp\新しいファイル.xlsx"
'複数引数を使ったサンプルコードがこちら
ActiveWorkbook.SaveAs Filename:="C:\temp\ファイル.xlsx", _
FileFormat:=xlOpenXMLWorkbook, _
ReadOnlyRecommended:=False
SaveAsメソッドの基本書式をしっかりおさえておきましょう。
基本的な名前を付けて保存のサンプルコード
最もよく使われるSaveAsコードは、
現在のワークブックを指定した場所に新しい名前で保存すること
です。
このコードを実行すると、元のファイルはそのまま残り新しい名前のコピーが作成されます。
フルパスを指定することで確実に目的の場所に保存でき、ファイル拡張子を明示的に指定することで意図しない形式での保存を防ぐことも可能です。
このような基本的な処理を自動化することで、毎日の定型作業から解放されます。
SaveAsメソッドを使ったサンプルコードがこちら
Sub 基本的な名前を付けて保存()
Dim filePath As String
Dim fileName As String
' 保存先とファイル名を指定
filePath = "C:\Documents\"
fileName = "月次レポート_保存版.xlsx"
' 現在のワークブックを新しい名前で保存
ActiveWorkbook.SaveAs Filename:=filePath & fileName
MsgBox "ファイルを保存しました:" & filePath & fileName
End Sub
上記のコードは、
ドキュメントフォルダに「月次レポート_保存版.xlsx」という名前のエクセルファイルを名前を付けて保存する
という内容です。
「保存場所」「ファイル名」を明確に宣言することで確実にファイルを保存することができます。
ファイル形式を指定する方法(xlsm、csv、pdf対応)
SaveAsメソッドでは、FileFormat引数を使って様々なファイル形式を指定できます。
Excel業務では、マクロ有効ブック(xlsm)、CSV形式、PDF形式など、ファイル形式が変換されることがあります。
xlsm形式:「xlOpenXMLWorkbookMacroEnabled」
CSV形式:「xlCSV」
PDF形式:「xlTypePDF」
用途に応じた最適なファイル形式での出力が可能です。
たとえば、
データ分析用にはCSV、配布用にはPDF、開発用にはxlsm形式といった使い分け
ができます。
形式変換をするサンプルコードがこちら
Sub ファイル形式を指定して保存()
Dim basePath As String
basePath = "C:\Output\"
' xlsm形式で保存(マクロ有効)
ActiveWorkbook.SaveAs Filename:=basePath & "マクロ版.xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled
' CSV形式で保存
ActiveWorkbook.SaveAs Filename:=basePath & "データ.csv", _
FileFormat:=xlCSV
' PDF形式で保存
ActiveWorkbook.SaveAs Filename:=basePath & "レポート.pdf", _
FileFormat:=xlTypePDF
End Sub
上記のコードは、
「Output」フォルダに、ファイル名「マクロ版.xlsm」、ファイル名「データ.csv」、ファイル名「レポート.pdf」、で保存する
という内容です。
ファイル形式を簡単に変更することができます。
関連記事「ExportAsFixedFormatでPDF出力する方法」では、「PDF形式で保存する」ではなく「PDFで出力する」方法が紹介されています。
PDF形式でデータを保存することが多い方は、どちらの方法でも扱えるようにしておきましょう。
実践術1:日付・時刻を自動付与してファイル名重複を防ぐ方法
ファイル名の重複は、業務効率を大きく低下させる原因の一つです。
毎日同じようなレポートを作成する場合、
手動でファイル名を変更していると同じ名前のファイルが既に存在してエラーが発生すること
ってありますよね。
この問題はSaveAsメソッドとFormat関数の組み合わせで解決できます。
ファイル保存時、ファイル名に現在の日時を組み込むことでファイル名の重複を完全に防ぎぐことが可能です。
日付フォーマットを使った動的ファイル名生成
日付を使った動的ファイル名生成は、定期的なレポート作成に最適な方法です。
Format関数を使って、
現在の日付を「YYYY-MM-DD」や「YYYYMMDD」といった形式でファイル名に組み込むこと
でファイル名の重複を防ぐことができます。
「売上レポート_2024-07-03.xlsx」のような分かりやすいファイル名にすることで、ファイル名の可読性をアップすることが可能。
また、
曜日や担当者氏名をファイル名に追加することで、より詳細な情報をファイル名に含めることも可能です。
SaveAsメソッドとFormat関数の組み合わせVBAのサンプルコードがこちら
Sub 日付付きファイル名で保存()
Dim currentDate As String
Dim fileName As String
' 現在の日付を取得(YYYY-MM-DD形式)
currentDate = Format(Date, "yyyy-mm-dd")
' ファイル名を動的に生成
fileName = "売上レポート_" & currentDate & ".xlsx"
' 保存実行
ActiveWorkbook.SaveAs Filename:="C:\Reports\" & fileName
MsgBox "保存完了:" & fileName
End Sub
上記のコードは
ファイル名を「打ち上げレポート+年月日.xlsx」にして、Reportsフォルダに名前を付けて保存する
という内容です。
関連記事「Format関数の使い方」では、Format関数の基本的な使い方や応用例が紹介されています。
時刻も含めたより詳細なファイル名設定
一日に複数回同じ処理を実行する場合、日付だけでは不十分です。時刻情報も含めることで、より細かい管理が可能になります。
Format関数で「YYYY-MM-DD_HH-MM-SS」形式を使用すると、
秒単位まで区別できるファイル名の作成
が可能です。
この方法は、データの更新頻度が高い場合や、バックアップファイルの作成時に有効で、トラブル発生時の原因特定やデータの変更履歴追跡にも役立ちます。
時刻まで含めたファイル名にするVBAのサンプルコードがこちら
Sub 日時付きファイル名で保存()
Dim currentDateTime As String
Dim fileName As String
' 現在の日時を取得(YYYY-MM-DD_HH-MM-SS形式)
currentDateTime = Format(Now, "yyyy-mm-dd_hh-mm-ss")
' 時刻も含めたファイル名生成
fileName = "在庫管理_" & currentDateTime & ".xlsx"
' 保存実行
ActiveWorkbook.SaveAs Filename:="C:\Backup\" & fileName
MsgBox "バックアップ完了:" & fileName
End Sub
上記のコードは
ファイル名を「在庫管理+年月日時分秒.xlsx」にして、Backupフォルダに名前を付けて保存する
という内容です。
ファイル名重複エラーを回避するコード例
ファイル名重複エラーの完全な回避には、事前チェック機能を組み込むことが重要です。
Dir関数を使用すれば、
保存予定のファイルが既に存在するかを確認し存在する場合は連番を付けて保存する
なんて処理ができます。
既存ファイルの上書きを防ぎながら、確実に新しいファイルとして保存可能。
エラーハンドリングを組み合わせることで、予期しないエラーによるマクロの停止も防ぎ、安全で確実なファイル保存が実現できます。
ファイルが既に存在するかを確認するVBAのサンプルコードがこちら
Sub 重複回避ファイル名で保存()
Dim basePath As String
Dim baseFileName As String
Dim extension As String
Dim fileName As String
Dim counter As Integer
basePath = "C:\Output\"
baseFileName = "レポート"
extension = ".xlsx"
counter = 1
' 重複しないファイル名を生成
Do
fileName = baseFileName & "_" & Format(counter, "000") & extension
counter = counter + 1
Loop While Dir(basePath & fileName) <> ""
' 重複しないファイル名で保存
ActiveWorkbook.SaveAs Filename:=basePath & fileName
MsgBox "保存完了:" & fileName
End Sub
上記のコードは
指定したフォルダ内に「レポート_000.xlsx」ファイルが存在するかを確認し、存在した場合連番を増やして保存する
という内容です。
実行結果がこちら
実行する度に連番が異なる新しいファイルを保存することができます。
ファイルごとに編集履歴を残したい!ときに効果的です。
関連記事「Dir関数の使い方」では、ファイル検索やフォルダ操作を自動化する方法が紹介されています。
実践術2:フォルダ指定とファイル形式変換で効率化
業務効率化において、保存先フォルダの自動指定とファイル形式の一括変換は非常に重要な要素です。
手動でフォルダを選択してファイル形式を変更する作業は、時間がかかるだけでなく、ヒューマンエラーの原因にもなります。
VBAを使用することで、これらの作業を完全に自動化できます。
特に、日次・週次・月次などの定期的なレポート作成では、決まったフォルダ構造とファイル形式での保存が求められます。
動的なフォルダ指定機能により、年月日に応じたフォルダ分けや、部署別・プロジェクト別のファイル管理が自動化が可能です。
保存先フォルダを動的に指定する方法
保存先フォルダの動的指定は、組織的なファイル管理の基本となります。
日付や部署名、プロジェクト名などを組み合わせて、フォルダパスを自動生成しましょう。
MkDir関数を使用することで、存在しないフォルダを自動作成する機能の実装が可能です。
たとえば、
「C:\Reports\2024\07\」のような年月別フォルダ構造を自動生成し、そこにファイルを保存する
なんて処理ができます。
MkDir関数を使ったサンプルコードはこちら
Sub 動的フォルダ指定で保存()
Dim baseFolder As String
Dim yearMonth As String
Dim fullPath As String
Dim fileName As String
' ベースフォルダとファイル名設定
baseFolder = "C:\Users\takub\OneDrive\デスクトップ\"
yearMonth = Format(Date, "yyyy-mm")
fileName = "月次レポート_" & Format(Date, "yyyy-mm-dd") & ".xlsx"
' フォルダパス生成
fullPath = baseFolder & yearMonth
' フォルダが存在しない場合は作成
If Dir(fullPath, vbDirectory) = "" Then
MkDir fullPath
End If
' ファイル保存
ActiveWorkbook.SaveAs fileName:=fullPath & "\" & fileName
MsgBox "保存完了:" & fullPath & fileName
End Sub
上記のコードは
指定する場所に「年月」フォルダを作成し、作成したフォルダの中に「月次レポート_年月日」ファイルを作成する
という内容です。
実行結果がこちら
フォルダを作成 → エクセルファイルの作成
を自動化できます。
FileFormatを活用したファイル形式一括変換
FileFormatパラメータを活用することで、一つのワークブックから複数のファイル形式を一度に生成できます。
エクセル業務では、同じデータをExcel形式、CSV形式、PDF形式で配布する場面が多くありますよね。
この処理を自動化することで、手動変換の手間を大幅に削減できます。
Excel形式は編集用、CSV形式はデータ分析用、PDF形式は配布用といった具合に、用途に応じた最適な形式を選択しましょう。
一括変換により、形式変換のミスや漏れを防ぎ、確実に全形式のファイルを生成できます。
複数のファイル形式を一括変換するVBAのサンプルコードはこちら
Sub 複数形式一括変換()
Dim basePath As String
Dim baseFileName As String
Dim currentDate As String
basePath = "C:\Users\takub\OneDrive\デスクトップ\"
baseFileName = "売上データ"
currentDate = Format(Date, "yyyy-mm-dd")
' Excel形式で保存
ActiveWorkbook.SaveAs fileName:=basePath & baseFileName & "_" & currentDate & ".xlsx", _
FileFormat:=xlOpenXMLWorkbook
' CSV形式で保存
ActiveWorkbook.SaveAs fileName:=basePath & baseFileName & "_" & currentDate & ".csv", _
FileFormat:=xlCSV
' PDF形式で保存
ActiveWorkbook.SaveAs fileName:=basePath & baseFileName & "_" & currentDate & ".txt", _
FileFormat:=xlText
MsgBox "3つの形式で保存完了しました"
End Sub
上記のコードは
指定するフォルダ内に、「.xlsx」ファイル、「.csv」ファイル、「.txt」ファイルの3種類を一括で作成する
という内容です。
実行結果がこちら
業務内容に合った形式のファイルを自動生成しましょう。
複数ファイルの一括保存処理の実装
複数のワークブックを一度に処理する場合、For Each文を使った一括保存処理が効果的です。
開いているすべてのワークブックを順番に処理し、それぞれに適切なファイル名を付けて保存できます。
たとえば、
各支店のデータファイルを一括で月次フォルダに保存する、複数のシートを個別のファイルとして分割保存する
なんて処理が可能です。
複数ファイルを一括保存するVBAのサンプルコードはこちら
Sub 複数ファイル一括保存()
Dim wb As Workbook
Dim savePath As String
Dim saveCount As Integer
Dim currentDate As String
savePath = "C:\Users\takub\OneDrive\デスクトップ\"
currentDate = Format(Date, "yyyy-mm-dd")
saveCount = 0
' 開いているすべてのワークブックを処理
For Each wb In Workbooks
' ThisWorkbook(このマクロが含まれるファイル)以外を処理
If wb.Name <> ThisWorkbook.Name Then
' ファイル名生成
Dim newFileName As String
newFileName = Replace(wb.Name, ".xlsx", "") & "_" & currentDate & ".xlsx"
' 保存実行
wb.SaveAs Filename:=savePath & newFileName
saveCount = saveCount + 1
End If
Next wb
MsgBox saveCount & "個のファイルを一括保存しました"
End Sub
上記のコードは
開いている全てのブックを指定するフォルダ内に、「ファイル名_年月日」で保存する
という内容です。
実行結果がこちら
実践術3:警告メッセージ制御で完全自動化を実現
VBAによる自動化において、警告メッセージの制御は完全自動化を実現するための重要な要素です。
通常のExcel操作では、ファイルの上書きや形式変換の際に確認ダイアログが表示されますが、これらは自動処理の妨げとなります。
Application.DisplayAlertsプロパティを使用することで、これらの警告を一時的に無効にし、スムーズな処理の実現が可能です。
ただし、
警告の無効化は慎重に行う必要があり、
適切なエラーハンドリングと組み合わせなければ安全で確実な自動化システムの構築
はできません。
Application.DisplayAlertsでメッセージ非表示設定
Application.DisplayAlertsをFalseに設定することで、Excel操作中の警告メッセージを非表示にできます。
これにより、「ファイルが既に存在します」「この形式で保存しますか?」といった確認ダイアログが表示されなくなります。
特に、大量のファイルを処理する場合や、無人実行が必要な場合には必須の機能です。
重要なポイントは、
処理完了後にDisplayAlertsをTrueに戻すこと
です。
On Error文と組み合わせることで、エラーが発生した場合でも確実に警告表示を復元できます。
Application.DisplayAlertsを使ったVBAのサンプルコードはこちら
Sub 警告メッセージ非表示で保存()
Dim originalDisplayAlerts As Boolean
' 現在の設定を保存
originalDisplayAlerts = Application.DisplayAlerts
' エラーハンドリング設定
On Error GoTo ErrorHandler
' 警告メッセージを非表示に設定
Application.DisplayAlerts = False
' ファイル保存処理
ActiveWorkbook.SaveAs Filename:="C:\Auto\自動保存ファイル.xlsx"
' 警告メッセージ設定を復元
Application.DisplayAlerts = originalDisplayAlerts
MsgBox "警告なしで保存完了しました"
Exit Sub
ErrorHandler:
' エラー発生時も警告設定を復元
Application.DisplayAlerts = originalDisplayAlerts
MsgBox "エラーが発生しました:" & Err.Description
End Sub
上記のコードは
11行目のコードで警告メッセージの表示をOFF。14行目のコードで保存処理を実行。17行目のコードで警告メッセージの表示をONに戻す。エラーが発生した場合は24、25行目のコードでエラー内容を表示する
という内容です。
エラーや警告メッセージ、「上書き保存しますか?」のようなメッセージのせいで、VBAの処理が途中で止まってしまう問題を完全に防止することができます。
既存ファイルの強制上書き保存方法
既存ファイルの強制上書き保存は、定期的なバックアップやレポート更新に欠かせない機能です。
通常、同名ファイルが存在する場合は上書き確認ダイアログが表示されますが、DisplayAlertsをFalseにすることで、自動的に上書き保存が実行されます。
この機能により、毎日同じ時間に実行される定期処理や、最新データでの定期更新が完全自動化できます。
さらに、Kill文を使用した明示的なファイル削除と組み合わせることでより確実な上書き処理が可能です。
Kill文を使った上書きして保存するVBAのサンプルコードはこちら
Sub 既存ファイル強制上書き保存()
Dim targetPath As String
Dim backupPath As String
targetPath = "C:\Reports\月次レポート.xlsx"
backupPath = "C:\Backup\月次レポート_" & Format(Now, "yyyy-mm-dd_hh-mm-ss") & ".xlsx"
' 既存ファイルが存在する場合はバックアップ
If Dir(targetPath) <> "" Then
' バックアップ作成
FileCopy targetPath, backupPath
' 既存ファイルを削除
Kill targetPath
End If
' 警告メッセージ無効化
Application.DisplayAlerts = False
' 新しいファイルを保存
ActiveWorkbook.SaveAs Filename:=targetPath
' 設定復元
Application.DisplayAlerts = True
MsgBox "強制上書き保存完了" & vbCrLf & "バックアップ:" & backupPath
End Sub
9行目から15行目のコードは、既存ファイルが存在するバックアップ用のファイルを作成
18行目から24行目のコードは、確認メッセージの表示をOFFにしてファイルを保存、確認メッセージの表示をONに戻す
という内容です。
バックアップ用のファイルを作成したときのみKill分で既存ファイルを削除する
のでファイルが完全に削除されてしまう恐れはありません。
エラーハンドリングで安全な保存処理を構築
エラーのせいでVBA処理が途中で止まってしまう。。。
こんな問題を防ぐにはOn Error GoTo文の使用が効果的です。
DisplayAlertsの設定復元、一時ファイルの削除、リソースの解放などは、エラーや確認メッセージの発生時でも確実に処理が実行される必要があります。
Resume文を使用することで、エラー発生箇所をスキップして処理を継続することが可能。
さらに、ログ出力機能を組み合わせることでエラーの詳細な記録と後からの分析が可能になります。
On Error GoTo文を使ったエラーハンドリングVBAのサンプルコードはこちら
Sub 安全な保存処理()
Dim originalDisplayAlerts As Boolean
Dim targetPath As String
Dim tempPath As String
' 初期設定
originalDisplayAlerts = Application.DisplayAlerts
targetPath = "C:\Reports\安全保存テスト.xlsx"
tempPath = "C:\Temp\temp_" & Format(Now, "yyyymmdd_hhmmss") & ".xlsx"
' エラーハンドリング設定
On Error GoTo ErrorHandler
' 警告メッセージ無効化
Application.DisplayAlerts = False
' 一時ファイルとして保存
ActiveWorkbook.SaveAs Filename:=tempPath
' 一時ファイルを最終保存先にコピー
FileCopy tempPath, targetPath
' 一時ファイルを削除
Kill tempPath
' 設定復元
Application.DisplayAlerts = originalDisplayAlerts
MsgBox "安全な保存処理が完了しました"
Exit Sub
ErrorHandler:
' エラー発生時の処理
Application.DisplayAlerts = originalDisplayAlerts
' 一時ファイルが存在する場合は削除
If Dir(tempPath) <> "" Then
Kill tempPath
End If
MsgBox "エラーが発生しました:" & Err.Description & vbCrLf & _
"エラー番号:" & Err.Number
End Sub
上記のコードは
1行目から30行目までのファイルを保存するVBA処理中にエラーが発生した場合、31行目にジャンプして「一時保存ファイルを削除」「エラー内容を表示する」
という内容です。
エラーが発生した時点で警告メッセージを表示しVBAの処理をストップさせるのではなく、エラーが発生した時点でエラー処理VBAに処理が移行するため、
どんなエクセル業務にも安心してファイルを保存するVBAを実装できるようになります。
関連記事「エラー無視の落とし穴?」では、On Error GoTo文を扱う際の注意事項が紹介されています。
VBA初心者が『ファイル保存を自動化するVBA』を導入する方法
VBAなんて扱ったことないけど、業務内容に合わせた『ファイル保存を自動化するVBA』を導入したい!
こんな問題を解決する方法がこちら
- マクロの開発を外注に依頼する
- マクロが設定されたエクセルファイルをダウンロードする
- 参考書やネットでVBAスキルを身に付ける
VBAスキルを身に着ける前は、「マクロ開発の外注」で対応していましたが、
今では自分で効率化マクロをサクッと導入しちゃいます。
完成されたマクロを使ってエクセル業務を処理する
↓
作業効率が2倍以上アップ!!
↓
便利すぎて自分でもマクロを設定したいと考え始める
↓
参考書やネットの情報でVBAスキルを身に付ける
↓
マクロ開発を代行できる程のスキルを習得
VBAは
他のプログラミングに比べて参考書やネットで紹介されている情報量が多いので初心者でも導入しやすい
という特徴があります。
外注した方が楽だけど、費用がかかる。自分で導入すれば費用は0円だけど時間がかかる。。
いずれにせよ、効率化マクロを導入できれば作業効率が飛躍的にアップするのは間違いありません。
あなたに合った方法で導入しちゃいましょう。
マクロ開発を外注に依頼する
マクロ開発を外注に依頼する方法は
VBAを全く扱えない方でもエクセル作業を自動化できる最も簡単な方法
です。
「こんなデータ抽出作業を自動化したい」「作った資料を自動的にPDFで保存したい」「決まった様式に写真を自動で貼り付けたい」
こんな感じで実現したい内容を依頼するだけで業務内容に合ったマクロを開発してくれます。

ガッツポーズの人
デメリットは、費用がかかることだけ。
開発内容、依頼先によってかかる費用は大きく異なります。
私が会社員の頃利用していた業者さんは1マクロあたり2万円~3万円の費用がかかりました。

疑問がある人
ちなみに、マメBlogでもエクセルマクロ開発代行サービスを承っています。
開発内容の確認、VBAコードの設定、動作確認後の調整、など全ての工程を私(マメ父ちゃん)が行っているので、
費用が安い!スピード納期!!
でやらせてもらっています。
ほとんど独学で身に付けたVBAスキルなので、内容によっては開発できないこともあるのでご了承ください。
ご相談、見積もり依頼は完全無料ですので気になる方は下記のリンクよりお問合せ下さい。
マクロが設定されたエクセルファイルをダウンロードする
VBA初心者でも『マクロが設定されたエクセルファイルをダウンロード』することで、
すぐに使っているエクセルにマクロを導入することができます。
VBA初心者でも形になっているマクロをゲットできる、費用が安い、
というメリットがあります。
しかし、
想定するマクロを見つけることが難しい、業務内容に合わせるためのアレンジが必要
というデメリットもあります。

ガッツポーズの人
個人ブログやファイルを販売できるサイト「note」や「Tips」ではいろんなマクロの情報が掲載されているので是非参考にしてみてください。
今までマメBlogで受注した効率化マクロを下記のnoteで掲載していますので併せてチェックしてみてください。
参考書やネットでVBAスキルを身に付ける
先程も紹介しましたが、
VBAは他のプログラミングに比べて参考書やネットで紹介されている情報量が多いので初心者でも導入しやすい
プログラミングです。
言い換えると、
情報量が豊富なので自分で勉強できちゃう
ということです。
私のVBAスキルはほとんど独学で身に付けたもので、
考えた処理のほとんどをVBAで表現できるレベルにまで到達した!
と思っています。
私の作ったマクロをプロのプログラマーが見れば、
お前の書くコードはインチキだ!「変数の宣言」とか「引数」を正しく使えよ!!
と感じるはずです。
でも、
私からすればどうでもいい!!!想定した内容を正しく処理できればよくないですか!?
独学であっても『写真を貼り付けるマクロ』『全てのシートをPDF出力するマクロ』『連番を振るマクロ』など、
業務内容に合ったマクロを開発できるようになれます。
独学でVBAスキルを身に付けるコツは、
エラーが発生してもいいからひたすらコードを書く、なんでもいいからエクセル作業をマクロ化してみる
です。
とは言っても、全くの知識0の方は何をすればいいかわからないですよね。
VBA知識0の初心者の方は、参考書『たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】』を読んでみてください。
VBAの知識0の方でもすいすい読み進められる内容になっています。
やさしい内容にも関わらず「え!!VBAを使えばこんなことできるの!?」と感動すると思います。
実際に私はこの参考書を読んでからVBAの勉強を始めました。

ひらめく人
VBAの魅力を発見した後は、
ひたすら自動化したい内容のコードを書くだけ
です。
【VBA SavaAs】【VBA 上書き保存】【VBA バックアップ】でネット検索すれば知りたいコードをすぐにゲットできます。
実現したい処理に向かって、「調べる→書いてみる→エラーを改善する→調べる」を繰り返していると
自然といろんなマクロが作れるようになっているはずです。
VBAに興味が湧いてきたという方は今からVBA学習をスタートさせちゃいましょう。