![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
A1~J10に100個の数値があり、
行ごとの1位~5位にそれぞれ書式を
あたえます。
マクロの記録機能を使って1位~3位を。
その後別で4位・5位を記録し、くっつけて
みました。
つけたい書式は
以下のマクロの通りのセルのパターン・フォントの色です。
以下は記録したものをくっつけてつくったマクロです。
動作しません。
Sub 条件付書式5つ()
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="=LARGE($A1:$J1,1)"
Selection.FormatConditions(1).Font.ColorIndex = 2
Selection.FormatConditions(1).Interior.ColorIndex = 1
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="=LARGE($A1:$J1,2)"
Selection.FormatConditions(2).Font.ColorIndex = 2
Selection.FormatConditions(2).Interior.ColorIndex = 16
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="=LARGE($A1:$J1,3)"
Selection.FormatConditions(3).Interior.ColorIndex = 15
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="=LARGE($A1:$J1,4)"
Selection.FormatConditions(4).Font.ColorIndex = 2
Selection.FormatConditions(4).Interior.ColorIndex = 3
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="=LARGE($A1:$J1,5)"
Selection.FormatConditions(5).Font.ColorIndex = xlAutomatic
Selection.FormatConditions(5).Interior.ColorIndex = 38
End Sub
初心者のためどうしたらいいのかまったく
わかりません。
どうぞお願いします。
No.2ベストアンサー
- 回答日時:
#1さんのおっしゃるように、条件付書式は、3個までなので、以下のように、イベント・プロシージャにします。
現在のデータのあるところのシートの、モジュール(シートタブを右クリックすると、「コードの表示」というのがあるのでそれをクリック)に、貼り付けてください。
なお、色のほうは、もう少し工夫したほうがよいですね。黒(1)ですと本当の塗りつぶしで、下の文字がかすかにしか見えませんから。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myRng As Range
Dim myColor As Variant
Dim myVal As Double
Dim i As Long, j As Long, c As Object
myColor = Array(1, 16, 15, 3, 38) '色のColorIndex
Set myRng = Range("A1:J2") '設定範囲
Application.EnableEvents = False
Application.ScreenUpdating = False
For i = 1 To myRng.Rows.Count
myRng.Rows(i).Interior.ColorIndex = xlNone
For j = 1 To 5
myVal = Application.Large(myRng.Rows(i), j)
If Not IsError(myVal) Then
For Each c In myRng.Rows(i).Cells
If myVal = c.Value Then
c.Interior.ColorIndex = myColor(j - 1)
End If
Next c
End If
Next j
Next i
Set myRng = Nothing
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
ありがとうございます。
モジュールに貼り付けてみたのですが、
私がど素人なためか動きません。
ご親切に貼り付けかたまでお教えいただいたのに
活用できず申し訳ありません。
Wendy02さんの書いていただいたものを
理解できるようVBAの勉強をしたいと思っています。
ありがとうございました。
No.3
- 回答日時:
momimomi23様へ
>モジュールに貼り付けてみたのですが、
>私がど素人なためか動きません。
Sheet1にデータを書き込んだら、Sheet1のモジュールです。
そして、何か、そのA1~J10の範囲内に、数字を、ひとつでよいので改めて入力してみてください。
それで起動しませんか?イベントといって、引き金になるキー入力を必要とします。
キー入力必要とは知りませんでした。
ただいま自宅におり、エクセルのない環境のため
明日試させていただきます。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Excel(エクセル) エクセルVBAで次の二つを行いたいのですが思うように動きません。どう修正したらよいのでしょうか? 2 2023/04/22 14:55
- Visual Basic(VBA) VBA シート上にドロップダウンリストを作り、予め指定値をセットしたいのですが 1 2023/03/25 15:15
- Visual Basic(VBA) エクセル VBA 条件付き書式 簡略化したい 2 2022/06/02 17:46
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Excel(エクセル) Excelについて▶あるセルに文字を入力すると、別のセルに色がつく(条件付き書式) 1 2022/03/27 16:43
- Visual Basic(VBA) Sheet2の日付をキーにオートフィルターで2023年1月のデータを抽出し、Sheet3へ書き出すた 2 2023/03/06 23:57
- Excel(エクセル) VBA オリジナル関数で選択セルの合計を作成したい 3 2023/03/19 19:45
- Visual Basic(VBA) 複数セルに〇印をつけるマクロ 4 2022/09/07 05:33
- Excel(エクセル) エクセルで最下行にデータを追加するVBA 6 2023/05/09 09:30
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでツールバーに「縮小...
-
Powerpointでランダムな数字の...
-
マクロについて2
-
エクセルのマクロでSelection.S...
-
【エクセルマクロ】合計値が指...
-
複数のデータ系列の線の太さを...
-
cellsで特定の離れた範囲を選択...
-
Windows7, MSWord2007 でマクロ...
-
エクセル2007 テキストボ...
-
選択範囲に黒の格子を付けるマクロ
-
エクセル vba クリック~離し...
-
excel2000 条件付書式5つ
-
excelファイルに使われているVB...
-
マクロエクセルのブロック解除
-
エクセルの指数を無効にしたい
-
エクセルファイルを自身のファ...
-
EXCEL VBAで声を出すマクロ
-
VB.NetでExcelファイルをAccess...
-
VBA マクロ実行時エラー’1004Ra...
-
マクロでマクロを削除する
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
エクセルでツールバーに「縮小...
-
cellsで特定の離れた範囲を選択...
-
ファイル名を今日の日付、時刻...
-
Powerpointでランダムな数字の...
-
VBA[Private Sub]のコードをシ...
-
エクセルシートをまとめて印刷...
-
エクセル2007 テキストボ...
-
別ブックからユーザーフォーム...
-
ピボットグラフの書式の固定に...
-
VBAを使ってエクセルシート...
-
エクセルのマクロでSelection.S...
-
最初の1回のみにボタンクリッ...
-
VBAに詳しい方教えてください。
-
VBAをVBに変換する方法
-
エクセルワークシート上に印刷...
-
【ExcelVBA】クエリの更新とピ...
-
Pictures.Insertメソッド⇒Shape...
-
エクセルVBAで、画像の倍率を知...
-
エクセル vba クリック~離し...
おすすめ情報