
No.3ベストアンサー
- 回答日時:
みなさんの回答のように関数でできますが、無理やりマクロにすると、こんなものですか。
最初はワークシート関数を使っています。2つ目は関数を使わず、数えています。結果をC1、C2に書き出します。参考にして下さい。
Sub KuuhakuCount()
Range("C1") = WorksheetFunction.CountBlank(Range("B1:B500"))
End Sub
Sub KuuhakuCount2()
Dim rg As Range 'セル
Dim ct As Long 'カウンタ
For Each rg In Range("B1:B500")
ct = ct + Abs(rg = "") '空白なら件数をカウント
Next
Range("C2") = ct
End Sub
No.2
- 回答日時:
エクセルはあんまり詳しくないですが、
500-Counta(B1:B500)とかは?
No.1
- 回答日時:
式ではだめでしょうか?
マクロより式を使った方が早いと思いますよ。
式
=COUNTIF(B1:B500,"")
式はだめで、計算用のセルがある場合
Cells(501,2) = "=COUNTIF(B1:B500," & Chr(34) & Chr(34) & ")"
上記は、B501セルに"=COUNTIF(B1:B500,"")"を入力の意味
で、cells(501,2)の値を参照すれば値が取れます。
値が邪魔なら、取得した後に
cells(501,2) = ""
を実行し、クリアする。
一時的にもセルを使用できない場合はループ(For Next)を使って
地道に勘定するしか思いつかないです。
cnt = 0
for i = 1 to 500
if cells(i,2)="" then cnt = cnt + 1
next
もっと効率の良い関数があるのかもしれませんが...
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで指定した日付から過去の...
-
ExcelVBAを使って、値...
-
Application.Matchで特定行の検索
-
ExcelのVBAで数字と文字列をマ...
-
DataGridViewのセル編集完了後...
-
Excel vbaで特定の文字以外が入...
-
ExcelVBA:オートフィルタをかけ...
-
VBAでセル同士を比較して色付け
-
エクセルvbaで、別シートの最下...
-
【Excel】指定したセルの名前で...
-
i=cells(Rows.Count, 1)とi=cel...
-
特定のセルが空白だったら、そ...
-
DataGridViewの各セル幅を自由...
-
VBA実行後に元のセルに戻りたい
-
3桁または4桁の数値を時刻に...
-
VBAでセルをクリックする回...
-
セルに貼り付けた画像の上から...
-
VBからEXCELのセルの値を取得す...
-
エクセルVBAで結合セルの真ん中...
-
Excel VBA マクロ ある列の最終...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
特定行の色を変えたい(FlexGrid)
-
i=cells(Rows.Count, 1)とi=cel...
-
Excelで指定した日付から過去の...
-
エクセルvbaで、別シートの最下...
-
VBA実行後に元のセルに戻りたい
-
Application.Matchで特定行の検索
-
”戻り値”が変化したときに、マ...
-
VBAでセルをクリックする回...
-
任意フォルダから画像をすべて...
-
Excel VBAで、 ヘッダーへのセ...
-
TODAY()で設定したセルの日付...
-
【Excel VBA】指定行以降をクリ...
-
Excel vbaで特定の文字以外が入...
-
ExcelのVBAで数字と文字列をマ...
-
Excel VBA、 別ブックの最終行...
-
DataGridViewの各セル幅を自由...
-
VBA ユーザーフォーム ボタンク...
-
連続する複数のセル値がすべて0...
おすすめ情報