2017-10-05 18 views
0

ユーザーフォームのリストボックスで選択範囲を受け取り、その値をシート( "VBA_Data")の範囲( "AY1")に貼り付けるボタンには、次のコードがあります。複数の選択リストボックスの値をセルの値に変換

これは1つのセレクションでのみ機能し、リストボックスで複数のセレクションを選択すると、最初の値がセ​​ルAY1に追加されます。

AY1で始まる列AYの各セルに1つずつ、リストボックス内のすべての選択された値を追加するようにコードを修正したいと思います。リストボックスの範囲は可変です。したがって、これは任意の量の選択に対して可能です。

Private Sub CommandButtonRemoveSelectedProjects_Click() 

Dim selectioncount As Long 
selectioncount = ListBoxProjectsToRemove.Selected(i) 

Set TxtRng = ActiveWorkbook.Sheets("VBA_Data").Range("AY1") 

For i = 0 To ListBoxProjectsToRemove.ListCount - 1 
If ListBoxProjectsToRemove.Selected(i) Then 
    SelectedItemText = ListBoxProjectsToRemove.List(i) 
End If 
Next i 

TxtRng.Value = SelectedItemText 

End Sub 

答えて

0

ターゲット範囲を次のセルに簡単に変更できます。

Set TxtRng = ActiveWorkbook.Sheets("VBA_Data").Range("AY1") 

For i = 0 To ListBoxProjectsToRemove.ListCount - 1 
    If ListBoxProjectsToRemove.Selected(i) Then 
     TxtRng.Value = ListBoxProjectsToRemove.List(i) 
     Set TxtRng = TxtRng.Offset(1) 
    End If 
Next i 
+0

これは完全に機能しました。ありがとうございます。 – pwm2017

+0

ようこそ。私の答えを受け入れていただきありがとうございます –

関連する問題