エクセルについてです。マウスで選択した範囲に、条件付き書式設定で80点以上のセルの背景を赤にする、というマクロを作成したいと思います。選択する範囲は毎回異なります。以下のマクロはマクロの記録で作成したものです。このRangeの部分をマウスで選択した範囲に変更したいのですが、どうしたら良いのでしょうか?範囲の取得はマクロを実行して、途中で「マウスで範囲を指定してください」というメッセージを表示させてからにしたいのですが。
Sub 背景を赤()
Range("B13:E19").Select
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
Formula1:="=80"
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
End Sub
No.1ベストアンサー
- 回答日時:
Range("B13:E19").Select
を
Application.InputBox("セル範囲を選択", Type:=8).Select
に書き換えてください。
実行すると、InputBoxが表示されます。
セル範囲をマウスでドラッグして選択すれば選択範囲のアドレスが入力されます。
「OK」すればVBAに戻って処理が継続されます。
直接セルアドレスを入力しても可です。
実は奥が深いInputBox
http://www.officetanaka.net/excel/vba/tips/tips3 …
この回答への補足
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の時は実行します。マクロの記録で作成したのですから当然ですが。
なぜマクロが止まったか、いろいろと試してみて分かりました。実行する前に同じ条件付き書式が設定してあると、先ほどのエラーが生じました。全く初めての範囲でしたら問題なく実行できました。ご回答、有り難うございました。参考になりました。
No.4
- 回答日時:
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
No.3
- 回答日時:
>回答番号:No.1 この回答への補足
エラーになるのは良く解りませんが
回答文を良く見てください。
捕捉で提示されたコードでは
Application.InputBox("セル範囲を選択", Type:=8).Select
と
Range("B13:E19").Select
で重複しています。
一部再掲します。
-----------------------------------------------------
Range("B13:E19").Select
を
Application.InputBox("セル範囲を選択", Type:=8).Select
に書き換えてください。
-----------------------------------------------------
No.2
- 回答日時:
Selection.が選択したセル範囲になりますから
Range("B13:E19").Selectを削除するだけで
現在選択されている部分に対しての操作になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- その他(Microsoft Office) 選択行の列範囲に二重線を引く 3 2022/06/08 12:21
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) ExcelVBAの転記について 1 2022/03/23 20:13
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excelで、スクロールをすると限...
-
EXCEL アルファベットと数字の...
-
エクセルで連続データから、数...
-
エクセルの画面で十字マークが...
-
ピポットテーブルエラー解決方法
-
エクセル 数値を全て「1」にす...
-
セルをクリックすると付箋のよ...
-
エクセルでハイパーリンクのU...
-
エクセルで「1~15」の乱数...
-
エクセルVBA 複数行にまたがっ...
-
Excelの複数セル選択は、なぜ一...
-
エクセル 画面上の行数を調節...
-
Excel選択を繰り返すとセルの色...
-
エクセルでカーソルが四方に矢...
-
excelで1行ごとに一気に削除す...
-
フィルタを解除した後の表示位置
-
Excelで表のデータを並び替えた...
-
エクセルの空欄に0を自動で入れ...
-
エクセルVBAでセル範囲のデータ...
-
エクセルVBAリストボックスに表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelで、スクロールをすると限...
-
エクセルの画面で十字マークが...
-
エクセルで連続データから、数...
-
複数のセルの入力内容を一度に...
-
セルをクリックすると付箋のよ...
-
エクセルでハイパーリンクのU...
-
EXCEL アルファベットと数字の...
-
エクセル 数値を全て「1」にす...
-
Excel選択を繰り返すとセルの色...
-
Excelで表のデータを並び替えた...
-
エクセル 画面上の行数を調節...
-
エクセルでカーソルが四方に矢...
-
エクセルで0を除いて昇順に並...
-
ピポットテーブルエラー解決方法
-
Shift押しながら、矢印ボタンで...
-
excelで1行ごとに一気に削除す...
-
エクセルVBAでセル範囲のデータ...
-
Excelで急に動かなくなる
-
エクセルで任意のセルをクリッ...
-
フィルタを解除した後の表示位置
おすすめ情報