2017-07-10 1 views
0

こんにちは、私はVBAの問題をExcelで助けを探しています。あるリストボックスから別のリストボックスへのアイテムのリストから選択するためのuserformを作成しました。次のようにユーザーフォームのコードは次のとおり私はユーザーフォームからモジュールにデータのリストを渡したいですか?

Private Sub UserForm_Initialize() 
With ColumnName 
.AddItem "a" 
.AddItem "b" 
.AddItem "c" 
.AddItem "d" 
.AddItem "e" 
.AddItem "f" 
End With 
End Sub 

そして

Private Sub AddButton_Click() 
For i = 0 To ColumnName.ListCount - 1 
If ColumnName.Selected(i) = True Then selectedColumns.AddItem 
ColumnName.List(i) 
Next i 

End Sub 

リストボックス1はColumnNameのであり、リストボックス2列を選択します。私は

Public varSelectedColumns As String, srtQuery As String 
sub Skeleton_Query1() 

UserForm2.Show 

strQuery = "SEL * " & Chr(10) & varSelectedColumns 

Range("B2").Value = strQuery 
End Sub 

答えて

0
を持っているように文字列を作るために、このデータを使用したいモジュールに続いて

Private Sub CommandButton1_Click() 
varSelectedColumns = UserForm2.selectedColumns 
Unload UserForm2 
End Sub 

:私が最初にこのコードを入力することにより、別のモジュールへの情報のリストを渡すようにしようとしていますvarSelectedColumnsは、文字列を割り当てられていることから、あなたはそのデータ型を反映するためにstrSelectedColumnsに社名を変更したい場合があります、が

...

Private Sub CommandButton1_Click() 
    Dim i As Long 
    varSelectedColumns = "" 
    With UserForm2.selectedColumns 
     If .ListCount = 0 Then 
      Beep 
      Exit Sub 
     End If 
     For i = 0 To .ListCount - 1 
      varSelectedColumns = varSelectedColumns & ", " & .List(i) 
     Next i 
    End With 
    varSelectedColumns = Mid(varSelectedColumns, 3) 
    Unload UserForm2 
End Sub 

を試してみてください。

+0

ありがとうございました –

関連する問題