-
【VBA】非表示シートを全て一括で再表示するマクロ
はじめに 多数のシートが含まれるExcelブックで、複数のシートが非表示になっていることはありませんか? 一枚ずつ右クリックして「再表示」を選ぶ作業は、シートの数が増えるほど大変な手間になります。特に、何十枚ものシートを一度に表示させたい場合、... -
【VBA】表示/非表示を切り替える便利なマクロ集(数式、枠線、ふりがな等)
はじめに Excelを使っていると、「一時的に数式全体を確認したい」「印刷イメージを見るために枠線を消したい」「ふりがなをまとめて表示したい」など、様々な表示設定を切り替えたい場面があります。 メニューから毎回設定を変更するのは少し面倒ですが、... -
【VBA】マクロをショートカットキーに登録する方法 (Application.OnKey)
はじめに よく使うVBAマクロを、毎回「マクロ」ダイアログから実行するのは少し手間ですよね。もし、Ctrl + Shift + C のようなショートカットキー一発でマクロを呼び出せたら、作業効率が格段にアップします。 VBAの Application.OnKey メソッドを使えば... -
【VBA】個人用マクロブック(PERSONAL.XLSB)の場所を特定し削除する方法
はじめに VBAを使い始めると耳にする「個人用マクロブック」。どのExcelファイルを開いていても共通で使えるマクロを保存しておける、とても便利な隠しファイルです。 しかし、「マクロの整理のために一度リセットしたい」「動作がおかしくなったので再作... -
【VBA】Excelの一覧表をもとにファイル名を一括変更する方法 (FSO)
はじめに 「商品コードと商品名のリストはあるが、実際の画像ファイル名が商品コードのままで分かりにくい…」「Excelで管理しているファイルリスト通りに、ファイル名を一括で修正したい」 このような、Excelシートの情報を使って、大量のファイル名を一括... -
【VBA】FSOでファイル名の連番をずらす(リネームする)方法
はじめに 「ファイル名の連番の間に、新しいファイルを追加したい」「特定の番号以降の連番を、まとめて後ろにずらしたい」...。ファイル整理をしていると、このように連番を部分的に修正したくなることがあります。 一つずつ手作業で名前を変更するのは、... -
【VBA】FSOで複数ファイルを更新日時順に一括連番リネームする方法
はじめに デジカメで撮影した大量の写真ファイルや、日々作成される業務レポート。「ファイル名がバラバラで整理しにくい」「時系列に並んだ連番にしたい」と感じたことはありませんか? 一つずつ手作業でリネームするのは大変ですが、VBAの FileSystemObj... -
【VBA】FSOで2つのファイル名を入れ替える方法|Nameプロパティ活用術
はじめに ファイルの整理やリネーム作業をVBAで自動化していると、「AというファイルとBというファイルの名前を、そっくりそのまま入れ替えたい」という特殊なケースに遭遇することがあります。例えば、連番の画像ファイルの名前を一つずらしたり、特定の2... -
【VBA】FSOでフォルダをファイルごと一括削除する方法|DeleteFolderメソッド
はじめに VBAでファイルの整理や管理を自動化していると、「不要になったフォルダを中身ごと、きれいに削除したい」という場面が出てきます。特に、一時的に作成した作業フォルダや、古いバックアップフォルダなどを一掃したい場合に便利です。 VBAの File... -
【VBA】FSOでフォルダを丸ごと複製する方法|バックアップ作成を自動化しよう
はじめに 日々の業務でExcelファイルや関連資料を管理していると、「作業フォルダを丸ごとバックアップしたい」と感じることはありませんか? 手作業でのコピーは簡単ですが、毎回となると手間がかかり、ミスも発生しやすくなります。 そんな時、VBAの**Fi... -
【Excel VBA】FSOでフォルダを中身ごと移動する方法 (.Move)
VBAマクロで、月次処理が終わったフォルダを「処理済み」フォルダに移動させたり、プロジェクトフォルダをバックアップ用の場所に移動させたりと、フォルダそのものを中身ごと移動させたい場合があります。 FileSystemObject (FSO)の**.Moveメソッド**を使... -
【Excel VBA】FSOでファイル名やフォルダ名を変更(リネーム)する方法
「フォルダ内にある複数のレポートファイル名に、一括で今日の日付を付け加えたい」といった、ファイル名の一括変更は、ファイル整理作業で頻繁に発生します。 FileSystemObject (FSO)を使えば、ファイルやフォルダの名前をVBAで簡単に変更できます。この... -
【Excel VBA】FSOでファイルをコピー(複製)する方法 (.Copy)
VBAマクロで、処理の実行前に元となるデータファイルのバックアップを作成したり、テンプレートファイルを複製して新しいレポートを作成したりと、ファイルをコピーしたい場面は頻繁にあります。 FileSystemObject (FSO)の**.Copyメソッド**を使えば、ファ... -
【Excel VBA】FSOでファイルを別のフォルダに移動する方法 (.Move)
VBAマクロで特定のファイルを処理した後、そのファイルを「処理済み」フォルダに移動させて整理したい、という場面は非常に多くあります。 FileSystemObject (FSO)の**.Moveメソッド**を使えば、ファイルの移動を簡単かつ確実に行うことができます。この記... -
【Excel VBA】FSOでフォルダが存在しない場合に新規作成する方法 (FolderExists)
VBAマクロでファイルを特定のフォルダに保存したり、フォルダ内のファイルを読み込んだりする際、もし対象のフォルダが存在しなかったら、エラーが発生してマクロは停止してしまいます。 このようなエラーを未然に防ぐには、処理の実行前に**「フォルダが... -
【Excel VBA】FSOでドライブが利用可能かを確認する方法 (.IsReady)
VBAマクロで、USBメモリやネットワークドライブ、CD-ROMドライブといった外部メディアに対してファイルの読み書きを行いたい場合があります。しかし、もしUSBメモリが抜かれていたり、ディスクがドライブに挿入されていなかったりすると、マクロは「デバイ... -
【Excel VBA】FSOでドライブの空き容量や合計サイズを取得する方法
VBAで大容量のファイルを出力したり、バックアップを作成したりするマクロを組む際には、処理の実行前に「保存先のドライブに十分な空き容量があるか?」を事前にチェックできると、より安全で親切なプログラムになります。 FileSystemObject (FSO)の**Dri... -
【Excel VBA】FSOでPCに接続されている全ドライブの一覧を取得する方法
VBAでファイル操作を行う際、ユーザーにバックアップ先のドライブを選択させたり、PCのストレージ構成を調査したりするために、現在利用可能なドライブの一覧を取得したい場合があります。 FileSystemObject (FSO)の**Drivesコレクション**を使えば、ロー... -
【Excel VBA】FSOでフォルダの合計サイズ(サブフォルダも含む)を取得する方法
特定のプロジェクトフォルダやバックアップフォルダが、ディスク上でどれくらいの容量を占めているかを確認したい、という場合があります。手作業でフォルダのプロパティを開けば確認できますが、VBAを使えばこの情報も自動で取得できます。 FileSystemObj... -
【Excel VBA】FSOで指定したフォルダ内にある全てのサブフォルダ一覧を取得する方法
特定のフォルダの中に、さらにどのようなフォルダ(サブフォルダ)が存在するのかを調べ、その一覧をExcelシートに書き出したい、という場面は、ファイルの整理や集計作業の前処理としてよく発生します。 FileSystemObject(FSO)のFolderオブジェクトが持つ... -
【Excel VBA】FSOでテキストファイルの内容を読み込む方法 (ReadAll / ReadLine)
CSVファイルや、システムが出力したログファイルなど、外部のテキストファイル(.txt)の内容をExcelに読み込んでデータとして活用したい、という場面は非常に多くあります。 FileSystemObject (FSO)を使えば、テキストファイルを開いて、その内容をVBAで... -
【Excel VBA】FSOで既存のテキストファイルにデータを追記する方法 (OpenTextFile)
マクロを実行するたびに、その実行記録や結果を一つのログファイルにどんどん書き足していきたい、という場合があります。ファイルを新規作成するのではなく、既存のファイルの内容は保持したまま、末尾に新しいデータを追記していく必要があります。 File... -
【Excel VBA】FSOでテキストファイル(.txt)を新規作成し、書き込む方法
VBAマクロで処理した結果を、Excel形式ではなく、他のシステムと連携しやすいシンプルなテキストファイル(.txt)として出力したい、という場面は頻繁にあります。 FileSystemObject (FSO)を使えば、テキストファイルの新規作成から、内容の書き込みまでを... -
【Excel VBA】FSOでファイル名、拡張子、更新日時などの詳細情報を取得する方法
VBAで特定のファイルやフォルダ内のファイル一覧を扱う際、ファイル名だけでなく、そのファイルの拡張子、サイズ、最終更新日といった詳細な情報(メタデータ)を取得したい場面は非常に多くあります。 FileSystemObject (FSO)を使えば、ファイルを開くこ... -
【Excel VBA】FSOでファイルやフォルダの情報を取得する方法 (GetFile, GetFolder)
FileSystemObject(FSO)を利用したファイル操作の基本は、操作したい対象のファイルやフォルダを、まず「オブジェクト」として取得することから始まります。 オブジェクトとして取得することで、そのファイルやフォルダが持つ様々な情報(名前、パス、サ... -
【Excel VBA】FileSystemObject(FSO)でファイル操作を始めるための準備
VBAでファイルの有無を確認したり、フォルダをコピーしたり、テキストファイルの内容を読み書きしたりと、高度なファイルシステム操作を行いたい場合、**FileSystemObject(FSO)**という機能を利用するのが一般的です。 FSOは、VBAにもともと備わっている... -
【Excel VBA】デスクトップやドキュメントフォルダのパスを確実に取得する方法
マクロで作成したファイルをユーザーのデスクトップに保存したい、あるいはドキュメントフォルダにあるファイルを読み込みたい、という場面はよくあります。 しかし、これらのフォルダのパスは「C:\Users\Taro\Desktop」のようにユーザー名によって異なり... -
【Excel VBA】ZIPファイルを指定したフォルダに解凍(展開)する方法
VBAマクロで、外部から受け取ったZIPファイルの中にあるデータファイル(CSVやテキストファイルなど)を読み込んで処理したい、という場合があります。その際、手作業でZIPファイルを解凍するのではなく、VBAで解凍まで自動化できると非常にスマートです。... -
【Excel VBA】複数のファイルをZIP形式に圧縮する方法 (Shell.Application)
マクロで生成した複数のレポートファイルなどを、一つのZIPファイルにまとめて圧縮し、メール添付やバックアップ用に保存したい、という場面はよくあります。 VBAには直接ZIPを操作する命令はありませんが、Windowsの基本機能である「シェル(Shell)」をV... -
【Excel VBA】中身が空のZIPファイル(空の圧縮フォルダ)を作成する方法
VBAで複数のファイルをバックアップとしてZIP形式に圧縮・保存したい場合、まずその入れ物となる「空のZIPファイル」を作成する必要があります。 VBAには「ZIPファイルを作成する」という直接的な命令はありませんが、ZIPファイルの構造を利用した少し特殊...