[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『空欄の色を指定した色に変えるだけで指定した数字が入力されるようにしたい』(斗夢)
空欄に指定した色を入力すると、指定した数字が
自動入力されるようにするにはどうすればよい
でしょうか。
< 使用 Excel:unknown、使用 OS:unknown >
色を入力というのは、具体的に何をすることですか? セルの塗り潰し? 赤とか青など文字を入力すること?
(稲葉) 2014/09/23(火) 06:28
色を変えただけではイベントが取得できませんので、色を変えた後に「ボタンを押す」など ひと手間必要です。
Sub 開国してくださいよぅ() Dim r For Each r In Sheets("Sheet2").UsedRange Select Case r.Interior.ColorIndex Case 1: r.Value = 1 Case 2: r.Value = 2 Case 3: r.Value = 3 Case Else: r.Value = "" End Select Next r End Sub
Sub 色番号検索() If Selection.CountLarge > 1 Then Exit Sub Selection.Value = Selection.Interior.ColorIndex End Sub
入力する文字は「Case 1: r.Value = 1」をコピーして、Case 色番号: r.Value = 文字 として入力してください。
色番号が分からないときは、色を付けたセルを選択して、「色番号検索」を実行すると、そのセルに 色番号が入力されます。 (稲葉) 2014/09/23(火) 10:37
逆の操作ですけれど、数字を入れたら色が付くのではまずいのでしょうか。 であれば、条件付き書式等でできると思います。
選択リストにしておけば、入力の手間も軽減できると思います。 (Mook) 2014/09/23(火) 11:05
色から数字(色コードでは無く)を入力というのは難しいように思います。
色には微妙に違うものが多数有り特定しにくいように思います
特定の色リストを用意しておきそこから選択するなどならいいと思うけど
質問から推測(黄色 → 4)すると抵抗のカラーコードとかかな?
(あかさな) 2014/09/23(火) 11:57
>空欄に指定した色を入力すると、指定した数字が自動入力される
これ既に投稿されているように セルに対して、色の塗りつぶしという操作で発生するイベントがありません。
1 その仕様を変更する
2 塗りつぶしという処理も仕様に含んだプログラムにしてしまう
大きくは、この二つに変更するというのも既に投稿されています。
2に関しては、
ある程度、塗りつぶす色が決められているなら、ユーザーフォームにその色の数だけ 塗りつぶしを行うコマンドボタンを用意するという方法もあります。
色の数は、セルの塗りつぶし可能色すべての場合、Dialogsオブジェクトを使う方法もあります。
Sub test() Dim ans As Boolean Dim onum As Long ans = Application.Dialogs(xlDialogPatterns).Show If ans Then With ActiveCell.Interior If .Color = vbRed Then onum = 1 ElseIf .Color = vbYellow Then onum = 4 ElseIf .Color = vbWhite Then onum = 2 ElseIf .Color = vbBlue Then onum = 9 Else onum = 15 End If End With Selection.Value = onum End If End Sub
中の処理は、一例にすぎませんが・・・。
( ichinose) 2014/09/23(火) 19:53
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.