ExcelVBA

【ExcelVBA・マクロ】Application.EnableEventsの使い方|Worksheet_Changeの無限ループを防ぐ方法【コピペOK】

ExcelVBAでWorksheet_Changeイベントを使ってセルの変更を検知する処理を書いていると、「イベント内でセルの値を書き換えたら、Excelが固まったり、同じ処理が何度も実行されてしまった」という経験をしたことがあるかもしれま...
ExcelVBA

【ExcelVBA・マクロ】IsArray・IsObject・IsMissing関数の使い方|配列・オブジェクト・省略引数を判定する方法【コピペOK】

ExcelVBAでプロシージャや関数を作っていると、「受け取った引数が配列かどうか分からずエラーになった」「オブジェクト変数なのに通常の変数として扱ってしまいエラーが出た」「Optional引数が省略されたかどうかを判定できない」といった悩...
ExcelVBA

【ExcelVBA・マクロ】セルコメント(メモ)の使い方|一括追加・編集・削除する方法【コピペOK】

セルコメント(メモ)とはExcelのセルには、セルの内容を補足する「コメント」(Excel 2019以降のバージョンでは「メモ」という名称)を付けることができます。入力ルールの補足や、データの根拠、確認済みかどうかのメモなど、セルの値そのも...
ExcelVBA

【ExcelVBA・マクロ】ユーザーフォームのオプションボタン(ラジオボタン)の使い方|選択された項目を判定する方法【コピペOK】

オプションボタン(ラジオボタン)とはユーザーフォームで「複数の選択肢から1つだけ選ばせたい」という場面では、オプションボタン(一般的には「ラジオボタン」とも呼ばれます)を使います。チェックボックスが複数選択できるのに対し、オプションボタンは...
ExcelVBA

【ExcelVBA・マクロ】Range.Sortメソッド完全ガイド|複数キーでの並べ替えを自動化する方法【コピペOK】

Range.SortメソッドとはExcelでデータを並べ替える操作は、手動なら「データ」タブの「並べ替え」機能で行いますが、VBAからはRangeオブジェクトのSortメソッドを使うことで自動化できます。Range.Sortは、単一キーでの...
ExcelVBA

【ExcelVBA・マクロ】ReDim Preserveの使い方|動的配列のサイズを実行時に変更する方法【コピペOK】

ReDim PreserveとはVBAで配列を使うとき、「最初は要素数が分からないけれど、処理を進める中で必要な数が分かってくる」という場面はよくあります。このようなときに使うのがReDimステートメントとReDim Preserveステー...
ExcelVBA

【ExcelVBA・マクロ】Openステートメントの使い方|テキストファイルの読み込み・書き込みを完全解説【コピペOK】

OpenステートメントとはExcelVBAでちょっとしたログファイルを残したい、CSVやテキストファイルの中身を1行ずつ読み込みたい——そんなとき、外部ライブラリを使わずに標準機能だけで完結できるのがOpenステートメントです。FileSy...
ExcelVBA

【ExcelVBA・マクロ】Debug.Printとイミディエイトウィンドウの使い方|デバッグの基本を完全解説【コピペOK】

Debug.PrintとイミディエイトウィンドウとはVBAでマクロを作っていると、「変数に想定通りの値が入っているか確認したい」「処理が想定通りの順番で動いているか見たい」という場面がよくあります。そんなときにMsgBoxをいちいち挟んで確...
ExcelVBA

【ExcelVBA・マクロ】PasteSpecial(形式を選択して貼り付け)完全ガイド|値のみ・書式のみ・演算貼り付けまで解説【コピペOK】

PasteSpecial(形式を選択して貼り付け)とはセルをコピーして貼り付けるとき、「数式ではなく計算結果の値だけ貼り付けたい」「罫線や色などの書式だけコピーしたい」といった場面はよくあります。手作業なら「形式を選択して貼り付け」ダイアロ...
ExcelVBA

【ExcelVBA・マクロ】Nameオブジェクトの使い方|名前付き範囲の作成・参照・削除を完全解説【コピペOK】

NameオブジェクトとはExcelには「名前付き範囲(名前の定義)」という機能があります。Range("A1:A10")のようなセル番地の代わりに、「売上リスト」のような分かりやすい名前でセル範囲を参照できる機能です。数式を作るときはもちろ...