Vba 运行时错误“;424:所需对象“;

Vba 运行时错误“;424:所需对象“;,vba,excel,runtime-error,Vba,Excel,Runtime Error,我在使用此代码时遇到困难。我试图使其基于单元格D25的值,F25的值将发生变化。我用VBA编写了代码(不知道这是否是最好的方法),它给了我一个424运行时错误:需要对象。有人能给我指一下正确的方向吗 Sub Storage_vesel_Controle() Sheets("NSR Form").Select If Range("D25") = "1" Then Range("F25").Select.Value = "0" If Range("D25") = "2" Th

我在使用此代码时遇到困难。我试图使其基于单元格
D25
的值,
F25
的值将发生变化。我用VBA编写了代码(不知道这是否是最好的方法),它给了我一个
424运行时错误:需要对象
。有人能给我指一下正确的方向吗

Sub Storage_vesel_Controle()

   Sheets("NSR Form").Select

   If Range("D25") = "1" Then Range("F25").Select.Value = "0"

   If Range("D25") = "2" Then Range("F25").Select.Value = ".95"

   If Range("D25") = "3" Then Range("F25").Select.Paste = ".98"

End Sub

另外,我需要添加什么才能使代码“始终运行”。。。在循环中,我想?

把它清理一下。使用
Select Case
语句比使用多个If/Then语句更容易

Sub Storage_vesel_Controle()
    With Sheets("NSR Form")
        .Activate  '<this line is not actually necessary unless you want to be on the sheet.
        Select Case .Range("D25").Value
            Case 1
                .Range("F25").Value = 0
            Case 2
                .Range("F25").Value = 0.95
            Case 3
                .Range("F25").Paste = 0.98
            Case Else
                'do nothing, or, modify as needed
        End Select
    End With
End Sub
子存储容器控制()
附页(“NSR表格”)

.Activate'除了我上面的评论之外,我不打算发布答案,但看到了一些我认为会引起您注意的东西,而且评论无法容纳这么多文本

我建议不要使用
。选择
来选择工作表,而是直接使用工作表(请参见下面的代码),您可能也希望看到这一点

编辑

关于你的编辑。您可以使用
工作表\u Change
事件来确保自动更新F25的值,或者如果需要非VBA解决方案,则只需在
F25
中使用公式即可

如果您对工作表的更改感兴趣,请参阅。否则,
F25
中的简单公式就可以满足您的需要:)


更改
范围(“F25”).Select.Value=“0”
tp
范围(“F25”).Value=“0”
…而不是在选择的情况下删除
=
+1后的引号:)我晚了几秒钟才更改?这是你写的一组单独的代码吗?@DavidVanderVieren:刷新页面:)你会看到最新的编辑。
Sub Storage_vesel_Controle()
    With Sheets("NSR Form")
        Select Case .Range("D25").Value
           Case 1: .Range("F25").Value = 0
           Case 2: .Range("F25").Value = 0.95
           Case 3: .Range("F25").Value = 0.98
        End Select
    End With
End Sub
=IF(D25=1,0,IF(D25=2,0.95,IF(D25=3, 0.98,"")))