
毎度お世話になっております。
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Excel(エクセル) 【VBA】エクセルで選択した範囲の値のみをクリップボードにコピーするコードについて 3 2023/03/08 17:41
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
VBA 数式を残して値をクリアについて
Excel(エクセル)
-
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
-
4
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
5
Excel VBA 選択した行数をカウントするには?
Visual Basic(VBA)
-
6
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
7
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
8
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
9
マクロを複数シートに実行するには?
Excel(エクセル)
-
10
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
11
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
12
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
-
13
【Excel】指定したセルの名前でPDFを保存する【VBA】
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのフィルター後の一番上の...
-
EXCELで最後の行を固定
-
エクセルで特定の文字列が入っ...
-
EXCELマクロを使い、空白行では...
-
直近の5個の平均を求めたい
-
連続データが入った行の一番右...
-
特定の文字がある行以外を削除...
-
Excelで非表示のセルをとばして...
-
VBA 曜日に色がついている列は...
-
xls:CopyFromRecordset罫線描写
-
エクセルVBAのEntireRow.Hidden...
-
エクセル クリックでセルの色...
-
一気にセルの結合できますか?
-
Excel2003枠を作るマクロ
-
[EXCEL]ボタン押す→時刻が表に...
-
マクロで範囲指定をするには
-
Excellマクロで数値0と空白部分...
-
Val関数をVBAで使うには?
-
エクセルで、列内の連続した文...
-
エクセル2003での行(列)の自...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字がある行以外を削除...
-
【Excel関数】UNIQUE関数で"0"...
-
エクセル 上下で列幅を変えるには
-
[EXCEL]ボタン押す→時刻が表に...
-
Excelのフィルター後の一番上の...
-
エクセルで特定の文字列が入っ...
-
excelのデータで色つき行の抽出...
-
エクセル マクロで数値が変っ...
-
Excel グラフのプロットからデ...
-
結合されたセルをプルダウンの...
-
エクセル マクロ オートフィ...
-
excel 小さすぎて見えないセル...
-
Excel ウインドウ枠の固定をす...
-
EXCELで最後の行を固定
-
電話番号の入力方式が違うデー...
-
エクセルVBA 最終行を選んで並...
-
エクセルのセルに指定画像(.jpg...
-
エクセル 時間の表示形式AM/PM...
-
連続データが入った行の一番右...
-
Excelで非表示のセルをとばして...
おすすめ情報