以下はピボットテーブルをマッピングするマクロです。
数値0を色付けしたいのですが、空白部分も色付けしてしまいます。
よろしくお願いします。
For i = 表上端行 + 式行位置1 To 表下端行 - 式行位置3
For j = 表左端列 + 式行位置2 To 表右端列 - 式行位置4
V = Cells(i, j).Value
If V >= 300 Then
Cells(i, j).Interior.Color = RGB(255, 0, 0)
ElseIf V > 0 Then
Cells(i, j).Interior.Color = RGB(255, 0, 255)
ElseIf V <= -300 Then
Cells(i, j).Interior.Color = RGB(0, 0, 255)
ElseIf V < 0 Then
Cells(i, j).Interior.Color = RGB(0, 255, 255)
Else
Cells(i, j).Interior.Color = RGB(255, 0, 255)
End If
Next
Next
No.2ベストアンサー
- 回答日時:
こんな感じです。
変数 V が、Integer等、数値の型であるとき
Dim V As Integer
For i = 表上端行 + 式行位置1 To 表下端行 - 式行位置3
For j = 表左端列 + 式行位置2 To 表右端列 - 式行位置4
If Cells(i, j).Text <> "" Then
V = Cells(i, j).Value
If V >= 300 Then
Cells(i, j).Interior.Color = RGB(255, 0, 0)
ElseIf V > 0 Then
Cells(i, j).Interior.Color = RGB(255, 0, 255)
ElseIf V <= -300 Then
Cells(i, j).Interior.Color = RGB(0, 0, 255)
ElseIf V < 0 Then
Cells(i, j).Interior.Color = RGB(0, 255, 255)
Else
Cells(i, j).Interior.Color = RGB(255, 0, 255)
End If
End If
Next
Next
変数 V が、バリアント型であるとき
Dim V
For i = 表上端行 + 式行位置1 To 表下端行 - 式行位置3
For j = 表左端列 + 式行位置2 To 表右端列 - 式行位置4
V = Cells(i, j).Value
If Not IsEmpty(V) Then
If V >= 300 Then
Cells(i, j).Interior.Color = RGB(255, 0, 0)
ElseIf V > 0 Then
Cells(i, j).Interior.Color = RGB(255, 0, 255) '<-- ?
ElseIf V <= -300 Then
Cells(i, j).Interior.Color = RGB(0, 0, 255)
ElseIf V < 0 Then
Cells(i, j).Interior.Color = RGB(0, 255, 255)
Else
Cells(i, j).Interior.Color = RGB(255, 0, 255)
End If
End If
Next
Next
最後Elseの色が既に指定されている色でちょっと?? まぁ書き違いと思いますが・・・
早速の回答、有難うございます。
お陰で0の色付けができました。
変数の指定が漏れていましたので、整数型にして、前者の回答を使わせて頂きました。
>最後Elseの色が既に指定されている色でちょっと?? まぁ書き違いと思いますが・・・
0は色付けできなかったのでコメントで入ってました。教えての質問への転記ミスでした。
' Else
' Cells(i, j).Interior.Color = RGB(0, 255, 0)
詳しい説明、本当に有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) R列の1111/11/11以外、且つQ列の×の条件で該当行のAからAE列までオレンジに塗りつぶす 2 2022/07/02 10:18
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Excel(エクセル) マクロで最終行から上に検索を逆にしたい 1 2022/05/17 18:27
- Visual Basic(VBA) vba 最大値 条件分岐 4 2022/12/10 10:20
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
【Excel関数】UNIQUE関数で"0"...
-
エクセル マクロ オートフィ...
-
結合されたセルをプルダウンの...
-
[EXCEL]ボタン押す→時刻が表に...
-
罫線の斜線を自動で引くマクロ
-
Excel グラフのプロットからデ...
-
アクティブになっている行をマ...
-
エクセルマクロで偶数行(又は...
-
エクセル 上下で列幅を変えるには
-
完全一致したら代入するマクロ...
-
AのセルとB行を比較して、一致...
-
【EXCEL】連続データの個数を抽...
-
A1に入力された文字列と同じ文...
-
エクセルマクロ オートSUM(合...
-
VBAで色の付いているセルの行削除
-
【VBA】「同じ文字を含むセ...
-
Excel ウインドウ枠の固定をす...
-
電話番号の入力方式が違うデー...
-
エクセル 数字のみ残したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
エクセル マクロ オートフィ...
-
【Excel関数】UNIQUE関数で"0"...
-
結合されたセルをプルダウンの...
-
[EXCEL]ボタン押す→時刻が表に...
-
excel 小さすぎて見えないセル...
-
AのセルとB行を比較して、一致...
-
エクセル マクロで数値が変っ...
-
エクセル 上下で列幅を変えるには
-
excelのデータで色つき行の抽出...
-
Excel グラフのプロットからデ...
-
エクセル2016で時間を入力して...
-
VBAで色の付いているセルの行削除
-
特定の文字がある行以外を削除...
-
連続データが入った行の一番右...
-
エクセルVBA 最終行を選んで並...
-
エクセルのセルに指定画像(.jpg...
-
エクセルで昨日までの日付デー...
-
エクセルマクロで偶数行(又は...
-
A1に入力された文字列と同じ文...
おすすめ情報