- ベストアンサー
エクセルで条件付き書式設定を使ってセルの背景を赤にする方法
- エクセルで条件付き書式設定を使って、マウスで選択した範囲に80点以上のセルの背景色を赤にする方法について教えてください。
- マクロを使って条件付き書式設定を適用し、セルの背景を赤にする方法を知りたいです。範囲の取得はマクロ実行時に手動で指定したいのですが、具体的にはどのようなコードを書けば良いのでしょうか?
- エクセルのマクロを作成して、マウスで選択した範囲に80点以上のセルの背景を赤にする方法について教えてください。具体的なコードの書き方や注意点なども教えていただけると嬉しいです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Range("B13:E19").Select を Application.InputBox("セル範囲を選択", Type:=8).Select に書き換えてください。 実行すると、InputBoxが表示されます。 セル範囲をマウスでドラッグして選択すれば選択範囲のアドレスが入力されます。 「OK」すればVBAに戻って処理が継続されます。 直接セルアドレスを入力しても可です。 実は奥が深いInputBox http://www.officetanaka.net/excel/vba/tips/tips37.htm
その他の回答 (3)
- xls88
- ベストアンサー率56% (669/1189)
With文で括って下記のように纏めることもできます。 Selectの必要が無くなります。 With Application.InputBox("セル範囲を選択", Type:=8) .FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _ Formula1:="=101" .FormatConditions(.FormatConditions.Count).SetFirstPriority With .FormatConditions(1).Font .Color = -16383844 .TintAndShade = 0 End With With .FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .Color = 13551615 .TintAndShade = 0 End With End With
補足
いくつか方法があるのですね。参考になりました。ご回答有り難うございました。
- xls88
- ベストアンサー率56% (669/1189)
>回答番号:No.1 この回答への補足 エラーになるのは良く解りませんが 回答文を良く見てください。 捕捉で提示されたコードでは Application.InputBox("セル範囲を選択", Type:=8).Select と Range("B13:E19").Select で重複しています。 一部再掲します。 ----------------------------------------------------- Range("B13:E19").Select を Application.InputBox("セル範囲を選択", Type:=8).Select に書き換えてください。 -----------------------------------------------------
補足
よく見るとそうでしたね。分かりました。現在マクロは思ったように実行されています。アドバイスを有り難うございました。
- kmetu
- ベストアンサー率41% (562/1346)
Selection.が選択したセル範囲になりますから Range("B13:E19").Selectを削除するだけで 現在選択されている部分に対しての操作になります。
お礼
なぜマクロが止まったか、いろいろと試してみて分かりました。実行する前に同じ条件付き書式が設定してあると、先ほどのエラーが生じました。全く初めての範囲でしたら問題なく実行できました。ご回答、有り難うございました。参考になりました。
補足
Sub Macro1() ' Application.InputBox("セル範囲を選択", Type:=8).Select Range("B13:E19").Select Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _ Formula1:="=101" Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority With Selection.FormatConditions(1).Font .Color = -16383844 .TintAndShade = 0 End With With Selection.FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .Color = 13551615 .TintAndShade = 0 End With Selection.FormatConditions(1).StopIfTrue = False End Sub これを実行すると .Color = -16383844 ここでマクロが止まってしまいます。なぜか分かりません。Rangeの時は実行します。マクロの記録で作成したのですから当然ですが。