ExcelVBA

【ExcelVBA・マクロ】ユーザーフォームのMultiPageとFrameの使い方|画面を切り替えて入力項目を整理する方法【コピペOK】

ExcelVBAのユーザーフォームで入力項目が増えてくると、1つの画面にすべてのコントロールを詰め込んでしまい、見づらく操作しにくいフォームになりがちです。また、オプションボタン(ラジオボタン)を複数グループ用意したいのに、すべて同じフォー...
ExcelVBA

【ExcelVBA・マクロ】Declare Functionの使い方|Windows API宣言の基本とSleep関数で処理を待機する方法【コピペOK】

VBAには数千個もの関数が用意されていますが、「ミリ秒単位で処理を待機したい」「処理時間を正確に計測したい」といった、VBA単体では実現しづらい処理も存在します。こうした場合に使えるのが、Windowsが提供するDLL(kernel32.d...
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をいちいち挟んで確...