ExcelVBA

【ExcelVBA・マクロ】Outlookの予定表に予定を自動登録する方法|CreateItemでアポイントメントを一括作成する【コピペOK】

はじめに会議や締切の予定をExcelの一覧表で管理していて、「これをそのままOutlookの予定表に登録できたら楽なのに」と感じたことはないでしょうか。この記事では、ExcelVBAからOutlookを操作し、シート上の予定一覧(日時・件名...
ExcelVBA

【ExcelVBA・マクロ】ユーザーフォームにコントロールを動的に追加する方法|Controls.Addで実行時にテキストボックスを生成する【コピペOK】

はじめにユーザーフォームを作るとき、「入力項目の数が毎回違う」「マスタの件数に応じてテキストボックスを増やしたい」という場面に出会うことがあります。あらかじめ最大数分のコントロールを配置しておく方法もありますが、項目数が読みにくくなったり無...
ExcelVBA

【ExcelVBA・マクロ】VBAでPower Query(パワークエリ)を操作する方法|クエリの一覧取得・一括更新を自動化する【コピペOK】

はじめにPower Query(パワークエリ)でデータ取込の仕組みを作ったものの、「更新ボタンを毎回手動で押すのが面倒」「特定のクエリだけを自動で更新したい」と感じたことはありませんか。この記事では、ExcelVBAからPower Quer...
ExcelVBA

【ExcelVBA・マクロ】Excelリボンをカスタマイズする方法|CustomUI XMLとVBAコールバックで独自タブ・ボタンを追加する【エクセル効率化】

はじめに「よく使うマクロをボタン一つで実行したい」「毎回開発タブから探すのが面倒」と感じたことはありませんか。Excelには、リボンに独自のタブやボタンを追加できるCustomUI XMLという仕組みがあります。この記事では、CustomU...
ExcelVBA

【ExcelVBA・マクロ】GetSetting/SaveSettingの使い方|マクロの設定をレジストリに保存する方法【コピペOK】

ExcelマクロやVBAツールを配布していると、「前回開いたフォルダを覚えていてほしい」「チェックボックスの選択状態を次回起動時も保持したい」という場面によく出会います。こうしたユーザー設定の保存には、テキストファイルやセルを使う方法もあり...
ExcelVBA

【ExcelVBA・マクロ】INIファイルの読み書き(WritePrivateProfileString)でマクロの設定を保存する方法【コピペOK】

マクロの設定値を保存する方法として、VBA標準のSaveSetting・GetSetting(レジストリに保存)がありますが、「設定ファイルを開けば中身を確認できるようにしたい」「配布先のPCに設定ファイルごとコピーして使い回したい」という...
ExcelVBA

【ExcelVBA・マクロ】Excelアドイン(.xlam)の作り方|自作マクロを全てのブックで使えるようにする方法【コピペOK】

「便利なマクロを作ったけれど、新しいブックを開くたびに標準モジュールをコピペしている」——そんな経験はありませんか。よく使うマクロは、Excelのアドイン(.xlam形式)にしておくと、Excelを起動している間はどのブックからでも呼び出せ...
ExcelVBA

【ExcelVBA・マクロ】Environ関数の使い方|Windows環境変数からユーザー名・PCの情報を取得する方法【コピペOK】

マクロの実行ログに「誰が実行したか」を残したい、共有ブックを使っているPCごとに保存先フォルダを自動で切り替えたい——そんなときに便利なのがEnviron関数です。Windowsが管理している「環境変数」から、ユーザー名やPC名、一時フォル...
ExcelVBA

【ExcelVBA・マクロ】条件付きコンパイル(#If…#End If)の使い方|32bit/64bit・Excelバージョンで処理を切り替える方法【コピペOK】

配布したマクロが「32bit版Excelでは動くけど64bit版だとエラーになる」「Windowsでは動くのにMacだと動かない」——そんなトラブルに遭遇したことはないでしょうか。VBAには、実行環境に応じてコンパイルするコード自体を切り替...
ExcelVBA

【ExcelVBA・マクロ】ThisWorkbookとActiveWorkbookの違い|複数ブック操作で起こる不具合を防ぐ方法【コピペOK】

ExcelVBAでマクロを書いていると、「昨日まで正常に動いていたのに、他のブックを開いたら急におかしな動作をする」というトラブルに遭遇したことはないでしょうか。その多くは、ThisWorkbookとActiveWorkbookの違いを正し...