VBA参数不可选错误userfrom列表框

我为UserForm编写了下面的代码,但我一直得到一个argument not optional错误。

 Option Explicit Private Sub CommandButton3_Click() Select Case LCase(Me.ListBox2.Text) Case "Analysis": Call macro1 Case "" MsgBox "nothing selected" Case Else MsgBox Me.ListBox2.Text End Select End Sub 

macros1代码:

 Sub macro1() ' ' Macro1 Macro Sheets.Add ActiveSheet.Name = "Analysis" Application.DisplayAlerts = False Application.ScreenUpdating = False ' Range("A13").Select ActiveCell.FormulaR1C1 = "Year" Range("B13").Select ActiveCell.FormulaR1C1 = "0" Range("C13").Select ActiveCell.FormulaR1C1 = "=IFERROR(IF(RC[-1]+1>R9C2,"""",RC[-1]+1),"""")" Range("C13").Select Selection.AutoFill Destination:=Range("C13:HS13"), Type:=xlFillDefault Range("C13:HQ13").Select End Sub 

首先,您引用ListBox的方法是一个问题。 请参阅下面的代码另外,我必须在范围之前添加图纸名称,然后这为我工作…

 Option Explicit Private Sub CommandButton3_Click() Dim i as Integer Dim sValue as String For i = 0 To Me.ListBox2.ListCount - 1 If Me.ListBox2.Selected(i) Then sValue = ListBox2.List(i) End If Next i Select Case LCase(sValue) Case "Analysis": Call macro1 Case "" MsgBox "nothing selected" Case Else MsgBox sValue.Text End Select End Sub Sub macro1() ' ' Macro1 Macro Sheets.Add ActiveSheet.Name = "Analysis" Application.DisplayAlerts = False Application.ScreenUpdating = False ' Sheets("Analysis").Range("A13").Select ActiveCell.FormulaR1C1 = "Year" Sheets("Analysis").Range("B13").Select ActiveCell.FormulaR1C1 = "0" Sheets("Analysis").Range("C13").Select ActiveCell.FormulaR1C1 = "=IFERROR(IF(RC[-1]+1>R9C2,"""",RC[-1]+1),"""")" Sheets("Analysis").Range("C13").Select Selection.AutoFill Destination:=Sheets("Analysis").Range("C13:HS13"), Type:=xlFillDefault Sheets("Analysis").Range("C13:HQ13").Select End Sub