VBA・Office

VBA・Office

VBAでもイベントを自作できる? ― Class・WithEvents・RaiseEventを最小コードで試す

VBAのClass Moduleで独自Eventを宣言し、RaiseEventで発火、WithEventsで受け取る最小イベント駆動を観察します。
VBA・Office

VBAが突然コンパイルできない? ― 参照設定を一覧化してBROKENを見つける

VBAのReferencesを一覧化し、IsBrokenで壊れた参照を切り分けます。自動修復せず、まず安全に状態を観察します。
VBA・Office

毎月のCSVで列名が変わっても止めにくくする ― Power Query Mで列名ゆれを吸収する

社員コード・従業員IDなどの列名ゆれをPower Query Mで標準化し、不足列はnullで補完します。候補列が複数ある曖昧な入力は安全側に停止します。
VBA・Office

VBAで重複を数えるならDictionaryが便利 ― 参照設定なしで安全に集計する

Scripting.DictionaryをLate Bindingで使い、A列の値を重複集計します。結果は専用シートへ出して入力データを消しにくくします。
VBA・Office

Excelの空白行をまとめて消す ― Office Scriptsで対象テーブルだけ安全に整理する

Office Scriptsで指定したExcelテーブルの完全空白行だけを下から削除します。複数テーブル時は対象名を明示し、別表を誤って変更しにくい形にします。
VBA・Office

VBAでUTF-8を文字化けせず保存する ― ADODB.Streamを参照設定なしで使う

VBAからADODB.StreamをLate Bindingで呼び、UTF-8 BOM付きテキストをファイル保存します。Charsetの使いどころも整理します。
VBA・Office

ExcelだけでログからID・メール・IPを抜く ― REGEXEXTRACT / REGEXREPLACEを使う

Microsoft 365版ExcelのREGEXEXTRACT / REGEXREPLACEで、ログ文字列からIDやIPを抽出し、メールアドレスを簡単にマスクします。
VBA・Office

VBAのDoEventsは何をしている? ― 画面が固まる理由とイベント処理を理解する

VBAのDoEventsがなぜExcelの反応を戻すことがあるのかを、イベント処理、再入、非同期処理との違いから掘り下げます。DoEventsを万能な非同期化として扱わないための記事です。
VBA・Office

Office VBAのCreateObjectで別アプリを安全に自動化する

本記事はAIを利用して作成した技術解説・実装例です。掲載するコードや手順は一次情報を基に構成していますが、筆者による実機での動作確認は行っていません。環境やバージョンによって動作が異なる場合があります。Office VBAにおける Crea...
VBA・Office

Excel VBAオブジェクトモデルの階層を小さなマクロで確認する

はじめにExcel VBA(Visual Basic for Applications)を利用する際、Excelが提供するオブジェクトの構造を理解することは、マクロを書くうえで非常に重要です。Microsoft公式のオブジェクトモデルリファ...