VBAでセルが空白なら〇〇する方法を紹介【コピペ用コード掲載】
セルが空白なら○○という処理をしたい
このような問題をVBAで解決する方法をご紹介します。
この記事では、仕事でよく利用される代表的な3つの事例を参考に「セルが空白なら〇〇という処理をする」VBAの導入方法を解説しています。
3つのサンプル事例がこちら
- セルが空白なら背景色を赤にする
- セルが空白なら空白セルをカウントする
- セルが空白なら別シートのテキスト編集する
これらの事例は実際の業務に導入実績があるもので、エクセルを使ってデータ管理や書類整理、スケジュール管理などを行っている方にかなりおすすめです。
事例の解説ではコピペで使えるサンプルコードや実際にVBAを設定する画面を使ってVBA導入方法を紹介しているので、
VBA初心者だけど「セルが空白なら〇〇という処理をするVBA」を導入したい!なんとしてもエクセル業務の効率をアップさせたい!
と考えている方は是非チェックしてください
セルが空白なら〇〇する処理を自動化するVBAとは?
「セルが空白なら〇〇する」という処理は、
関数IFや繰り返し処理(For~Next)を利用して一覧表で空白のセルを検索し該当したとき好きな処理を行う
というプログラムです。
一覧表の最終行や最終列が変動しても自動的に検索範囲を調整することができるので、データ管理やデータ分析、資料作成業務に最適です。
具体的にどのような処理を自動化できるのか!を3つのサンプル事例を使ってご紹介します。
セルが空白なら背景色を赤にするマクロ
一覧表の行数、列数は変動しても問題ありません。
実行ボタンを押下した結果がこちら
空白セルの背景色を一瞬で赤に塗りつぶすことができました。

ガッツポーズの人
空白セル数をカウントするマクロ
実行ボタンを押下した結果がこちら
空白セルの集計マクロはいろんな業務で応用できるので下記で紹介している導入方法をマスターしてみてください。
セルが空白の場合、別シートのテキストを転記する
実行ボタンを押下した結果がこちら
これら3つのサンプル事例を導入できるだけでエクセル業務の効率を格段にアップさせることができます。
セルが空白なら○○する処理ができれば便利なのになぁと考えたことがある方は下記でVBAの導入方法を紹介しているので参考にしてみてください。
セルが空白なら〇〇するVBAの作り方と導入方法
セルが空白なら○○するVBAは関数 IFとFor ~next(繰り返し処理)の組み合わせで作ることができます。
基本構造はこちら
For i = 1 To 10
IF Cells(i,1)="" Then
Cells(i,1).Interior.Color = RGB(255, 0, 0)
Else
EndIf
Next
上記基本コードは、
A列の1行目から10行目までの空白セルを赤に塗りつぶす
というプログラムです。
この基本コードをベースに業務内容に合わせたプログラムを入力していくと「セルが空白なら〇〇するVBA」をスムーズに開発できるようになります。
続いて、VBAの導入方法を3つのサンプル事例を使って具体的に解説していきます。
セルが空白なら背景色を赤に塗りつぶすマクロの導入方法
1.VBA編集画面を開く
2.標準モジュールを作成する
3.標準モジュールにVBAを記入する
4.サンプルコード
Sub 背景色を赤にする()
Dim i, j As Long
g = Cells(Rows.Count, 3).End(xlUp).Row
r = Cells(3, Columns.Count).End(xlToLeft).Column
For i = 3 To g
For j = 3 To r
If Cells(i, j) = "" Then
Cells(i, j).Interior.Color = RGB(255, 0, 0)
Else
End If
Next
Next
End Sub
5.ボタンの作成
6.作成したボタンにマクロを登録
これで「セルが空白なら背景色を赤にするVBA」を導入することができます。
セルが空白なら空白セルをカウントする
1.VBA編集画面を開く
2.標準モジュールを作成する
3.標準モジュールにVBAを記入する
4.サンプルコード
Sub 空白セル数をカウントする()
Dim i, j As Long
g = Cells(Rows.Count, 3).End(xlUp).Row
r = Cells(3, Columns.Count).End(xlToLeft).Column
Cells(g + 1, r) = WorksheetFunction.CountIf(Range(Cells(4, 4), Cells(g, r)), "")
Cells(g + 1, r - 1) = "合計"
End Sub
5.ボタンの作成
6.作成したボタンにマクロを登録
セルが空白なら別シートのテキスト編集する
1.VBA編集画面を開く
2.標準モジュールを作成する
3.標準モジュールにVBAを記入する
4.サンプルコード
Sub 別シートのテキストを転記する()
Dim Ash As Worksheet
Dim Bsh As Worksheet
Set Ash = ThisWorkbook.Worksheets("別シートのテキストを転記する")
Set Bsh = ThisWorkbook.Worksheets("背景色を赤にする")
Dim i, j As Long
g = Ash.Cells(Rows.Count, 3).End(xlUp).Row
r = Ash.Cells(3, Columns.Count).End(xlToLeft).Column
For i = 3 To g
For j = 3 To r
If Ash.Cells(i, j) = "" And Bsh.Cells(i, j) <> "" Then
Ash.Cells(i, j) = Bsh.Cells(i, j)
Else
End If
Next
Next
End Sub
5.ボタンの作成
6.作成したボタンにマクロを登録
手順通りに操作すれば簡単に「セルが空白なら〇〇するVBA」を導入することができるはずです。
是非挑戦してみてください。
サンプルコードに中で使われている関数IFやFor~Next(繰り返し処理)の使い方は下記の記事で詳しく紹介されています。

