2026-08

ExcelVBA

【ExcelVBA・マクロ】Application.Volatileの使い方|ユーザー定義関数(UDF)を自動再計算させる方法【コピペOK】

セルに入力した数式は、参照しているセルの値が変わると自動的に再計算されます。しかし、ユーザー定義関数(UDF)の中には「引数として渡していないセル」や「関数の外側の状態」を参照するものがあり、その場合は値が変わっても再計算されず、古い結果が...
ExcelVBA

【ExcelVBA・マクロ】TextToColumnsメソッドの使い方|1列のデータを区切り文字で複数列に分割する方法【コピペOK】

「山田太郎,営業部,03-1234-5678」のように、1つのセルにカンマや空白で区切られたデータが入っていて、それぞれを別々の列に分けたい……という場面はよくあります。手作業なら「区切り位置」機能を使いますが、毎回同じ形式のデータであれば...
ExcelVBA

【ExcelVBA・マクロ】CommandBarsの使い方|右クリックメニュー(コンテキストメニュー)をカスタマイズする方法【コピペOK】

Excelでセルを右クリックしたときに表示されるメニューに、自分専用の項目を追加できることをご存じでしょうか。VBAのCommandBarsオブジェクトを使えば、右クリックメニュー(コンテキストメニュー)に独自のマクロ実行ボタンを追加したり...
ExcelVBA

【ExcelVBA・マクロ】文字化け対策完全ガイド|CSV読み込み時のUTF-8・Shift-JIS判定と変換方法【コピペOK】

「VBAでCSVファイルを読み込んだら日本語が文字化けした」という経験がある方は多いのではないでしょうか。原因の多くは、ファイルの文字コード(UTF-8・Shift-JISなど)とVBA側の読み込み方法が合っていないことにあります。この記事...
ExcelVBA

【ExcelVBA・マクロ】GetObjectとCreateObjectの違い|Outlook・Excelの多重起動を防ぐ方法【コピペOK】

ExcelVBAからOutlookやWordなど他のアプリケーションを操作するとき、CreateObjectをそのまま使うと、実行するたびにアプリが新しく起動し、タスクマネージャーにプロセスが何個も残ってしまうことがあります。これはCrea...
ExcelVBA

【ExcelVBA・マクロ】Application.OnKeyの使い方|ショートカットキーを自由にカスタマイズする方法【コピペOK】

Excelでよく使うマクロがあるのに、毎回「開発」タブからボタンを探したり、マクロ一覧から選んで実行したりしていませんか。実はVBAのApplication.OnKeyメソッドを使えば、好きなキーの組み合わせに自分専用のショートカットキーを...
ExcelVBA

【ExcelVBA・マクロ】CDO.Messageの使い方|Outlookを使わずにメールを自動送信する方法(SMTP直接送信)【コピペOK】

ExcelVBAからメールを自動送信したいけれど、パソコンにOutlookがインストールされていない、あるいはGmailなどのWebメールサービスを直接使いたい、というケースはよくあります。そんなときに使えるのがCDO.Messageオブジ...
ExcelVBA

【ExcelVBA・マクロ】ユーザーフォームのScrollBar・SpinButtonの使い方|数値入力を補助するコントロール【コピペOK】

ユーザーフォームで数値を入力してもらう際、TextBoxだけだと「全角で入力される」「範囲外の数値が入力される」といったトラブルが起きがちです。そんなときに便利なのが、ScrollBar(スクロールバー)とSpinButton(スピンボタン...
ExcelVBA

【ExcelVBA・マクロ】SpecialCellsメソッド完全ガイド|可視セル・空白セル・数式セルだけを取得する方法【コピペOK】

「オートフィルターで絞り込んだ結果だけをコピーしたい」「空白セルだけに色を付けたい」といった処理を書こうとすると、For Eachで全セルをループして条件分岐するコードになりがちです。実はSpecialCellsメソッドを使えば、こうした処...
ExcelVBA

【ExcelVBA・マクロ】Property Get/Let/Setの使い方|クラスモジュールで独自プロパティを作る方法【コピペOK】

ExcelVBAでクラスモジュールを使い始めると、必ずぶつかるのが「プロパティをどうやって自作するのか」という疑問です。変数をPublicで宣言するだけでも値の出し入れはできますが、それでは「不正な値が入ってきてもチェックできない」「読み取...