ExcelVBA

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

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

【ExcelVBA・マクロ】Timer関数の使い方|マクロの処理時間を計測して高速化の効果を確認する方法【コピペOK】

「このマクロ、実際どれくらい時間がかかっているんだろう」「高速化のために処理を書き換えたけど、本当に速くなったのか分からない」——そんなときに使えるのがVBAのTimer関数です。この記事では、Timer関数を使ってマクロの処理時間を計測す...
ExcelVBA

【ExcelVBA・マクロ】FileCopy・Kill・MkDirステートメントの使い方|FSOなしでファイル操作する基本【コピペOK】

Excel VBAでファイルをコピーしたり削除したりする処理を書くとき、「FileSystemObjectを使わないといけない」と思っていませんか。実は、VBAには参照設定なしでそのまま使えるネイティブなステートメント(FileCopy・K...
ExcelVBA

【ExcelVBA・マクロ】スパークラインの使い方|SparklineGroupsでセル内グラフを一括作成する方法【コピペOK】

売上推移や在庫の増減など、数値の並びだけではパッと傾向がつかみにくいデータも、セルの中に小さなグラフ(スパークライン)を添えるだけで一目で分かるようになります。Excelの「挿入」タブから手動で設定することもできますが、行数が多いデータでは...
ExcelVBA

【ExcelVBA・マクロ】財務関数(PMT・FV・NPV)の使い方|ローン返済・積立シミュレーションを自動計算する方法【コピペOK】

ローンの毎月返済額や、積立投資の将来価値を手計算するのは大変です。ExcelVBAにはPMT・FV・NPVといった財務関数が標準で用意されており、これらを使えば数行のコードでローン返済シミュレーションや積立計画の自動計算ができます。この記事...
ExcelVBA

【ExcelVBA・マクロ】Range.Lockedとシート保護の使い方|特定セルだけ編集可能にする方法【コピペOK】

配布用のExcelシートで、「入力欄だけは編集できるようにしたいけれど、数式や見出しは誤って書き換えられたくない」というケースは多くあります。これを実現するのがRange.Lockedプロパティとシート保護の組み合わせです。この記事では、セ...
ExcelVBA

【ExcelVBA・マクロ】ワークシートの表示・非表示を切り替える方法|VisibleプロパティとxlSheetVeryHiddenの使い分け【コピペOK】

マクロ処理専用の作業用シートや、参照用のマスターシートを、ユーザーの目に触れないように隠したいことがあります。Excelには「右クリック→再表示」で見えてしまう通常の非表示のほかに、通常の操作では再表示できない「完全な非表示」機能もあります...
ExcelVBA

【ExcelVBA・マクロ】論理演算子(And・Or・Not・Xor)の使い方|複数条件を組み合わせる条件分岐の書き方【コピペOK】

If文で「AかつBの場合」「AまたはBの場合」といった複数条件を判定したいとき、VBAではAnd・Or・Not・Xorといった論理演算子を使います。使い方自体はシンプルですが、VBAには他言語のような「ショートサーキット評価」がないため、知...
ExcelVBA

【ExcelVBA・マクロ】Application.InputBoxの使い方|Type:=8でセル範囲をユーザーに選択させる方法【コピペOK】

ExcelVBAでユーザーにセル範囲を選んでもらいたいとき、VBA標準のInputBox関数では文字列しか受け取れません。実はApplication.InputBoxメソッドを使えば、ユーザーがマウスでクリック&ドラッグしたセル範囲をそのま...
ExcelVBA

【ExcelVBA・マクロ】Slackへ自動通知する方法|Incoming WebhookでVBAからメッセージを送信する【コピペOK】

Excelでの集計作業やバッチ処理が終わったタイミングで、離席していても結果をすぐに知りたいことはありませんか。この記事では、ExcelVBAとSlackの「Incoming Webhook」を組み合わせて、マクロの処理結果をSlackへ自...