質問

この情報を見つけることができません。実際の値ではなく、これら2つのタイプのリストにラベルを表示することは可能ですか?もちろん、ラベルが選択されると、セルまたはコンボボックスの値(フォームコントロールとして)が実際の値を取得します。

例: *データ製品A <------> 10製品B <------> 11製品<------> 22

コンボボックスショー:製品A、製品B、および製品Cを選択した場合は、10値を取得し、b 11値を、c 22値を取得します

前もって感謝します

Miloud B.

役に立ちましたか?

解決

これを行う典型的な方法は、ルックアップテーブルを持つことです。 vlookup(これは部分的な名前)のようなものという名前の関数があり、数式で値を取得できるようにします。私は自分の仕事でこのようなことをし、別のスプレッドシートにルックアップテーブルを作成し、メインのスプレッド機能と呼びました。

マクロを使用することもできますが、現在の問題については私の意見ではあまりにも気になります。

他のヒント

データ検証: :行ごとに2つの値を持つことはできません。ルックアップテーブルを使用して、ある値を別の値に変換できます。または、「Producta_10」などの値を組み合わせて、式を使用して「10」を必要な場所で抽出することができます。

フォームコンボボックス: :これにはオプションが限られており、DVが必要なことを実際には提供していません。

ツールボックスコンボボックス: :これはあなたが望むことを何でもすることができます。 ColumnCountプロパティを2に、BoundColumnプロパティを2に、列幅プロパティを「1; 0」のようなものに設定して、2番目の列を非表示にします。 A1:A3およびB1:B3で10-12にProducta-Cを持っている場合、標準モジュールでこのようなコードを使用してコンボボックスを入力します

Sub LoadCombobox()

    Dim rCell As Range

    For Each rCell In Sheet1.Range("A1:A3").Cells
        Sheet1.ComboBox1.AddItem rCell.Value
        Sheet1.ComboBox1.List(Sheet1.ComboBox1.ListCount - 1, 1) = rCell.Offset(0, 1).Value
    Next rCell

End Sub

シートのモジュールでこのようなコードを作成して、セルに値を配置します(この例のF1)

Private Sub ComboBox1_Change()

    Me.Range("F1").Value = Me.ComboBox1.Value

End Sub

コンボボックス内の新しい値が選択されると、F1が更新されます。 boundcolumnプロパティを希望する値で列に設定するため、コンボボックスの値プロパティを使用できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top