ExcelVBA

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

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

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

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

【社内IT担当者向け】Excelマクロ・VBA外注の相場と依頼先|外注の現実的な選択肢

Excel VBAを使って業務効率化を進めたいが、ツール全体の設計や作り込みまでは手が回らない。 そんな悩みを持つ社内IT担当者・情シス担当の方は多いのではないでしょうか。マクロの簡単なコードを書いたりすることはできるけど、フォームを使った...
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 を使うと、エラーが...
ExcelVBA

〖ExcelVBA〗指定したシートが存在するかチェックする基本コード|エラーを防ぐ定番マクロ

ExcelVBAでよくあるエラーの1つが、存在しないシート名を指定してしまうパターンです。たとえば、次のようなコードを書いたときに…Worksheets("集計").Range("A1").Value = "OK"もし「集計」というシートが...