SpecialCellsで空白セルや数式セルだけを一括操作する方法【VBA】

【業務効率化】VBA
スポンサーリンク

こんにちは!ぐーです。
いつもブログをご覧いただき、ありがとうございます!

突然ですがもし、5,000行ある売上リストから「空白セル」を見つけるとしたら、目で追うと1時間はかかりますよね。集中力も切れます。

フィルター機能も一回探すだけならいいですが、頻繁に使わないといけないならかなり面倒です。

でも、VBAの SpecialCells を使えば、1秒もかかりません。

この機能は、Excelに「空白だけ選んで!」「数式だけ選んで!」と命令できる、いわば「超高性能な自動選別機」です。

今回はその方法とコピペで使えるコードを紹介します。

【業務効率化】VBAの記事を見る

コピペで使えるVBAコード

今回は、実務で本当によく使う2つのパターンを用意しました。

標準モジュールに貼り付けて、F5キーを押すだけで動きます。

① 「空白セル」を一瞬で見つけて黄色にする

データの入力漏れチェックに最適です。

Sub HighlightBlankCells()
    ' 範囲選択されている場所、または表全体を対象にする
    Dim rng As Range
   
    ' エラー回避(該当するセルがないとエラーになるため)
    On Error Resume Next
   
    ' 空白セル(xlCellTypeBlanks)だけを取得
    Set rng = Selection.SpecialCells(xlCellTypeBlanks)
   
    On Error GoTo 0
   
    ' 結果の判定
    If rng Is Nothing Then
        MsgBox "空白セルは見つかりませんでした!", vbInformation
    Else
        rng.Interior.Color = vbYellow ' 背景を黄色に
        MsgBox rng.Count & " 個の空白セルが見つかりました。", vbExclamation
    End If
End Sub

② 大事な「数式セル」だけ選んで文字を赤くする

「どこに数式が入ってるかわからないから触るのが怖い」という不安を消します。

Sub SelectFormulaCells()
    Dim rng As Range
   
    On Error Resume Next
   
    ' 数式が入っているセル(xlCellTypeFormulas)だけを取得
    Set rng = Cells.SpecialCells(xlCellTypeFormulas)
   
    On Error GoTo 0
   
    If rng Is Nothing Then
        MsgBox "数式セルはありませんでした。", vbInformation
    Else
        rng.Font.Color = vbRed ' 文字色を赤に
        rng.Select ' 選択状態にする
        MsgBox rng.Count & " 個の数式セルを選択しました。", vbInformation
    End If
End Sub

SpecialCellsの重要性

この SpecialCells メソッドは、指定した型(空白や数式など)に一致するすべてのセルを表す Range オブジェクトを返してくれます。

つまり、ループ処理(For文など)で1つずつセルを確認するよりも、Excelの内部機能を使うため、圧倒的に処理速度が速いということです。

「遅いコード」を卒業する第一歩にもなるので、ぜひ試してみてください。

【業務効率化】VBAの記事を見る


VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でも、年間100万円以上の節約・資産管理・スキルアップで新NISAで年間360万円投資し、iDeCoもフル活用しています。日商簿記3級持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、稼ぐ力を高めるITスキルについて発信しています。

生活を豊かにしたくて、高配当株投資で年間配当金60万円をめざしています。現在は年間配当金25万円以上達成!

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【業務効率化】VBAITスキル
スポンサーリンク
ぐーをフォローする

コメント

タイトルとURLをコピーしました