OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

特定の範囲内に空白セルがいくつあるかを数えるマクロを作りたいのですが。

  • すぐに回答を!
  • 質問No.104569
  • 閲覧数1154
  • ありがとう数4
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 67% (35/52)

B1セルからB500セルまでの間に、
空白セルがいくつあるかを数えるマクロを作りたいのですが…。
自分では作れません。
作ってください!!!
お願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3
レベル13

ベストアンサー率 68% (791/1163)

みなさんの回答のように関数でできますが、無理やりマクロにすると、こんなものですか。最初はワークシート関数を使っています。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
お礼コメント
iillyy

お礼率 67% (35/52)

2つ目の方が「!!!」な感じ。
ありがとうございました。
投稿日時 - 2001-07-20 13:51:37
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル8

ベストアンサー率 37% (13/35)

式ではだめでしょうか? マクロより式を使った方が早いと思いますよ。 式 =COUNTIF(B1:B500,"") 式はだめで、計算用のセルがある場合 Cells(501,2) = "=COUNTIF(B1:B500," & Chr(34) & Chr(34) & ")" 上記は、B501セルに"= ...続きを読む
式ではだめでしょうか?
マクロより式を使った方が早いと思いますよ。

=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

もっと効率の良い関数があるのかもしれませんが...
お礼コメント
iillyy

お礼率 67% (35/52)

試してみます…
ありがとうございました。
投稿日時 - 2001-07-20 13:52:33


  • 回答No.2
レベル9

ベストアンサー率 21% (13/60)

エクセルはあんまり詳しくないですが、 500-Counta(B1:B500)とかは? ...続きを読む
エクセルはあんまり詳しくないですが、
500-Counta(B1:B500)とかは?
お礼コメント
iillyy

お礼率 67% (35/52)

お返事ありがとうございます・・・
でも、実はマクロで作りたかったー。
またいつか、お世話してください。
投稿日時 - 2001-07-20 13:50:18
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