
Excel VBAで、特定の範囲の空白セルを探して行番号を表示させる方法を探しています。
教えていただけたらとてもありがたいです。
以下が作りたいマクロのイメージです。
①エラーチェック用のブックを作り、空白セルの数を調べたいブック名とシート名を記入する場所を作る。
記入したブックとそのシートをマクロで開いて、その特定の範囲から空白セルを検索してその空白セルの行番号をエラーチェック用のブックのE7~に入力する。
②調べたい範囲→P21:V21 この7列のデータが記入されている一番下のセルまでを調べて、その中から空白セルを検索したい。
一番下のセルはデータが増えると変わるので、最初から範囲指定ができません。データが記入されている一番最後のセルまでを自動で調べてほしい。
③空白セルを調べ終わったら最後に自動でそのブックを閉じる。
そういうマクロを作りたいです。
仕事で使う便利なマクロを作らなくてはならず、エラーチェック用のブックにブック名とシート名を記入してマクロを実行すれば、そのブックとシートを自動で開いて特定の範囲の記入漏れの空白セルを調べて行番号をエラーチェック用ブックに一覧で表示し、探しやすくしたいのです。
私はVBAの勉強を始めて4日目なので、マクロでどこまでできるのか全てわかるわけではないので、もしマクロで作れない無理なことを書いていたら申し訳ありません。
ネットでたくさん調べながら作ろうと頑張っているのですが、難しくてうまくいきません。
どうか知恵を貸していただけませんでしょうか。
No.1ベストアンサー
- 回答日時:
空白のチェックに関しては、意外と簡単にできます。
マクロの自動記録にして、
1、コントロールキー押しながら「G」
2、セル選択
3、空白セル
4、終了
これで、空白セルを見つけ出すコードが完成。自動記録だとselectionになってるんで、そこをセル範囲に変更すると。
理解できました?
ご回答ありがとうございます!
空白セルを見つけ出すコードをこのような方法で作れるなんてすごいです。良い方法を学べました、ありがとうございます。
Range("P22:V22").SpecialCells(xlCellTypeBlanks).Select
↑このようにしてselectionをセル範囲に設定してみるとうまくいきました。
Range("P22:V22").←このセル範囲の部分を、P22:V22のデータが記入してある一番下のセルまで判断して範囲を広げる方法もご存じないでしょうか?
もしご存じでしたら教えていただきたいです。
No.2
- 回答日時:
わざわざ良いサイトを紹介してくださってありがとうございます!
なんとなくわかってきました。
今のところは↓のようにコードを書いています。
Range("P22:V22").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.SpecialCells(xlCellTypeBlanks).Select
調べたい範囲も選択できているようですし、これでいいのかも?という感じです。
これで空白セルを探す部分は大丈夫なはずです!
とても助かりました!ありがとうございます(T_T)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA:セルの空白を検索
Excel(エクセル)
-
Excel VBA 空白セルがあったらメッセージボックスで知らせたい
Visual Basic(VBA)
-
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
-
4
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
5
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
9
特定のシートの削除を禁止したい(ブックの保護でなく)
Excel(エクセル)
-
10
連続データが入った行の一番右端の右側の空白セル
Excel(エクセル)
-
11
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
12
VBA データ(特定値)のある最終行を取得したい
Excel(エクセル)
-
13
動的配列が存在(要素が有る)か否かを判定できますか?
Visual Basic(VBA)
-
14
初めて0以外の数値が出てきたときの値を表示(EXCEL)
Excel(エクセル)
-
15
Hyperlink関数をクリックしてくれるマクロ
Excel(エクセル)
-
16
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
17
エクセル 条件付き書式で文字を表示するには
Excel(エクセル)
-
18
Excel ユーザーフォームをモードレスで表示後
Visual Basic(VBA)
-
19
Excelの非表示列も含めてコピー
Excel(エクセル)
-
20
【VBA】ワークブックを開く時にエラーが出る場合と出ない場合の違いは?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel UserForm の表示位置
-
VBAマクロ実行時エラーの修正に...
-
エクセルVBA 配列からセルに「...
-
【VBA】【ユーザーフォーム_Lis...
-
特定の色のついたセルを削除
-
C# DataGridViewで複数選択した...
-
EXCELのフォーム上でリアルタイ...
-
Excel VBA IF文がうまく動作し...
-
エクセル VBA ボタンをクリック...
-
[C#]DataGridViewのVirtual Mod...
-
DataGridViewのカレントセル内...
-
エクセル VBA 条件付き転記
-
入力規則のリスト選択
-
Excel VBAでCheckboxの名前を変...
-
MATLABのポップアップメニュー...
-
下記のマクロの説明(意味)を...
-
Excelで空白セル直前のセルデー...
-
DataGridViewのフォーカス遷移...
-
Excelのセルから日付情報を取得...
-
csvファイルの特定のセルから読...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel UserForm の表示位置
-
VBAマクロ実行時エラーの修正に...
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
特定の色のついたセルを削除
-
C# DataGridViewで複数選択した...
-
【VBA】【ユーザーフォーム_Lis...
-
データグリッドビューの結合セ...
-
【VBA】写真の貼り付けコードが...
-
VBA:日付を配列に入れ別セルに...
-
入力規則のリスト選択
-
セルの半透明着色処理
-
EXCEL VBA 文中の書式ごと複写...
-
Excel VBAでCheckboxの名前を変...
-
【ExcelVBA】値を変更しながら...
-
【Excel VBA】一番右端セルまで...
-
エクセルのカーソルを非表示に...
-
DataGridViewのフォーカス遷移...
-
DataGridViewでグリッド内に線...
-
Excel VBA でFunctionプロシジ...
おすすめ情報
特定の範囲の中から空白セルを探し出す方法はわかりました。
残りは
①セルに入力されている名前のExcelファイルを開く(フォルダは毎回変わるので、フォルダの場所を自動で探してくれる)
②選択している複数のセルの行番号を、他のブックの指定セルへ入力する
これらをマクロで実行する方法を探しています。
知っている方がいましたら教えていただけたら大変ありがたいです!
1度にたくさん質問を書きすぎたので、質問をいくつかに分けようと思います。
なので、この質問は締め切らせていただきます。回答してくださった方、ありがとうございました。