
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel VBA】Worksheets().Act...
-
シート削除のマクロで「delete...
-
実行時エラー1004「Select メソ...
-
翌日にお休み予定の従業員がい...
-
excelのマクロで該当処理できな...
-
別ブックからシートのコピー
-
Excel VBA Dialogsheetの編集
-
【エクセル】オプションボタン...
-
コマンドボタンをクリックでシ...
-
EXCELVBAを使ってシートを一定...
-
原本シート複写してリストの氏...
-
VBA 改行コードの取り方
-
ExcelのVBAのマクロで他のシー...
-
vbaマクロについて シート1のA...
-
Excel VBA シートを追加後に余...
-
userFormに貼り付けたLabelを変...
-
★Excelファイルの指定したシー...
-
Excelマクロのエラーを解決した...
-
Worksheet_Changeの内容を標準...
-
VBA イベントプロシージャ Deac...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel VBA】Worksheets().Act...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
ユーザーフォームに入力したデ...
-
特定の文字を含むシートだけマ...
-
実行時エラー'1004': WorkSheet...
-
XL:BeforeDoubleClickが動かない
-
エクセルVBA Ifでシート名が合...
-
【ExcelVBA】全シートのセルの...
-
Excel チェックボックスにチェ...
-
ブック名、シート名を他のモジ...
-
Excel VBA リンク先をシート...
-
エクセルで通し番号を入れてチ...
-
実行時エラー1004「Select メソ...
-
シートが保護されている状態で...
-
ExcelのVBAのマクロで他のシー...
-
オートシェイプの文字が更新さ...
-
EXCELVBAを使ってシートを一定...
-
VBAで指定シート以外の選択
-
エクセルのマクロでアクティブ...
おすすめ情報