
毎度お世話になっております。
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マクロでこれを自動でやることは出来ないでしょうか?。
以上宜しくお願いいたします。
No.1ベストアンサー
- 回答日時:
単純にその[Shift]+[ctrl]+[→]を自動記録で記録すると、
Range(Selection, Selection.End(xlDown)).Select
こういった形になるはずです。要するに End(xlDown) というプロパティ?があって
ソレを使うと、上下左右の端が検索できるんです。詳細はマクロのヘルプで検索
してみてください。
で、先にこのやり方で範囲を指定しておき、
cnt = WorksheetFunction.CountIf(Selection, "")
という感じでカウントすればいいかと思います。
動作チェックはやっていないので、動作しなかったらごめんなさい。
でも、基本的にはこのやり方で解決できるはずです。
有難うございました。
少し分かったような気がします。
また質問の内容が言いたい事と違っていたのでさらに質問してみようと思います。
その際には是非ご教授お願いしたいと思っております。
有難うございました。
No.2
- 回答日時:
データーが入っている一番下のセルの行は
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
に組み込むとしたらどのようになるでしょうか。
いろいろ試したのですがうまくいかないのでお教えください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
Excel VBA 選択した行数をカウントするには?
Visual Basic(VBA)
-
6
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
VBA 数式を残して値をクリアについて
Excel(エクセル)
-
9
マクロを複数シートに実行するには?
Excel(エクセル)
-
10
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
11
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
A1に入力された文字列と同じ文...
-
Excel グラフのプロットからデ...
-
【Excel関数】UNIQUE関数で"0"...
-
エクセルのセルに指定画像(.jpg...
-
エクセルで特定の文字列が入っ...
-
特定の文字がある行以外を削除...
-
チェックボックスをクリックし...
-
Excel:いまフォーカスがあるセ...
-
マクロ、列が間で増えた場合
-
Excel 時刻の並び替え
-
アクティブになっている行をマ...
-
EXCEL VBA マクロ 別シートの...
-
エクセルの幅 高さをセンチで...
-
エクセル マクロ オートフィ...
-
Excelで非表示のセルをとばして...
-
エクセルVBA:データ端に画...
-
excel 同じ番号のデーターを横...
-
Excelマクロ 条件付き書式と値...
-
罫線の斜線を自動で引くマクロ
-
VBAで「Shift+ctrl+↓」のような...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字がある行以外を削除...
-
【Excel関数】UNIQUE関数で"0"...
-
エクセルで特定の文字列が入っ...
-
Excelのフィルター後の一番上の...
-
エクセル 上下で列幅を変えるには
-
エクセル マクロ オートフィ...
-
エクセル マクロで数値が変っ...
-
[EXCEL]ボタン押す→時刻が表に...
-
結合されたセルをプルダウンの...
-
Excel グラフのプロットからデ...
-
excelのデータで色つき行の抽出...
-
excel 小さすぎて見えないセル...
-
A1に入力された文字列と同じ文...
-
EXCELで最後の行を固定
-
Excel ウインドウ枠の固定をす...
-
エクセルVBA 最終行を選んで並...
-
VBAで色の付いているセルの行削除
-
連続データが入った行の一番右...
-
エクセル2016で時間を入力して...
-
チェックボックスをクリックし...
おすすめ情報