سیندی دارای یک کاربرگ کاملا فرمت شده است که از رنگ در بسیاری از سلول ها استفاده می کند. برخی از سلول ها دارای مقادیری هستند. خیلی ها این کار را نمی کنند. او به راهی برای شمارش سلولهای رنگی خالی نیاز دارد و فکر میکند که آیا راه سریعی برای انجام این کار وجود دارد یا خیر.
چند راه وجود دارد که می توانید اطلاعات مورد نیاز خود را به دست آورید. یک راه این است که این مراحل را طی کنید:

شکل 1. کادر گفتگوی Go To Special.

شکل 2. تب Find از کادر محاوره ای Find and Replace.

شکل 3. تب Fill از کادر محاوره ای Find Format.
- رنگی را که می خواهید در شمارش خود استفاده کنید مشخص کنید.
- F5 را فشار دهید . اکسل کادر گفتگوی Go To را نمایش می دهد.
- روی دکمه Special کلیک کنید. اکسل کادر محاوره ای Go To Special را نمایش می دهد. (شکل 1 را ببینید.)
- دکمه رادیویی Blanks را انتخاب کنید.
- روی OK کلیک کنید. اکنون تمام سلول های خالی در کاربرگ انتخاب شده اند.
- Ctrl+F را فشار دهید . اکسل تب Find از کادر محاوره ای Find and Replace را نمایش می دهد.
- روی دکمه Options کلیک کنید تا کادر محاوره ای باز شود. (شکل 2 را ببینید.)
- روی دکمه Format کلیک کنید. اکسل کادر محاوره ای Find Format را نمایش می دهد.
- مطمئن شوید که تب Fill نمایش داده می شود. (شکل 3 را ببینید.)
- روی رنگ مورد نظر برای جستجو کلیک کنید. (این رنگی است که در مرحله 1 تعیین کردید.)
- روی OK کلیک کنید تا کادر محاوره ای Find Format بسته شود.
- روی Find All کلیک کنید.
وقتی این مراحل را انجام میدهید، اکسل در پایین کادر محاورهای Find and Replace نشان میدهد که چند سلول پیدا کرده است که با رنگ شما مطابقت دارند. از آنجایی که جستجو را تنها با سلولهای خالی شروع کردهاید، تعداد سلولهای خالی تمام سلولهایی است که با رنگ پر شدهاند.
البته، اگر لازم است این تعداد را چند بار تعیین کنید، این مراحل می توانند خیلی سریع خسته کننده شوند. در چنین مواردی بهتر است از ماکرو استفاده کنید. ماکرو زیر از هر سلول خالی در هر محدوده ای که انتخاب کرده اید عبور می کند و بررسی می کند که آیا حاوی یک الگو یا رنگ است و خالی است. اگر شرایط برآورده شود، یک شمارنده برای آن رنگ افزایش می یابد.
Sub CountBlankColors1()
Dim c As Range
Dim J As Integer
Dim ColorCount(56) As Long
ActiveSheet.Range("a1").CurrentRegion.SpecialCells(xlCellTypeBlanks).Select
For Each c In Selection
With c.Interior
If .Pattern <> xlNone Then
If .ColorIndex <> xlNone Then
If IsEmpty(c) Then
ColorCount(.ColorIndex) = _
ColorCount(.ColorIndex) + 1
End If
End If
End If
End With
Next c
sTemp = "These are the color counts" & vbCrLf & vbCrLf
For J = 0 To 56
If ColorCount(J) > 0 Then
sTemp = sTemp & "Color " & J & ": " & ColorCount(J) & vbCrLf
End If
Next J
MsgBox sTemp
End Sub
البته ممکن است نخواهید رنگ های مختلف را به صورت جداگانه بشمارید. درعوض، ممکن است بخواهید به سادگی بدانید که چه تعداد سلول خالی با هر رنگی در مجموع پر شده است. در این صورت ماکرو بسیار ساده تر می شود.
Sub CountBlankColors2()
Dim c As Range
Dim x As Long
x = 0
ActiveSheet.Range("a1").CurrentRegion.SpecialCells(xlCellTypeBlanks).Select
For Each c In Selection
If c.Interior.Pattern <> xlNone Then
If c.Interior.ColorIndex <> xlNone Then
If IsEmpty(c) Then x = x + 1
End If
End If
Next c
MsgBox "Number of colored blank cells: " & x
End Sub
لازم به ذکر است که این رویکردها در نظر نمی گیرند که آیا سلول از طریق استفاده از قالب شرطی رنگ می شود یا خیر. (در واقع، آنها به هیچ وجه قالب های مشروط را در نظر نمی گیرند.)