
EXCEL・VBAにて.Interior.Color=RGB(152, 251, 152)と設定しましたが
思った色(緑系の色)ではなくグレー系の色になってしまったのですが、
何か間違っているのでしょうか?
何かわかる方いらっしゃいますでしょうか?
実際のソースはしたの通りとなります。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 13 Then Exit Sub
Application.EnableEvents = False
'ステータス欄の入力の判断
Select Case Target.Value
Case "あああ"
Worksheets("シート1").Rows(Target.Row).Interior.Color = RGB(152, 251, 152)
Case "いいい"
Worksheets("シート1").Rows(Target.Row).Interior.Color = RGB(254, 208, 224)
Case "ううう"
Worksheets("シート1").Rows(Target.Row).Interior.Color = RGB(255, 255, 0)
Case "えええ"
Worksheets("シート1").Rows(Target.Row).Interior.Color = RGB(192, 192, 192)
Case Else
Worksheets("シート1").Rows(Target.Row).Interior.Color = RGB(255, 255, 255)
End Select
Application.EnableEvents = True
End Sub
No.1ベストアンサー
- 回答日時:
こんばんは。
Interior に RGB 関数で色を設定しても、Excel がもつカラーパレットの
値に丸められてしまうからです。
ごく稀に(というか昔は普通に)書籍等でも、
Cells(1,1).Interior.Color = RGB(255,0,0)
のようなコードを見受けますが、この例は誤解を招くだけの悪例です。
任意の色を使用したい場合、カラーパレット側を変更しなければなりません。
なお、カラーパレットはブック毎に管理されてます。
Sub Sample()
MsgBox "カラーパレットを変更し、任意の色でセルを着色します"
' // WEB COLOR CODE: #CCFF66
ThisWorkbook.Colors(1) = RGB(204, 255, 102)
Cells(1, 1).Interior.ColorIndex = 1
' // カラーパレットをリセットする
'ThisWorkbook.ResetColors
End Sub
早速の回答ありがとうございました。
なぜうまくいかない理由は理解できました。
なんとなく予想はしていたのでしたが・・・。
これからもよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) ダブルクリックでセルの色を変える 1 2022/12/24 15:52
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) エクセル VBAについて 2 2022/05/16 16:33
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
別のシートから値を取得するとき
-
特定の文字を含むシートだけマ...
-
【VBA】色のついたシート名を取得
-
XL:BeforeDoubleClickが動かない
-
【ExcelVBA】全シートのセルの...
-
エクセルで通し番号を入れてチ...
-
VBA 存在しないシートを選...
-
エクセルのVBAの変更点がわ...
-
VBAで以下の処理をする方法があ...
-
Codeがわかりません(自作の...
-
VBA 検索して一致したセル...
-
実行時エラー'1004': WorkSheet...
-
ユーザーフォームに入力したデ...
-
エクセルのマクロについて教え...
-
セルのコピーで「オブジェクト...
-
EXCELVBAを使ってシートを一定...
-
【エクセル】オプションボタン...
-
エクセルVBA 別シートからのコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字を含むシートだけマ...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
ユーザーフォームに入力したデ...
-
実行時エラー'1004': WorkSheet...
-
XL:BeforeDoubleClickが動かない
-
エクセルVBA Ifでシート名が合...
-
実行時エラー1004「Select メソ...
-
エクセルのシート名変更で重複...
-
【ExcelVBA】全シートのセルの...
-
VBA 存在しないシートを選...
-
ブック名、シート名を他のモジ...
-
Excel チェックボックスにチェ...
-
VBA 検索して一致したセル...
-
エクセルで通し番号を入れてチ...
-
シートが保護されている状態で...
-
【VBA】特定の文字で改行(次の...
-
ExcelのVBAのマクロで他のシー...
-
Worksheet_Changeの内容を標準...
-
EXCELVBAを使ってシートを一定...
おすすめ情報