マクロ
Excel VBAで発生する「Type mismatch(型が一致しません)」エラーの原因と対策を解説します。数値と文字列の不一致や型変換エラーなど、よくある原因と解決方法を紹介します。
Excel VBAで発生する「Object variable not set(オブジェクト変数が設定されていません)」エラーの原因と対策を解説します。Set忘れやFind失敗によるNothingの発生など、初心者がつまずきやすいポイントを分かりやすく紹介します。
Excel VBAの「On Error Resume Next」の意味や使い方を解説します。エラーを無視する仕組みや危険性、安全な使い方を初心者向けに紹介します。
Excel VBAで発生する「Subscript out of range(インデックスが有効範囲にありません)」エラーの原因と対策を解説します。シート名やブック名の間違い、配列の範囲外参照などのよくある原因と、エラーを防ぐ方法を紹介します。
Excel VBAで必要な行だけループする方法を解説します。 End(xlUp)を使った最終行取得やCurrentRegionの活用方法、 処理を高速化する実務向けテクニックを紹介します。
VBAでループ処理を行うと、 空白行まで処理してしまう ことがあります。 例えば、 CSVファイルを読み込む 一覧データを処理する 集計処理を行う といった場面では、空白行をスキップしたいことがよくあります。 この記事では、 空白行をスキップする方法 空…
Excel VBAで最もよく使う処理の1つがこちらです。 「最終行の取得」 例えば、 データ最終行までループしたい 空白を除いて処理したい CSVの行数を取得したい 自動集計したい といった場面で必須のテクニックです。 この記事では、 End(xlUp) UsedRange Curre…
Excel VBAでは、セルにコメント(メモ)を追加できます。 例えば、 エラー理由を書く 自動メッセージを入れる 注意事項を表示する 入力ルールを説明する といった場面で便利です。 この記事では、コメントの追加・変更・削除・存在確認の方法を解説します。 …
実務でかなり多いのが 黄色セルだけ集計 赤セルだけ削除 色付きセルだけコピー です。 基本コード 黄色セルだけ処理 Sub ColorCellsOnly() Dim c As Range For Each c In Range("A1:A10") If c.Interior.Color = vbYellow Then Debug.Print c.Value End If N…
Excel VBAでは、条件に応じてセルの色を変更できます。 例えば、 100以上なら赤色 納期超過なら黄色 売上目標達成なら緑色 などです。 この記事では、For文とIf文を使った色付け方法を解説します。 100以上のセルを赤色にする A列の値を確認し、 100以上なら…
Excelで表を作るとき、 「A1:C1 を結合してタイトルを中央に表示する」 という操作をしたことがある人は多いと思います。 見た目がきれいになるため便利な機能ですが、実はExcelの実務現場やVBA開発では、 「セル結合はできるだけ使わない」 と言われること…
xcel VBAでは、セル結合も自動化できます。 例えば、 タイトル行を結合 見出しを中央表示 結合セルを解除したい という場面です。 セルを結合する方法 基本コード Sub MergeCells() Range("A1:C1").MergeEnd Sub 実行結果 A1~C1 が1つのセルになります。 横…
Excel VBAでよくある処理がこちらです。 空白セルを削除したい 空白行を消したい データを詰めたい 手作業だと大変ですが、VBAなら一瞬です。 この記事では、空白セルを削除する方法を初心者向けに分かりやすく解説します。 方法① 空白セルを削除して上に詰…
Excel VBAを勉強し始めると、かなりの確率で迷うのがこちらです SheetsWorksheets 見た目がほぼ同じなので、 何が違うの? どっちを使えばいい? いつ使い分ける? と悩む人がとても多いです。 この記事では、Sheets と Worksheets の違いを初心者向けに分か…
Excel VBAで処理を書いていると、よく出てくる疑問がこちらです。 非表示行も処理されるの? フィルターで隠れた行は? 表示されている行だけ処理したい 実は、VBAではデフォルトで 非表示行も含めて処理されます この記事では、 非表示行も含める方法 非表…
Excel VBAで作業していると、 複数のPDFを1つにまとめたい シートごとに出力したPDFを結合したい 月次レポートを1つのPDFにしたい という場面があります。 例えば、 売上.pdf在庫.pdf集計.pdf を、 まとめ.pdf のようにしたいケースです。 この記事では、Exc…
Excelでは、 全シートをまとめて印刷したい 会議資料をPDF化したい レポートを一括出力したい という場面がよくあります。 そんな時はVBAで一発です。 ① すべてのシートをまとめて印刷する 最も簡単な方法はこちらです。 Sub PrintAllSheets() Worksheets.Pr…
Excelでよくある作業の1つがこれです。 シートごとに別ファイルにしたい 担当者ごとに配布したい 月別シートを個別保存したい そんな時は、VBAでシートを1つずつ別ブックに分割保存できます。 この記事では、その方法を説明します。 基本コード Sub SplitShe…
Excelでシートが大量にあると、シート名の変更がとても面倒になります。 例えば Sheet1, Sheet2 → 日付付きに変更したい 売上_1, 売上_2 → 連番にしたい 「2023」→「2024」に一括変更したい この記事では、シート名を一括変更するマクロをわかりやすく解説し…
VBAでは、シート名によって処理を変えることがよくあります。 例えば 「売上」なら集計 「データ」なら加工 「ログ」ならスキップ この記事では、シート名で条件分岐する方法を解説します。 方法①:Ifで分岐(基本) Sub BranchByName() Dim ws As Worksheet…
VBAで全シートを処理するとき、非表示シートは除外したいのに非表示シートまで処理されてしまうことがあります。 これを防ぐのが 非表示シートの除外 です。 シートの表示状態とは? VBAではシートの表示状態は3種類あります。 状態 意味 xlSheetVisible 表…
VBAで複数シートを扱うとき、**「特定のシートだけ処理したい」**場面はとても多いです。 例えば 「売上」シートだけ処理したい 「データ」シートだけ対象にしたい 一部のシートだけ集計したい この記事では、特定のシートだけ処理する方法を説明します。 方…
xcel VBAでよくあるトラブルの1つがこれです。 存在しないシートを操作してエラー Subscript out of range この記事では、シートが存在するか判定する方法をわかりやすく解説します。 方法①:On Errorを使う(定番) Function SheetExists(sheetName As Str…
Excel VBAでは、特定のシートを操作するためにシートを名前で取得することがよくあります。 この記事では、シンプルかつ実用的な方法を解説します。 基本:シート名で取得する Sub GetSheet() Dim ws As Worksheet Set ws = Worksheets("Sheet1") MsgBox ws.…
Excel VBAでは、シートの操作(追加・削除・コピー)は非常によく使います。 例えば 新しいシートを自動で作成 不要なシートを削除 テンプレートシートをコピー この記事では、シートの追加・削除・コピー方法をまとめて解説します。 シートを追加する方法 …
Excel VBAでは、すべてのシート名を取得する処理がよく使われます。 例えば シート一覧を作る 自動処理の対象を確認 ログ出力 この記事では、シート名を取得する方法を初心者向けに解説します。 基本:For Each で取得する 最もよく使う方法はこちらです。 S…
Excel VBAでよくある処理の1つが**「シートの枚数を数える」**です。 例えばこんな場面で使います。 シート数に応じて処理を変える 全シートをループする前に確認 管理用のチェック処理 この記事では、シート数をカウントする方法をわかりやすく解説します。…
銀行丸めと四捨五入の違いを理解する 「Round() を使ったのに、結果が合わない…」 これは VBA 初心者がよくはまる問題です。 VBA の Round() は四捨五入じゃない? Round(2.5)' → 2 Round(3.5)' → 4 VBA の Round は 銀行丸め(偶数丸め) です。 銀行丸め…
~初心者が必ず混乱するポイントを完全整理~ Excel VBAで自動化をしていると、必ずぶつかる疑問があります。 「このブック、もう開いてる?」 「同じファイルを二重に開いてしまわないか不安…」 実務でもトラブルになりやすいテーマなので、正しい判定方法…
~画面に表示せずに高速処理する基本と注意点~ Excel VBAで自動化をしていると、次のような要望が必ず出てきます。 フォルダ内のExcelを開かずに処理したい 画面をチラつかせずに裏で更新したい 大量のブックを高速に処理したい この記事では、「開いていな…