VBAで「Shift+ctrl+↓」のようなコード
毎度お世話になっております。
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マクロでこれを自動でやることは出来ないでしょうか?。
以上宜しくお願いいたします。
回答(2件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
No.2ベストアンサー10pt
データーが入っている一番下のセルの行は
Range("A65535").End(xlUp).Row
で、取得できます(A列の場合)
>データの途切れるセルまで
は
Range("A1").End(xlDown).Row
です
この回答へのお礼
お二人とも早速の回答有難うございます。
大変申し訳ないのですがお願いがあります。
当方VBA初心者でお二人のお教えいただいた内容をうまく組み込むことが出来ません。
Sub Sample02_3()
Dim cnt As Long
cnt = WorksheetFunction.CountIf(ActiveSheet.Range("A1:A11"), "")
MsgBox "空白は、" & cnt & "件です。", vbInformation
End Sub
に組み込むとしたらどのようになるでしょうか。
いろいろ試したのですがうまくいかないのでお教えください。
No.1ベストアンサー20pt
単純にその[Shift]+[ctrl]+[→]を自動記録で記録すると、
Range(Selection, Selection.End(xlDown)).Select
こういった形になるはずです。要するに End(xlDown) というプロパティ?があって
ソレを使うと、上下左右の端が検索できるんです。詳細はマクロのヘルプで検索
してみてください。
で、先にこのやり方で範囲を指定しておき、
cnt = WorksheetFunction.CountIf(Selection, "")
という感じでカウントすればいいかと思います。
動作チェックはやっていないので、動作しなかったらごめんなさい。
でも、基本的にはこのやり方で解決できるはずです。
この回答へのお礼
有難うございました。
少し分かったような気がします。
また質問の内容が言いたい事と違っていたのでさらに質問してみようと思います。
その際には是非ご教授お願いしたいと思っております。
有難うございました。
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示











