とっておきの「まかない飯」を教えて下さい!

複数セルの空白の数を判定したいです。
以下のように記載したのですが、エラーが出ます。
ただ、Set cRange = Worksheets("input").Range("h9,r9,f15,f17")を、
Set cRange = Worksheets("input").Range("h9")のようにすると正しく動作します。
(H9セルが空白なら1と表示されます)
複数の飛び地になっているセルの指定が間違っているのでしょうか?

Dim cRange as Range
Dim i as Long

Sub test()

Set cRange = Worksheets("input").Range("h9,r9,f15,f17")

i = WorksheetFunction.CountBlank(cRange)

MsgBox (i)

End Sub

A 回答 (2件)

こんにちは



どうやら、複数範囲には対応していないようですね。
ですので一つずつ数えるしかなさそうです。

Sub test()

Set cRange = Worksheets("input").Range("h9,r9,f15,f17")

i = 0
For Each c In cRange.Cells
If c = Empty Then i = i + 1
Next c

MsgBox (i)

End Sub
    • good
    • 0
この回答へのお礼

一気には出来ないんですね。
了解しました。
ご丁寧にありがとうございます!

お礼日時:2022/10/24 17:02

CountBlank関数に指定できるのは多分ですが連続したセル範囲1塊(1個~複数)だと思いますよ。

    • good
    • 0
この回答へのお礼

なるほど、そもそも複数範囲に適用できないということを学べました!

お礼日時:2022/10/24 17:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報