VBA

ExcelVBA

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

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

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

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

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

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

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

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

〖ExcelVBA〗セルの入力値をチェックしてエラーメッセージを出すマクロ|入力ミスをその場で防ぐ

Excelで入力フォームや管理表を作ると、よく起きるのが入力ミスです。数値のはずなのに文字が入る必須なのに空白のまま桁数がバラバラ(電話番号・IDなど)日付の形式が崩れる入力規則(ドロップダウンなど)でも防げますが、「もっと細かいルールでチ...
ExcelVBA

〖ExcelVBA〗空白を無視して連番を自動で振るマクロ|削除や並び替え後もズレない

Excelで名簿や一覧表を管理していると、 連番(No.)を振り直したい場面はよくあります。途中の行を削除した並び替えをした抽出結果だけを残したこうなると、連番が「1, 2, 4, 7…」のようにバラバラになりがちです。そこで今回は、空白行...
ExcelVBA

〖ExcelVBA〗最終列・最終セルを正しく取得する基本コードまとめ|列ズレ・空白に強い方法

ExcelVBAでマクロを作っていると、最終列や最終セルを取得したい場面がよくあります。表の横幅を自動で取得したいデータ範囲を自動で指定したい列数が増減する表に対応したい最終行は正しく取れているのに、最終列がズレて処理がおかしくなるのは初心...
ExcelVBA

〖ExcelVBA〗処理速度を上げる3点セット|画面更新・計算・イベントを止めて爆速化する基本コード

VBAで作ったマクロが、動きが遅い画面がチカチカして見づらい大量データだと終わらない…ということはよくあります。こういうときに最初に試してほしいのが、処理速度を上げる3点セットです。これは、Excelの「余計な動き」を一時的に止めることで、...
ExcelVBA

〖ExcelVBA〗フォルダ選択ダイアログの出し方|保存先・読込先をユーザーに選ばせる基本コード

VBAでよくある要望がこれです。CSVを読み込むフォルダをユーザーに選ばせたいバックアップ保存先フォルダを選びたい指定フォルダ内のファイルを一括処理したいこういうとき、パスをコードに直書きすると、別PCや別環境で動かしにくくなります。そこで...
ExcelVBA

〖ExcelVBA〗On Errorの基本|エラーで止まらない“安全な処理”の書き方(初心者向け)

VBAでマクロを作っていると、ある日いきなりこうなります。実行したら「実行時エラー」で止まる人によって動いたり動かなかったりするデータが無いときだけ落ちるそんなときに登場するのが On Error です。On Error を使うと、エラーが...