
Excel VBAで空白行があるセル範囲に色を付けるにはRangeとCellsを使用して記述すればできるでしょうか?
空白行がある表に色を付けるのに、下記のように記述すると、①のように設定されるのですが、
列、行のセル範囲に対して挿入や削除を行い実行すると②のように設定されてしまいます。
Sub test()
Range("B2", ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Interior.Color = RGB(204, 255, 255)
Selection.Range(Cells(1, 1), Cells(1, 3)).Interior.Color = RGB(204, 255, 153)
End Sub
列、行のセル範囲に対して挿入や削除を行っても、データがある範囲だけ処理対象にすることはできるでしょうか?
教えていただけたら幸いです。
宜しくお願い致します。

A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは
>Excel VBAで空白行があるセル範囲に色を付けるには
>RangeとCellsを使用して記述すればできるでしょうか?
可能ですけれど、VBAなど使わなくても、エクセルの基本機能で実現できます。
なさりたいことがはっきりとはわかりませんが、以下と勝手に解釈しました。
『B:D列の表内で、1行(3セル)とも空白なら、その行に色を付けたい。』
例えば、ご提示の図の上の表でB3:D11を選択し、B3セルがアクティブな状態で、
1)「条件付き書式」-「新しいルール」-「数式を使用して~」を選択
2)下部の数式欄に
=COUNTBLANK($B3:$D3)=3
を入力して、書式(=色)を設定。
としておけば、いちいちマクロを実行したりしなくても、自動で書式(=色)が反映されます。
※ もしも、『一つでも空白セルがあれば~~』という条件の場合は、式を
=COUNTBLANK($B3:$D3)
としておけば、そのようになります。
※ ただし、最終行の下に行を追加挿入しても、書式等はコピーされませんのでご注意。
No.2
- 回答日時:
ええと。
ActiveCell.SpecialCells(xlLastCell)
がそもそもの原因ですね。
範囲の右下セルを明示的に記述するようにしましょう。
やりかたはいろいろありますので、そこは自身で考え工夫してみてください。
原因が分からず質問をしているのでしょうから、質問者さんなら余裕でできると思います。
No.1
- 回答日時:
こんにちは
ActiveCell.SpecialCells(xlLastCell) は
使用されている最終セルを示すものだったと記憶しています
もし、D列最終行に値が入っている事が確定的ならば
Range("B2", Cells(Rows.Count, "D").End(xlUp)).Select
にすれば良いと思います
D列が確定しないのであれば、範囲として取得できるもので
(例えば罫線が引かれた範囲とか・・)で選択可能です
ちなみに罫線の範囲取得は独自にファンクションなどを作成する必要があると思います(メソッドは無かったかと)
ちなみに .Selectを使わないでも処理コードを書けますが、後に
Selection.Rangeを使用していますので判り難くなるかもしれないので
添削コードは割愛します
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) VBAについて教えてください 4 2022/11/10 12:44
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Visual Basic(VBA) vbaで条件付き書式を設定したときの適用範囲について 1 2023/07/17 23:14
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
このQ&Aを見た人はこんなQ&Aも見ています
-
性格悪い人が優勝
できるだけ性格悪い人になって回答をお願いします。
-
【お題】甲子園での思い出の残し方
【お題】「球場の砂を持って帰る」はもう古いと思った高校球児が、甲子園で負けた際に、思い出に残そうと思って行ったこと
-
最速怪談選手権
できるだけ短い文章で怖がらせてください。
-
単二電池
あなたの家に何本ありますか?
-
あなたが好きな本屋さんを教えてください
どのくらいの規模間で、どのような本が並んでいるか、どのような雰囲気なのかなどなど...
-
空白セルと行に色をつけるVBA Excel2010
その他(Microsoft Office)
-
Excel VBA 空白セルがあったらメッセージボックスで知らせたい
Visual Basic(VBA)
-
【Excel VBA】複数ある特定の文字列を含む行を削除
Excel(エクセル)
-
-
4
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
5
VBA 条件付き書式で空欄は適用除外したい
Visual Basic(VBA)
-
6
VBAで文字列を数値に変換したい
Excel(エクセル)
-
7
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
8
マクロ最終行挿入
Excel(エクセル)
-
9
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
10
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
11
【Excel VBA】指定行以降をクリアするには?
Visual Basic(VBA)
-
12
VBAで特定の文字を探して隣のセルに色を付けたい
Excel(エクセル)
-
13
マクロで最終行を取得してコピーしたい
Visual Basic(VBA)
-
14
Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです
Visual Basic(VBA)
-
15
【VBA】【マクロ】 指定の条件で、空白の行を挿入
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定の文字がある行以外を削除...
-
【Excel関数】UNIQUE関数で"0"...
-
[EXCEL]ボタン押す→時刻が表に...
-
エクセル 上下で列幅を変えるには
-
Excel グラフのプロットからデ...
-
結合されたセルをプルダウンの...
-
excel 小さすぎて見えないセル...
-
Excel ウインドウ枠の固定をす...
-
エクセル 時間の表示形式AM/PM...
-
エクセル マクロで数値が変っ...
-
エクセルVBAのEntireRow.Hidden...
-
エクセルのセルに指定画像(.jpg...
-
セルに値が入力されると隣りの...
-
VBAで色の付いているセルの行削除
-
エクセル マクロ オートフィ...
-
連続データが入った行の一番右...
-
エクセル 数字のみ残したい
-
excelのデータで色つき行の抽出...
-
Excel VBAで「セルが選択された...
-
EXCELで最後の行を固定
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字がある行以外を削除...
-
【Excel関数】UNIQUE関数で"0"...
-
エクセルで特定の文字列が入っ...
-
[EXCEL]ボタン押す→時刻が表に...
-
エクセル マクロで数値が変っ...
-
Excel グラフのプロットからデ...
-
結合されたセルをプルダウンの...
-
エクセル マクロ オートフィ...
-
エクセル 上下で列幅を変えるには
-
excel 小さすぎて見えないセル...
-
Excel ウインドウ枠の固定をす...
-
Excelのフィルター後の一番上の...
-
エクセル 時間の表示形式AM/PM...
-
エクセルのセルに指定画像(.jpg...
-
VBAで色の付いているセルの行削除
-
excelのデータで色つき行の抽出...
-
A1に入力された文字列と同じ文...
-
アクティブになっている行をマ...
-
電話番号の入力方式が違うデー...
-
連続データが入った行の一番右...
おすすめ情報