ガッツポーズの人
VBA未経験者が業務内容に合わせた「セルが空白なら〇〇するVBA」を導入する方法
この記事では、「セルが空白なら〇〇するVBA」の使い方や導入方法を詳しく説明してきましたが、
業務内容に合わせたマクロを導入するのって結構難しいですよね。
基本的なことは理解できたけど思い通りのマクロに設定できない
という方が多いのではないでしょうか。
そんなVBA未経験者や初心者の方におすすめのVBAの導入方法をご紹介します。
VBA開発を専門家に依頼をする
自分でVBAを開発することができなくても、専門家にVBAを設定してもらうことで業務内容に合わせたVBAを導入することができます。
依頼方法としては、
「こんなような仕事をしていて、こんなような作業で困っている」というように業務内容を報告。「こんなような処理を自動化したい」という要望事項や改善事項を相談してVBAの開発を依頼する
このような流れが一般的です。
開発費用はかかってしまいますが仕事の効率を2倍、3倍にアップさせることができるので、
エクセル業務のウェイトが多くて困っているという方はVBAを使ったエクセル業務の自動化は絶対におすすめです。
当マメBlogでも業務内容に合わせたVBA開発依頼を受注しています。
- 写真を貼り付けるマクロの開発
- 書類作成を自動化する転記マクロ開発
- 絞り込み機能付きドロップダウンリストの設定

ガッツポーズの人
マメBlogが行うVBA開発の特徴がこちら
- 安価
- スピード納入
- 業務内容に合わせた柔軟なVBA開発
土曜日、日曜日、祝日関係なしに作業させていただきますので「スピード納入」が可能です。
まずは「どんな処理を自動化したいのか」をご相談ください。
「VBA開発が可能か」「どのようなVBAを設定すべきか」「見積金額はどれくらいなのか」を打合せした後、作業を開始いたします。

ひらめく人
VBAが設定されたエクセルファイルを手に入れる
VBA未経験者の方でも簡単にVBAを導入する方法として、
自動化したい内容と同じ処理をするVBAが設定されたエクセルファイルをダウンロードして利用する
という方法があります。
ネット上にはいろんなVBAの情報が豊富に掲載されていて、
ダウンロードしてそのまま仕事に応用できるようなエクセルファイルがアップされています。
下記のサイトでは、いろんな効率化マクロが掲載されているのであなたの業務内容に合ったマクロが見つかるかもしれません。
是非参考にしてみてください。
VBAの基礎知識を身に付ける
VBAの基礎知識を身に付けることで、参考書やネットにアップされているVBAを扱えるようになります。
基本的なVBAを組み合わせることで効率化VBAを自分で設定することが可能に!!

ガッツポーズの人
VBAの基礎知識を身に付けるおすすめの方法が、
オンラインプログラミングスクール【1st Step】とVBA初心者向けの参考書を組み合わせ勉強する
です。
これはめちゃくちゃおすすめのVBA基礎知識を身に付ける方法なので騙されたと思ってお試しください。
オンラインプログラミングスクール【1st Step】を利用した感想を紹介している記事がこちら
VBA初心者向けのおすすめ参考書を詳しく紹介している記事がこちら
VBAはネットや参考書から情報を得やすいので、最も勉強のしやすいプログラミングと言われています。
実際に私はプログラミングに触れたことがない状態でVBA学習を始めて、1ヵ月以内に業務効率化VBAを導入できるようになりました。
基礎知識とコツさえ掴めば誰でも簡単に業務効率化VBAを開発できるようになると思います。
メルマガでは、初心者向けのVBA学習情報を発信しています。
プログラマーではない素人の私が発信しているメルマガなので、VBA初心者の方に伝わりやすい内容になっています。
VBAに興味はあるけど勉強をスタートさせるまでには至ってない
このような方は是非メルマガに登録してVBAに関するお得な情報をゲットしてみて下さい。
ディスカッション
コメント一覧
まだ、コメントがありません