2017-04-24 10 views
1

コンマで区切られた値のリストを含む1つのセルがあり、それらの値を検証リストとして使用できる必要があります。これを行う方法はありますか? 値のリストは、0〜50の長さの任意の値にできます。コンマで区切られたリストからExcelでドロップダウンリストを作成する方法

コピーセルと行1に入力します:

+1

内容を自分のセルに分割する必要があります。 Excelの[Text-To-Columns](https://support.office.com/en-us/article/Split-text-into-different-columns-with-the-Convert-Text-to-Columns-Wizard-30b14928) -5550-41f5-97ca-7a3e9c363ed7)がこれを行うことができます。 – tigeravatar

+0

http://stackoverflow.com/q/11012619/62576 –

+0

リストが大きすぎない場合は、Validation Data、List、in sourceを使用してください。0,2,5,7,50 – yass

答えて

0

VBAなしでセルの列の中に一つのセルのうちカンマ区切りの文字列を分割することが可能で、入力し

=CHOOSE(ROW(), 

はその後、)を貼り付けそれに合わせてコピーしてください。

0

これは動作するはずです:

をあなたが仕事を持ってあなたのシートの名前を仮定すると、「タスク」、ソースがセルA1にあり、あなたが同じシートにA2内での検証リストを追加する必要があります。

  • アクティブVBA
  • 後藤VBAエディタ
  • は結果を以下に示し

    Private Sub Workbook_Open() 
    
        AddCSVListValidation "Task", "A1", "A2" 
    
    End Sub 
    
    Sub AddCSVListValidation(sheet, cellSource, cellTarget) 
        txt = ActiveWorkbook.Worksheets(sheet).Range(cellSource).Value 
        ActiveWorkbook.Worksheets(sheet).Range(cellTarget) = "Select your values here" 
        With ActiveWorkbook.Worksheets(sheet).Range(cellTarget).Validation 
         .Delete 
         .Add Type:=xlValidateList, Formula1:="a,b,c" 
         .IgnoreBlank = True 
         .InCellDropdown = True 
         .InputTitle = "" 
         .ErrorTitle = "" 
         .InputMessage = "" 
         .ErrorMessage = "" 
         .ShowInput = True 
         .ShowError = True 
        End With 
    End Sub 
    

ワークブックモジュールの次のコードを作成します - あなたは、ブックを開くたびに、それは自動になります - 人口が多い。お役に立てれば。

また、トラップタスクシートの変更のためのイベントとは、これはまた、あなたが複数のソースへの操作を拡張することができます

AddCSVListValidation "Task", "A1", "A2" 

を呼び出すことにより、検証リストを更新するために、A1の範囲の更新の条件でコードを実行することができますおよび標的細胞。拡張子が.xlsmの本を保存し、より新しいExcelバージョンでマクロを有効にする必要があります。

enter image description here

関連する問題