- ベストアンサー
エクセルの関数でわからないことがあります
エクセルでひとつのセルに、入力規則(リスト)で16種類の色を選択できるようにしました。(赤、ピンク、オレンジ、黄色、黄緑、緑、オリーブ、青、ターコイズ、黒、こげ茶、茶、赤茶、薄茶、紫、紺)このセルで色を選択すると、 隣のセルがその色で塗りつぶされるようにしたいのですが、可能でしょうか?教えてください。
- みんなの回答 (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
その他の回答 (1)
- conduce
- ベストアンサー率22% (2/9)
マクロでしてみてはどうでしょうか? 左のセルから右のセルにコピーするというような感じで。 参考URLにExcelの詳しい使い方があるので参考にして下さい。
お礼
ありがとうございます。 バッチリOKです。 助かりました!