我有一个子调用来打开另一个窗口中的工作簿(使用 GetOpenFilename 和 Workbooks.Open ),然后从一个文件复制整个工作表内容并粘贴它作为宏工作簿(活动工作簿)中的新工作表,然后关闭第二个工作簿而不保存。
我想用ComboBox实现一个UserForm,它将从第二个工作簿的所有工作表中填充(其名称存储为字符串" vFile"。
我假设我需要UserForm_Initialize
然后Me.ComboBox1.List = ActiveWorkbook.SheetNames
???
提前致谢。
答案 0 :(得分:0)
很抱歉在发布后不久就搞清楚了,但我会提供我发现的答案以防其他人需要它,或者可能会建议更好的答案:
Private Sub UserForm_Initialize()
Dim SNarray As Variant
ReDim SNarray(1 To Sheets.Count)
For i = 1 To Sheets.Count
SNarray(i) = ActiveWorkbook.Sheets(i).Name
Debug.Print SNarray(i)
Next
Me.ComboBox1.Clear
Me.ComboBox1.List = SNarray
End Sub
这很简单:
Private Sub CommandButton1_Click()
If ComboBox1.Value = "" Then
MsgBox ("Please select a sheet to import.")
Else
WorkSheetValue = ComboBox1.Value 'Global String Dimension to call later
End If
Unload Me
End Sub