- ベストアンサー
エクセルVBAで範囲を都度指定したい
教えてください。 指定した範囲から先頭がhのセルについて 色を付けていますが、範囲を固定ではなく マウスで都度選択させたいのですが どう直せば良いのでしょうか。 ActiveCell にすると最初のひとつしか変わりません。 Sub TEST() Dim rg As Range For Each rg In Range("D7", "D14") If Left(rg.Value, 1) <> "h" Then rg.Interior.ColorIndex = 23 rg.Offset(, 1).Interior.ColorIndex = 24 End If Next rg End Sub
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
For Each rg In Range("D7", "D14") を For Each rg In Selection とすればいいと思います。 しかし、 If Left(rg.Value, 1) <> "h" Then だと、「先頭がh以外のセルについて」になっていますが、それはそれでいいのでしょうか?
その他の回答 (1)
- merlionXX
- ベストアンサー率48% (1930/4007)
> 指定した範囲から先頭がhのセルについて > 色を付けていますが、 呈示されたコードは先頭がhでないセルおよびその右側のセルについて着色しているように思えるのですが・・・。 マウスで洗濯された範囲で、先頭がhのセルおよびその右側のセルについて着色したいのであれば、 Sub TEST01() Dim rg As Range For Each rg In Selection If Left(rg.Value, 1) = "h" Then rg.Interior.ColorIndex = 23 rg.Offset(, 1).Interior.ColorIndex = 24 End If Next rg End Sub ではないでしょうか。
お礼
早速の回答ありがとうございました。 言われてみると「あっつ、そうか」ですね。 あわてて打ったので 対象条件など説明をはしょってしまいましたが アドバイスありがとうございました。
お礼
早速の回答ありがとうございました。 ヘルプで探せなかったのですが なんとあっさり出来てしまいました。 対象条件は説明をはしょってしまいましたが お気遣いありがとうございました。