Excel 我想将数据列表从userform传递到模块?

Excel 我想将数据列表从userform传递到模块?,excel,vba,listbox,userform,Excel,Vba,Listbox,Userform,您好,我正在寻找有关excel VBA问题的帮助。我创建了一个userform,它允许您从一个列表框到另一个列表框的项目列表中进行选择。Userform的代码如下所示: Private Sub UserForm_Initialize() With ColumnName .AddItem "a" .AddItem "b" .AddItem "c" .AddItem "d" .AddItem "e" .AddItem "f" End With End Sub 然后 其中,listbox 1是Col

您好,我正在寻找有关excel VBA问题的帮助。我创建了一个userform,它允许您从一个列表框到另一个列表框的项目列表中进行选择。Userform的代码如下所示:

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

其中,listbox 1是ColumnName,listbox 2是Selected Columns。我一直试图通过输入以下代码将此信息列表传递给单独的模块:

Private Sub CommandButton1_Click()
varSelectedColumns = UserForm2.selectedColumns
Unload UserForm2
End Sub
然后在模块中,我想使用这些数据生成一个字符串

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

UserForm2.Show

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

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

虽然由于
varSelectedColumns
被分配了一个字符串,您可能希望将其名称更改为
strSelectedColumns
,以反映其数据类型

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

UserForm2.Show

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

Range("B2").Value = strQuery
End Sub
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