データ検証:1行に2つの値を設定することはできません。ルックアップテーブルを使用して、ある値を別の値に変換することができます。または、「ProductA_10」のような値を組み合わせて、数式を使用して必要な場所で「10」を抽出することもできます。
フォームコンボボックス:これもオプションが限られており、あなたが望むものに比べてDVは何も提供していません。
ツールボックスコンボボックス:これは、あなたが望むものを何でもすることができます。 2番目の列を非表示にするには、ColumnCountプロパティを2に、BoundColumnプロパティを2に、ColumnWidthsプロパティを "1; 0"に設定します。私はA1でProductA-Cを持っていた場合:A3とB1で10-12:B3を、私はコンボボックスにするシートのモジュールで
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プロパティを必要な値の列に設定しているため、コンボボックスのValueプロパティを使用できます。
ヒントありがとうございます。 イベント私の場合は適切ではないので、これは避けたい解決策です。しかし、あなたはマクロを使って可能であると言いますが、どのように進むでしょうか?私は実際にどのように表示されないので – CoolStraw
それは私がVBAを使用して可能であることを意味します。 Alt + F11を押すと、Visual Basic環境に移動します。私はプログラムでそれを行う方法があると確信しています。たとえば、誰かが "データプロダクトA"を選択すると、適切なセルに数値を入力するフックをVBAに含めることができます。しかし、依然としてルックアップテーブルが適切な解決策に見えます。関連するセルはルックアップ式で予めプログラムすることができる。 – ktm5124
さようなら。 私は説明フィールドを持っているのでルックアップテーブルを避けようとしていましたが、今私はどのようにそれをやろうとしていました。アイテムとしてID-Descriptionを使用し、選択が行われるたびにIDを抽出するために値を解析します。ありがとう、男;) – CoolStraw