ExcelVBA

【ExcelVBA・マクロ】GetSetting/SaveSettingの使い方|マクロの設定をレジストリに保存する方法【コピペOK】

ExcelマクロやVBAツールを配布していると、「前回開いたフォルダを覚えていてほしい」「チェックボックスの選択状態を次回起動時も保持したい」という場面によく出会います。こうしたユーザー設定の保存には、テキストファイルやセルを使う方法もあり...
ExcelVBA

【ExcelVBA・マクロ】INIファイルの読み書き(WritePrivateProfileString)でマクロの設定を保存する方法【コピペOK】

マクロの設定値を保存する方法として、VBA標準のSaveSetting・GetSetting(レジストリに保存)がありますが、「設定ファイルを開けば中身を確認できるようにしたい」「配布先のPCに設定ファイルごとコピーして使い回したい」という...
ExcelVBA

【ExcelVBA・マクロ】Excelアドイン(.xlam)の作り方|自作マクロを全てのブックで使えるようにする方法【コピペOK】

「便利なマクロを作ったけれど、新しいブックを開くたびに標準モジュールをコピペしている」——そんな経験はありませんか。よく使うマクロは、Excelのアドイン(.xlam形式)にしておくと、Excelを起動している間はどのブックからでも呼び出せ...
ExcelVBA

【ExcelVBA・マクロ】Environ関数の使い方|Windows環境変数からユーザー名・PCの情報を取得する方法【コピペOK】

マクロの実行ログに「誰が実行したか」を残したい、共有ブックを使っているPCごとに保存先フォルダを自動で切り替えたい——そんなときに便利なのがEnviron関数です。Windowsが管理している「環境変数」から、ユーザー名やPC名、一時フォル...
ExcelVBA

【ExcelVBA・マクロ】条件付きコンパイル(#If…#End If)の使い方|32bit/64bit・Excelバージョンで処理を切り替える方法【コピペOK】

配布したマクロが「32bit版Excelでは動くけど64bit版だとエラーになる」「Windowsでは動くのにMacだと動かない」——そんなトラブルに遭遇したことはないでしょうか。VBAには、実行環境に応じてコンパイルするコード自体を切り替...
ExcelVBA

【ExcelVBA・マクロ】ThisWorkbookとActiveWorkbookの違い|複数ブック操作で起こる不具合を防ぐ方法【コピペOK】

ExcelVBAでマクロを書いていると、「昨日まで正常に動いていたのに、他のブックを開いたら急におかしな動作をする」というトラブルに遭遇したことはないでしょうか。その多くは、ThisWorkbookとActiveWorkbookの違いを正し...
ExcelVBA

【ExcelVBA・マクロ】Timer関数の使い方|マクロの処理時間を計測して高速化の効果を確認する方法【コピペOK】

「このマクロ、実際どれくらい時間がかかっているんだろう」「高速化のために処理を書き換えたけど、本当に速くなったのか分からない」——そんなときに使えるのがVBAのTimer関数です。この記事では、Timer関数を使ってマクロの処理時間を計測す...
ExcelVBA

【ExcelVBA・マクロ】FileCopy・Kill・MkDirステートメントの使い方|FSOなしでファイル操作する基本【コピペOK】

Excel VBAでファイルをコピーしたり削除したりする処理を書くとき、「FileSystemObjectを使わないといけない」と思っていませんか。実は、VBAには参照設定なしでそのまま使えるネイティブなステートメント(FileCopy・K...
ExcelVBA

【ExcelVBA・マクロ】スパークラインの使い方|SparklineGroupsでセル内グラフを一括作成する方法【コピペOK】

売上推移や在庫の増減など、数値の並びだけではパッと傾向がつかみにくいデータも、セルの中に小さなグラフ(スパークライン)を添えるだけで一目で分かるようになります。Excelの「挿入」タブから手動で設定することもできますが、行数が多いデータでは...
ExcelVBA

【ExcelVBA・マクロ】財務関数(PMT・FV・NPV)の使い方|ローン返済・積立シミュレーションを自動計算する方法【コピペOK】

ローンの毎月返済額や、積立投資の将来価値を手計算するのは大変です。ExcelVBAにはPMT・FV・NPVといった財務関数が標準で用意されており、これらを使えば数行のコードでローン返済シミュレーションや積立計画の自動計算ができます。この記事...