2016-12-19 14 views
0

ExcelのL列に値を設定するドロップダウンリストをExcelで作成しようとしています。 。私はいくつかのダミー値を持つTable1というテーブルを手動で作成しました。私はテーブル内の値をハードコードすることができますので、それは問題ではありません。私はいくつかの条件を実行する必要があり、いくつかの特定の行については、ExcelのL列にドロップダウンを追加する必要があります。どんな助けもありがとう。また、Excelで特定の行を色付けする簡単な方法はありますか?VBAを使用してExcelの特定のセル(列)に動的にリストを追加する

Sub button_click() 
Set i = Sheets("Sheet1") 
Set e = Sheets("Sheet2") 
arrColumnNames = i.ListObjects("Table1") 

Dim d 
Dim j 
d = 1 
j = 13 

Do Until IsEmpty(i.Range("K" & j)) 

If i.Range("K" & j) = "Y" Then 
d = d + 1 
e.Rows(d).Columns("A:E").Value = i.Rows(j).Columns("A:E").Value 
i.Rows(j).Columns("L") = arrColumnNames 
End If 
j = j + 1 
Loop 
End Sub 
+0

明らかに、既存のテーブルにデータを追加しますか?つまり、テーブルに行を追加しますか? – KyloRen

+0

いいえハードコードされたデータを持つテーブル(リスト?)があります。 ExcelシートのL列の特定の行に使用したいだけです。 – p0tta

+0

要するに、ExcelシートのL列の特定の行にドロップダウンを追加するだけです。 ExcelのDrop DownsがListsと呼ばれていたようで、いまや何らかの理由でテーブルと呼ばれていて混乱が増えているようです。 – p0tta

答えて

1

私はあなたが何をしているかを見ていると思います。これにより、検証リストが作成され、選択した値でリストが作成されます。

Dim myRng As String 

myRngr = Range("A1:A10").Address 

With Range("B2").Validation 
    .Delete 
    .Add Type:=xlValidateList, _ 
     AlertStyle:=xlValidAlertStop, _ 
     Operator:=xlBetween, Formula1:="=" & myRngr & "" 
End With 

myRngr = Range("A1:A10").Address 

が次にあなたが L columnを介して実行するループを使用することができ、何が必要ソースデータ、あなただけのこの行を変更する必要があるためにどのような範囲改正するとの基準が満たされた場合検証リストを追加します。

希望に役立ちます。

+0

i.Rows(j).Columns( "A:L")。Interior.ColorIndex = 3 ここで、3は赤色です。 – p0tta

関連する問題