• ベストアンサー

エクセルの関数でわからないことがあります

エクセルでひとつのセルに、入力規則(リスト)で16種類の色を選択できるようにしました。(赤、ピンク、オレンジ、黄色、黄緑、緑、オリーブ、青、ターコイズ、黒、こげ茶、茶、赤茶、薄茶、紫、紺)このセルで色を選択すると、 隣のセルがその色で塗りつぶされるようにしたいのですが、可能でしょうか?教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

ワークシート関数ではセルの色は変更できません。ですからマクロを使用する必要があります ただしマクロでもエクセルのカラーパレットの色しか選択できません。 標準のカラーパレットなら以下のマクロが近い色になります (詳細は下記URLを参照ください。ただし赤茶色は適当なものがなし) http://www.relief.jp/itnote/xls_colorindex.php 色にこだわるなら「ツール」→「オプション」→「色タブ」でパレットの色を変更することは可能です。 以下のマクロを「シート名タブ右クリック」→「コードの表示」で開く画面に貼り付けて下さい。シート画面に戻り任意のセルに質問にある「文字色」が入力されると、右隣のセルの背景色が変わります Private Sub Worksheet_Change(ByVal Target As Range) With Target   Select Case .Value     Case Is = "赤"       .Offset(0, 1).Interior.ColorIndex = 3     Case Is = "ピンク"       .Offset(0, 1).Interior.ColorIndex = 7     Case Is = "オレンジ"       .Offset(0, 1).Interior.ColorIndex = 46     Case Is = "黄色"       .Offset(0, 1).Interior.ColorIndex = 6     Case Is = "黄緑" 'ライムで代用       .Offset(0, 1).Interior.ColorIndex = 43     Case Is = "緑"       .Offset(0, 1).Interior.ColorIndex = 10     Case Is = "オリーブ"       .Offset(0, 1).Interior.ColorIndex = 52     Case Is = "青"       .Offset(0, 1).Interior.ColorIndex = 5     Case Is = "ターコイズ"       .Offset(0, 1).Interior.ColorIndex = 42     Case Is = "黒"       .Offset(0, 1).Interior.ColorIndex = 1     Case Is = "こげ茶"       .Offset(0, 1).Interior.ColorIndex = 30     Case Is = "茶"       .Offset(0, 1).Interior.ColorIndex = 53     Case Is = "赤茶"       .Offset(0, 1).Interior.Color = 53     Case Is = "薄茶"       .Offset(0, 1).Interior.ColorIndex = 40     Case Is = "紫"       .Offset(0, 1).Interior.ColorIndex = 13     Case Is = "紺" '濃い青で代用       .Offset(0, 1).Interior.ColorIndex = 25     Case Else       .Offset(0, 1).Interior.ColorIndex = xlNone   End Select End With End Sub

04294423
質問者

お礼

ありがとうございます。 バッチリOKです。 助かりました!

その他の回答 (1)

  • conduce
  • ベストアンサー率22% (2/9)
回答No.1

マクロでしてみてはどうでしょうか? 左のセルから右のセルにコピーするというような感じで。 参考URLにExcelの詳しい使い方があるので参考にして下さい。

参考URL:
http://www.eurus.dti.ne.jp/~yoneyama/

関連するQ&A