VBA Excel:参数不可选

vba非常新,而且我正在用一段代码来解决一些问题。 实质上,我试图从用户表单中的用户select的项目执行不同的工作表函数。

Private Sub cmdRunStat_Click() Dim averageValue As Single Dim sdValue As Single Dim maxValue As Variant Dim minValue As Single Dim modeValue As Single Dim UserRange As String, sheetName As String Set UserRange = ListBox1.Selected = True If optAverage.Value = True Then averageValue = WorksheetFunction.Average(UserRange) MsgBox "The average of the selected data is " & averageValue ElseIf optSD.Value = True Then sdValue = WorksheetFunction.StDev(UserRange) MsgBox "The standard deviation of the selected data is " & sdValue ElseIf optMax.Value = True Then maxValue = WorksheetFunction.Max(UserRange) MsgBox "The maximum of the slected data is " & maxValue ElseIf optMin.Value = True Then minValue = WorksheetFunction.Min(UserRange) MsgBox "The minimum of the slected data is " & minValue Else modeValue = WorksheetFunction.Mode(UserRange) MsgBox "The mode of the slected data is " & modeValue End If End Sub 

设置UserRange = ListBox1.Selected = True

这是一个不正确的方式分配给一个String对象。

如果你试图从列表框中获得选定的值,那么我认为这是你所需要的?

 Dim UserRange As String For i = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(i) Then UserRange = ListBox1.List(i) Exit For End If Next i 

如果它是一个Range对象,那么你需要改变上面的

 Dim UserRange As Range For i = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(i) Then Set UserRange = ListBox1.List(i) Exit For End If Next i