[[20100629165456]] 『入力規則リストに説明データをいれる方法』(やん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『入力規則リストに説明データをいれる方法』(やん)

 Excel2003を使用しています。
 入力規則でドロップダウンリストに表示される値を
 以下のようにしたいと思っています。

 -- -- -- -- -- -- 
 |A□説明概要 |▼|
 |B□説明概要 | |
 |C□説明概要 | |
 -- -- -- -- -- -- 
 ※□:全角スペースやカンマ

 このリストを選択すると、
 選択後のセルには上記のAやBだけを表示したいです。

 つまり、
 AやBがコードのようなもので、
 その名称などを説明概要として表示させ
 実際にはコードのみをセルに表示させたいと考えています。

 これを実現する方法があればご教示をお願い致します。


 直接の解決ではありませんが・・・
 セルにコメントを挿入して、そのコメントに説明を記入しておき
 リストにはAやBというのは却下ですか?w

 (てつろう)

 回答ありがとうございます。

 リストとするデータは増えていくことを想定していて、
 Aやその説明は別シートの表にて一元管理したいのです。

 リスト数としても初期10くらいが、結果30〜50程に膨れるので
 コメントにいれるのは気が重いですねぇ。。。

 おっしゃることもわかりますがw

 他のアドバイスがあればご教示をお願い致します。

 (やん)

 Worksheet_Changeイベントで、説明概要の色を白く(背景色と同じに)しちゃうとか???
 
 (キリキ)(〃⌒o⌒)b

 ActiveXコントロール(コマンドバー コントロールツールボックス)のコンボボックスを
 使えば、簡単に実現できます。

 新規ブックの標準モジュールに

 '=======================================================
 Sub Macro1()
    With Range("a1:b4")
       .Value = [{"ド","ドーナッツ";"レ","レモン";"ミ","みんな";"ファ","ファイト"}]
    End With
    On Error Resume Next
    ActiveSheet.OLEObjects.Delete
    On Error GoTo 0
    With ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _
        DisplayAsIcon:=False, Left:=216, Top:=28.5, Width:=162, Height:=24)
        .ListFillRange = "a1:b4"
 '                         ↑訂正
        .Object.ColumnCount = 2
    End With
 End Sub

 上記 Macro1を実行して作成されるコンボボックスを試してみてください。
 これは、VBAでなくても 手動操作で設定できます

 ichinose@訂正


 ichinoseさんの後にしょぼい案で恐縮ですが、
 表、選択側両方の列が増やせるようなら、
 みんな大好き(主観)Vlookupはいかがですか?

 表は
 A□説明概要	A
 B□説明概要	B
 C□説明概要	C

 で、リストには「A□説明概要〜」を使用
 リストで選択した語句をキーに、表からコードを
 Vlookupで拾ってくる…と。
 (とおりすがりん)

 そのセルの値を他に参照することがなく、表示だけなら。
 単に列幅狭くして、右となりのセルに空白入れておく、
 って手はだめかな。
 (1111)

 とおりすがりんさんの案で、、
 仮に E1:F3 に下記のような一覧表を作成しておいて、、

        E            F
 1  A□説明概要  あいうえお
 2  B□説明概要  かきくけこ
 3  C□説明概要  さしすせそ

 ドロップダウンリスト(C列に設定したと仮定)からは、通常の内容(A□説明概要とか)をセルに入力させて、
 Worksheet_Changeイベントで、上の一覧からVLOOKUP関数で "あいうえお" に書き換えるなんて・・いかがですか?

 シートモジュールに貼り付けます。
        ↓
 Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("C:C")) Is Nothing Then '← C列でなかったら、C:Cを変更!!
        On Error Resume Next
        If Target.Value = "" Then Exit Sub
        Target.Value = WorksheetFunction.VLookup(Target.Value, Range("E1:F3"), 2, False) '← 一覧表の範囲に変更!!
    End If
 End Sub
 (kei)

 ◆入力規則の入力時メッセージではいかがでしょう
 【EXCEL97-2003】
 1)セルを指定して、メニューバーの「データ」→「入力規則」を選択して
 2)「入力時メッセージ」の「タイトル」または「メッセージ」に入力します
 (Maron)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.