dポイントプレゼントキャンペーン実施中!

毎度お世話になっております。
VBA初心者です、下記の内容お教えください。

Sub Sample02_3()
Dim cnt As Long
cnt = WorksheetFunction.CountIf(ActiveSheet.Range("A1:A11"), "")
MsgBox "空白は、" & cnt & "件です。", vbInformation
End Sub

のようなコード
A1からA11のセルの中から空白を数えるマクロを作成しました。

ただこの場合だとワークシート上で検索範囲がA12以降に増えた場合
・A12以降を数えません。
・列全部を範囲にした場合、表外の空白まで数えてしまいます。

手動でやる場合は
検索列先頭で「Shift+ctrl+↓」でデータの途切れるセルまで選択をするのですが
VBAマクロでこれを自動でやることは出来ないでしょうか?。

以上宜しくお願いいたします。

A 回答 (2件)

単純にその[Shift]+[ctrl]+[→]を自動記録で記録すると、



Range(Selection, Selection.End(xlDown)).Select

こういった形になるはずです。要するに End(xlDown) というプロパティ?があって
ソレを使うと、上下左右の端が検索できるんです。詳細はマクロのヘルプで検索
してみてください。

で、先にこのやり方で範囲を指定しておき、

cnt = WorksheetFunction.CountIf(Selection, "")

という感じでカウントすればいいかと思います。

動作チェックはやっていないので、動作しなかったらごめんなさい。
でも、基本的にはこのやり方で解決できるはずです。
    • good
    • 0
この回答へのお礼

有難うございました。
少し分かったような気がします。

また質問の内容が言いたい事と違っていたのでさらに質問してみようと思います。

その際には是非ご教授お願いしたいと思っております。

有難うございました。

お礼日時:2006/11/01 16:51

データーが入っている一番下のセルの行は



Range("A65535").End(xlUp).Row

で、取得できます(A列の場合)

>データの途切れるセルまで


Range("A1").End(xlDown).Row

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

お二人とも早速の回答有難うございます。

大変申し訳ないのですがお願いがあります。
当方VBA初心者でお二人のお教えいただいた内容をうまく組み込むことが出来ません。

Sub Sample02_3()
Dim cnt As Long
cnt = WorksheetFunction.CountIf(ActiveSheet.Range("A1:A11"), "")
MsgBox "空白は、" & cnt & "件です。", vbInformation
End Sub

に組み込むとしたらどのようになるでしょうか。

いろいろ試したのですがうまくいかないのでお教えください。

お礼日時:2006/11/01 16:00

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

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