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で宣言するだけでも値の出し入れはできますが、それでは「不正な値が入ってきてもチェックできない」「読み取...
ExcelVBA

【ExcelVBA・マクロ】Hyperlinks.Addの使い方|セルにハイパーリンクを自動設定する方法【コピペOK】

はじめにExcelでセルに大量のURLやファイルパスへのリンクを貼りたいとき、1つずつ手作業で「ハイパーリンクの挿入」を行うのは大変です。実は、この作業はVBAのHyperlinks.Addメソッドを使えば数行のコードで自動化できます。この...
ExcelVBA

【ExcelVBA・マクロ】Worksheets.Add・Copy・Moveの使い方|シートの追加・コピー・移動を自動化する方法【コピペOK】

はじめに複数のシートを扱うExcelブックでは、「毎月同じフォーマットのシートを追加する」「特定のシートを別ブックへコピーする」「シートの並び順を整理する」といった作業が頻繁に発生します。これらの操作はすべて手作業でも可能ですが、シート数が...