-
【VBA入門】「3/5」などを日付に変換させず文字列としてセルに入力する方法|NumberFormatで制御
Excelで「3/5」と入力すると、自動的に「3月5日」などの日付に変換されてしまうことがあります。しかし、業務においては「スラッシュ区切りのコード」や「品番」、「分数」として文字列のまま扱いたいケースも多々あります。 本記事では、Excel VBAを使用... -
【VBA入門】セルのシリアル値を取得する方法|ValueとValue2の違いを理解しよう
Excelでは、日付や時刻は見た目上は「2025/7/20」などの形式で表示されますが、内部的には「シリアル値(連続した数値)」で管理されています。この「シリアル値」をVBAで取得することで、日付の大小比較や計算処理が正確かつ効率的に行えるようになります... -
【VBA入門】数式が参照しているセル範囲を取得する方法|Precedentsプロパティの基本
Excel VBAを活用すると、セルに入力された数式がどのセルを参照しているのかを自動で取得・操作することが可能です。特に複雑な表や関数を含むブックでは、数式の参照元セルを調べる作業が不可欠です。 本記事では、VBAの Precedents プロパティを使って、... -
【VBA入門】数式がエラーかどうかを判定する方法|HasFormulaとIsErrorの組み合わせ活用術
Excelでは、計算式(数式)を入力した際に、意図しないエラー(例:#DIV/0! や #VALUE!)が表示されることがあります。VBAで処理を自動化する際、こうしたエラーが存在するかを事前に判定しておくことは極めて重要です。 この記事では、セルに入力されてい... -
【VBA入門】セルに数式が入力されているかどうかを判定する方法|HasFormulaとHasArrayの使い分け
Excel VBAを使って作業を自動化する際、セルに数式が入力されているかどうかを事前に確認したい場面はよくあります。とくに、通常の数式と配列数式のどちらが設定されているかを判別できれば、より柔軟な処理分岐が可能になります。 本記事では、HasFormul... -
【VBA入門】セルの値ではなく数式を取得する方法|Formulaプロパティの使い方
Excel VBAを使用してセルの内容を取得する際、通常は .Value プロパティで計算結果を取得します。しかし、セルに関数や数式が設定されている場合、「実際に入力されている数式そのもの」を取得したいことがあります。 この記事では、VBAでセルの数式を取得... -
【VBA入門】セルに配列数式を入力する方法|FormulaArrayの使い方と注意点
Excel VBAでは、通常の数式と同様に、**配列数式(CSE数式)**もプログラムからセルに入力することが可能です。配列数式とは、複数の値に対して一括で演算処理を行い、結果を1つのセルや複数セルに出力する特殊な数式のことを指します。 この記事では、VBA... -
【VBA入門】セルの値が日付かどうかを判定する方法|IsDate関数の使い方と注意点
Excel VBAでは、セルに入力された値が「日付」かどうかを判定したい場面があります。たとえば、入力フォームで日付の妥当性をチェックしたり、カレンダー処理や集計処理で日付としての整合性を確認したりする際に活用されます。 この記事では、VBAの IsDat... -
【VBA】セルが数値かどうかを判定する方法|IsNumeric関数で数値チェック
Excel VBAで表の値を扱う際、「そのセルに数値が入力されているかどうか」を確認したい場面はよくあります。たとえば、数値計算を行う前に、数値以外の入力を排除したい場合などです。 この記事では、VBAの IsNumeric 関数を使って、セルの値が数値かどう... -
【VBA】セルが空白かどうかを判定する3つの方法|IsEmpty・Len・比較演算子の使い分け
Excel VBAでは、セルが空白かどうかをチェックする処理が非常によく使われます。たとえば、「入力漏れを検出したい」「データが存在するかどうかで処理を分岐したい」といった場面で活躍します。 この記事では、VBAでセルが空白かどうかを判定する3つの代... -
【VBA入門】セルや範囲に値を代入する方法|.Valueプロパティの基本と使い方
Excel VBAでは、セルやセル範囲に対して直接値を入力(代入)することができます。フォームの初期表示やデータ処理の一環として、決まったセルに値を書き込む処理は非常によく使われます。 この記事では、Range オブジェクトの .Value プロパティを用いて... -
【VBA】別のセルにジャンプしたあと元のセルに戻る方法|Application.GoToで簡単制御
VBAでセルの検索やジャンプ処理を行う際に、「いったん他のシートやセルに移動して、作業が終わったら元の場所に戻りたい」という場面は多くあります。たとえば、入力値に対応する情報を別シートで探して表示し、その後入力位置に戻って編集を続けたい、と... -
【VBA】アクティブでないシート上のセル範囲に移動・選択する方法|Application.GoToの活用
Excel VBAでセル範囲を選択する処理を書く際に、「別シート上のセルへ移動・選択したい」というケースは少なくありません。しかしながら、Range(...).Select はアクティブなシートにしか使用できないため、シートをまたいだ選択ではエラーになります。 こ... -
【VBA】特定のセルを画面左上にスクロール表示させる方法|ScrollRowとScrollColumnの使い方
Excelで作業をしていると、特定のセルを画面の左上にぴったり表示したいという場面があります。たとえば、「データ一覧の途中行へ瞬時に移動し、そこを基点に作業したい」といったケースです。 そのようなときに便利なのが、VBAの ScrollRow と ScrollColu... -
【VBA】スクロール可能な表示エリアを制限・解除する方法|ScrollAreaの使い方
Excelでは、ユーザーが操作できるセル範囲を制限したい場面があります。たとえば、誤入力を防ぎたいときや、帳票テンプレートのレイアウトを固定したいときなどです。 そのようなときに便利なのが、VBAで使用できる ScrollArea プロパティです。このプロパ... -
【VBA】現在ウィンドウ内に表示されているセル範囲を取得する方法|VisibleRangeの活用
Excelでマクロを作成しているときに、画面上に見えている範囲だけを対象に処理したいと感じたことはありませんか?そのようなときに役立つのが、ActiveWindow.VisibleRange プロパティです。 このプロパティを使うことで、現在のウィンドウ上に表示されて... -
【VBA】非表示の行または列が存在するかをチェックする方法|SpecialCellsとAreasの活用
Excelで業務データを扱っていると、行や列を非表示にしていることに気づかず処理に支障が出ることがあります。そのため、マクロで非表示の行または列が存在するかどうかを事前に確認する処理を入れておくと非常に便利です。 この記事では、SpecialCells(xl... -
【VBA】表示されているセル範囲だけを抽出して処理する方法|フィルターや非表示行を除外して操作
Excelでは、オートフィルターや手動での非表示処理などにより、一部のセルが表示されていない状態になることがあります。そのような場合、見えているセルだけを対象に処理を行いたいというニーズは非常に多くあります。 VBAでは SpecialCells(xlCellTypeVi... -
【VBA】図形やグラフがどのセル上にあるかを調べる方法|TopLeftCellとBottomRightCellの使い方
Excelでは、グラフや図形(シェイプ)を自由に配置できますが、それらがどのセルの上に置かれているかを知りたい場面があります。たとえば、帳票作成や図形位置の制御、データと図形の対応関係を調べるときなどです。 本記事では、VBAを使ってシート上の図... -
【VBA】1行分のセル範囲を対象に処理を行う方法|行単位での書式変更・範囲取得の基本
Excel VBAでマクロを作成する際、「1行分のデータ」を単位として処理したい場面は非常に多くあります。たとえば、見出し行を太字にする、データが入力されている範囲だけを対象に処理する、などのケースです。 本記事では、特定の行を範囲として選び、書式... -
【VBA】検索対象のすべてのセルを見つけて一括処理する方法|FindとFindNextの繰り返し活用
VBAで「特定の文字列を含むセルがシート内に複数ある」場合、それらを1つずつ探し出して処理したいことがあります。そのようなときに活躍するのが、Find 関数と FindNext 関数の組み合わせです。 本記事では、「森」という文字列を含むセルをすべて検索し... -
【VBA】セルを検索して見つかった位置の情報を取得・操作する方法|Find関数の基本と活用
Excel VBAでデータを自動処理する際、特定の文字列を含むセルを検索し、そのセルに対して処理を行いたいという場面は非常に多くあります。このような場合、Find 関数を使うことで、目的のセルを効率的に探し出し、関連するデータの取得や更新が簡単に実現... -
【VBA】離れた複数のセル範囲(エリア)を個別に処理する方法|Selection.Areasの使い方
Excelでセルを複数選択するとき、Ctrlキーを押しながら離れた場所にある複数のセル範囲を選択できます。このような**「複数のエリア」**をVBAで処理する場合は、Selection.Areas を使用することで、エリアごとに個別の処理を行うことが可能です。 本記事で... -
【VBA】2つのセル範囲の重なり合う部分(共通範囲)を取得する方法|Intersect関数の使い方
VBAで複数のセル範囲を操作する際、「2つの範囲が重なっているかどうかを判定したい」というケースがあります。このような場面では、Intersect 関数を使うことで、重なっている部分(共通範囲)だけを抽出することが可能です。 本記事では、Intersect を使... -
【VBA】複数のセル範囲を結合して一括操作する方法|Union関数の使い方
VBAを使って複数のセル範囲に対して同じ処理を一度に行いたいとき、個別に繰り返すのは手間がかかります。このような場面では、Union 関数を使って複数のセル範囲を一つの集合として扱うことで、より簡潔に効率的な処理が可能になります。 本記事では、異... -
【VBA】結合セルかどうかを判定して、結合範囲を取得する方法|MergeCellsとMergeAreaの活用
Excelで作成された表には、複数のセルが結合されている箇所がよくあります。VBAでこれらを操作する際には、「そのセルが結合されているか」「結合範囲全体を取得できるか」を正しく判定・制御することが重要です。 本記事では、VBAでセルが結合されている... -
【VBA】空白セルを含む行を一括で削除する方法|SpecialCellsとEntireRowの組み合わせ
Excelでデータ処理をしていると、「空白セルが含まれている行をまとめて削除したい」という場面はよくあります。手作業で1行ずつ削除するのは手間がかかりますが、VBAのSpecialCellsとEntireRowを組み合わせれば、一瞬で効率的に処理できます。 本記事では... -
【VBA】空白セルだけを抽出・操作する方法|SpecialCellsの活用で効率的に処理
Excelで大量のデータを扱っていると、「空白セルだけを抽出して操作したい」という場面は非常に多くあります。たとえば、空白セルに色を付けたい、確認のために選択したい、メッセージを表示したいなどです。 本記事では、VBAのSpecialCellsを活用して、空... -
【VBA】基準セルを含む行・列全体を操作する方法|行の非表示・列の挿入など
Excel VBAでは、特定のセルを基準に、その行全体や列全体を操作したいという場面がよくあります。たとえば、「基準となるセルがある行を非表示にする」「その列の前に新しい列を挿入する」などの処理です。 本記事では、セル D4 を基準とした行や列の操作... -
【VBA】文字列が入力されているセルだけを操作する方法|SpecialCellsの活用法
Excel VBAでデータを扱う中で、「文字列が入力されているセルだけを対象に処理したい」という場面は少なくありません。たとえば、数値は無視して、テキストのみを太字にする・色を変えるといったニーズに対応するには、SpecialCells メソッドを活用すると...