2016-04-25 10 views
0

Excelでいくつかの固定値でドロップダウンを作成したいのですが、ほとんどの例はシートからの入力に関するものです。私の場合私はドロップ内に "IF、AND、OR"を入れたいと思っています。誰もがこれをExcelで達成する方法を提案できますか? 私はすべての場所のシートの既存の値のthisの例を見つけました。カスタム値でExcelでドロップダウンを作成する方法

答えて

1

VBAを使用する必要はありませんが、コードで実行できます。セットリストの最も簡単な方法は、[データ]タブ、次に[データの検証]です。次に、[設定]の下にある[検証基準]を選択し、3つの値(コンマ区切り)を入力します。書式をコピーして貼り付けたり、左クリックして書式をドラッグしたりコピーしたりすることで、任意のセルにコピーできます。

enter image description here

あなたが本当に欲しいものを完全に明らかでない配列

Sub CreateDropdownList() 
    ' replace "A5:A12" with your named range if you have one 
    Range("A5:A12").Select ' range where you've listed your choices 
    ' now sort them alphabetically, replace sheet1 with your sheetname 
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear 
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A5"), _ 
     SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ 
    xlSortTextAsNumbers 
    With ActiveWorkbook.Worksheets("Sheet1").Sort 
     ' you can use your named range here as well 
     .SetRange Range("A5:A12") 
     .Header = xlNo 
     .MatchCase = False 
     .Orientation = xlTopToBottom 
     .SortMethod = xlPinYin 
     .Apply 
    End With   
    ActiveWorkbook.Names.Add Name:="choices", RefersToR1C1:= _ 
     "=Sheet2!R5C1:R12C1" 
    Range("G13").Select 'this is the cell you want the dropdown in 
    With Selection.Validation 
     .Delete 
     'without array 
     '.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ 
     'xlBetween, Formula1:="IF, AND, OR" 
     'with array 
     .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ 
     xlBetween, Formula1:="=choices" 
     .IgnoreBlank = True 
     .InCellDropdown = True 
     .InputMessage = "Select a value" 
     .ErrorMessage = "No value selected" 
     .ShowInput = True 
     .ShowError = True 
    End With 
End Sub 
+0

これは私が得たいものですが、シートにこれらのIFとOR値があります。私たちがコーディングするときと同じように、値の少ない配列を設定し、可能な値としていくつかのフィールドに割り当てます。 –

+0

投稿にはドロップダウンが必要であることが示され、ドロップダウンには値が表示されます。 Excelでは、データはセルから取得され、ドロップダウンはユーザーの入力です。隠れている場合、IFとORはどこから来ると思いますか? – dinotom

+0

これらは、私がプログラム的に、あるいは別の隠れた意味で提供したい固定値ではありません。ありがとう、このVBAは私が探していたものです –

0

を使用して、私はあなたが依存のドロップダウンをしたいかもしれない推測しているVBA

でそれをしたい場合別のセルの値に基づいて? の場合は、潜在的なすべてのドロップダウン値を含むシートを作成し、データ検証ツールで= INDIRECT(SUBSTITUTE(セル名、 ""、 ""))を使用することができます。したがって、依存関係の値をセルB1にし、B2をドロップダウンしたい場合は、データ検証(データタブ)とドロップダウンボックスをB2に置きます(リストを選択)。ソースは=間接(

上記の例では、名前マネージャ(数式タブ)を使用してすべての潜在的な名前を付けることができます空白を入れずに必要なリストを作成します(名前が「New Employees」という名前の場合は、名前マネージャでNewEmployeesと呼ぶことにします)。次に、すべての値を含むシートに、リストタイトル新しい従業員が従属セルの値である場合にのみ表示したいすべての値が表示されます。

+0

ではありませんが、あなたが与えたリンクは私の次の問題の段階では非常に役に立ちます。ありがとう:) –

関連する問題