错误424对象需要

Yan*_*ng 1 excel vba excel-vba

Calculator是excel文件中的一个选项卡.nnoise是由具有下拉列表的单元格分配的宏.下拉列表的选项是1,2,3,4和5.根据下拉列表的选择,我希望为另一个单元格分配一定的值.

它总是出现需要的对象.

Sub nnoise()

noiseval = Calculator.Range("E15")

With Calculator

If noiseval = 1 Then
    .Range("F15") = 0

ElseIf noiseval = 2 Then
    .Range("F15") = 30

ElseIf noiseval = 3 Then
    .Range("F15") = 50

ElseIf noiseval = 4 Then
    .Range("F15") = 70

ElseIf noiseval = 5 Then
    .Range("F15") = 90

End If

End With

End Sub
Run Code Online (Sandbox Code Playgroud)

小智 5

我怀疑这noiseval是以文字形式出现的.您的过程也可以从Select Case语句中获益,以替换If ... ElseIf ... End If.

Sub nnoise()
    Dim noiseVal As Variant

    With Worksheets("Calculator")
        noiseVal = .Range("E15").Value2

        Select Case noiseVal
            Case 1, "1"
                .Range("F15") = 0
            Case 2, "2"
                .Range("F15") = 30
            Case 3, "3"
                .Range("F15") = 50
            Case 4, "4"
                .Range("F15") = 70
            Case 5, "5"
                .Range("F15") = 90
            Case Else
                .Range("F15") = vbNullString
        End Select
    End With

End Sub
Run Code Online (Sandbox Code Playgroud)

通过堆叠比较值,noiseVal针对字符串和整数值进行测试; 例如1不等于"1".

我不确定你的工作表参考; 我从你的叙述中假设计算器是工作表.Name属性.