2017-10-16 14 views
0

現在、CSVファイルを使用してデータを入力しています。ユーザーはそのCSVファイルをダウンロードし、ファイルを編集してアップロードします。ユーザーに入力させると間違ってしまうことがたくさんあります。CSVやXLSなどの形式を使用してドロップダウンフィールドを入力する方法があるかどうかは疑問でした。入力する代わりに、ユーザーはドロップダウンから選択できます。Excelでドロップダウンリストを作成する方法

P.S.これがわかっているかどうかはわかりませんが、NodeJSを使用してCSVファイルにデータを入力しています。

+0

はい。これはExcelで "データ検証"と呼ばれています。データ検証の対象となるセルを定義し、その検証方法を定義します。リストは、許容値のセル内でのドロップダウンを引き起こす。 – JNevill

+0

@JNevill、はい、しかし、私はコードを介してそれらを設定できますか? –

+0

1.バリデーションを駆動するセルに値「Range( "A1")」を入力してタイプを追加してください:xlValidateList、AlertStyle:= xlValidAlertStop、Operator:= _ xlBetween、Formula1:= "a、b 、c、d "。 2. ActiveSheet.OLEObjects.Add(ClassType:= "Forms.ComboBox.1"、Link:= False、_ DisplayAsIcon:= False、Left:= 253.5、Top:= 33.75、Width: = 122.25、Height _ := 9) 'と入力します。 3. Excelのフォームコンボボックスを追加し、 'ActiveSheet.DropDowns.Add(292.5,108,105.75,62.25)'セルにリンクします。これを解決するには多くの方法があり、ニーズに応じて異なります。 – JNevill

答えて

0

は、我々が開始言う:

enter image description here

このサンプルマクロ:

Sub ImportFiles() 
    Dim j As Long, k As Long 

    Close #1 
    Open "C:\Users\Garys\Desktop\shop.csv" For Input As #1 
    j = 1 
    Do While Not EOF(1) 
      Line Input #1, TextLine 
      ary = Split(TextLine, ",") 
      k = 1 
      For Each a In ary 
       Cells(j, k) = a 
       k = k + 1 
      Next a 
      j = j + 1 
    Loop 
    Close #1 


    With Columns("B:B").Validation 
      .Delete 
      .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ 
      xlBetween, Formula1:="yes,no" 
      .IgnoreBlank = True 
      .InCellDropdown = True 
      .InputTitle = "" 
      .ErrorTitle = "" 
      .InputMessage = "" 
      .ErrorMessage = "" 
      .ShowInput = True 
      .ShowError = True 
     End With 
End Sub 

.CSVと列B

0

使用上のセットアップデータの検証をInPortのだろうあなたのExcelファイルの中の隠れたシート。 CSVを使用する代わりに、隠しシートに同じデータを入力します。

別のシートでは、ドロップダウンを使用して、隠しシートから取得するデータを入力するようにユーザーに指示します。ドロップダウンの使用を設定するにはデータ検証(データタブ、データ検証)を使用します。 リストを選択し、ソースとして、隠しシートの値を選択します。便宜上、隠しシートを一時的に再表示することができます。

関連する問題