1
vba非常新,而且我在使用一段代码时遇到了一些问题。实质上,我试图从用户表单中的列表框中对用户选择的项目执行不同的工作表函数。VBA Excel:参数不是可选
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'? – Comintern
你不能'设置'值为字符串。这是错误的'Set UserRange = ListBox1.Selected = True' – cyboashu
如果您使用ListBox输入代表范围的字符串,那么您需要使用'Set UserRange = ListBox1.Value',只需记住该字符串需要包含(“Sheet1”)。Range(“A1:D10”)' –