マクロ

ExcelVBA

〖ExcelVBA・マクロ〗処理を一時停止する方法まとめ|Application.Wait と DoEvents の違いと正しい使い分け

ExcelVBAでマクロを書いていると、次のような場面に出くわすことがあります。処理の途中で「少し待ちたい」画面を更新させながら処理を続けたい「固まったように見える」状態を回避したいそんなときに登場するのが Application.Wait...
ExcelVBA

〖ExcelVBA・マクロ〗エラーが出た際に安全に処理する方法|On Errorの実践テンプレ集(初心者向け)

VBAを書いていると、どうしても避けられないのが「エラーで止まる」問題です。途中でエラーが出て処理が止まる画面更新OFFのまま固まったように見えるイベントOFFのまま別マクロが動かなくなる原因が分からず、結局「動かないマクロ」になるそこで重...
ExcelVBA

〖ExcelVBA・マクロ〗MsgBoxを自動で閉じる方法|一定時間で自動Dismissする通知の作り方

ExcelVBAでメッセージを出すとき、通常は次のように書きます。しかしこの標準のMsgBoxはユーザーがボタンを押すまで処理が止まるため、次のようなニーズが出てきます。一定時間だけメッセージを表示して自動で閉じたいポップアップ案内をユーザ...
ExcelVBA

〖ExcelVBA・マクロ〗実行時エラー9「インデックスが有効範囲にありません」の原因と対処法まとめ

ExcelVBAでマクロを実行したとき、次のエラーが出て止まったことはありませんか?実行時エラー '9'インデックスが有効範囲にありませんこのエラーは、VBA初心者が必ずと言っていいほど遭遇する代表的なエラーです。しかも原因が1つではないた...
ExcelVBA

〖ExcelVBA・マクロ〗「配列の引数で型が一致しません」の原因と対処法まとめ|ByRef/Variant/1次元2次元の落とし穴

VBAで配列を使っていると、よく出るのがこのエラーです。「型が一致しません」「ByRef 引数の型が一致しません」(配列を渡したときに)「型が一致しません」特に多いのは「配列を引数として渡した瞬間」に発生するパターンです。この記事では、原因...
ExcelVBA

〖ExcelVBA〗InStrで「見つからない(0)」原因と対処法まとめ|大文字小文字・空白・改行・見えない文字

「VBA InStr 見つからない」で検索してここに来た方の多くは、本当は文字が含まれているはずなのに、InStrが0を返す状態に困っているはずです。まず結論から言うと、InStrは見つからない場合は0を返します。つまり、コードが間違ってい...
ExcelVBA

〖ExcelVBA〗一定時間操作がなければ自動保存するマクロ|Excelを開いたまま放置しても安心

Excelを開いたまま作業していると、こんな不安がありませんか?作業途中で席を外した「保存しなきゃ」と思いながら忘れたPCのトラブルやフリーズが怖いそこで今回は、Excelを開いたまま一定時間操作がなければ自動保存するマクロを紹介します。「...
ExcelVBA

〖ExcelVBA〗セルの表示形式を一括で「標準」に戻すマクロ|数値・日付の崩れをリセット

Excelを使っていて、次のような状態に困ったことはありませんか?数値なのに左寄せになっている日付が文字列扱いになって計算できないCSVを貼り付けたら表示形式がバラバラどこかに「文字列」や「ユーザー定義」が残っているこういうとき、原因はほと...
ExcelVBA

〖ExcelVBA〗Excel起動時に自動で初期処理を行うマクロ|開いた瞬間に準備完了にする方法

「このExcelを開いたら、毎回やる作業がある…」そんなときに便利なのが、Excel起動時(ブックを開いた時)に自動で初期処理を実行するマクロです。たとえば、次のような作業を自動化できます。入力フォームを初期状態に戻す(入力欄をクリア)当日...
ExcelVBA

〖ExcelVBA〗指定列の重複回数をカウントして表示するマクロ|同じ値が何回出てくるか一目で分かる

Excelでデータを扱っていると、次のようなことはありませんか?同じ名前・ID・商品コードが何回出てくるか知りたい重複データが「何件あるか」を確認したいCOUNTIF関数ではなく、VBAで一括処理したいそこで今回は、指定した列の値が「何回出...