简体   繁体   English

运行时错误1004。方法'范围'对象'_Global'_失败

[英]Run time error 1004. Method 'Range' object '_Global' _ failed

When I run my program only for one line (instead of variable i, put any other number) of the worksheet, there's no problem. 当我仅对工作表的一行(而不是变量i,输入其他任何数字)运行程序时,就没有问题。 But when I tried to do it for other lines using a FOR loop, the error message appears Run time error 1004. Method 'Range' object '_Global' _ failed . 但是,当我尝试使用FOR循环对其他行执行此操作时,错误消息出现Run time error 1004. Method 'Range' object '_Global' _ failed The debugger always highlights the 14th line. 调试器始终突出显示第14行。 But I don't know if I have to fix just this line. 但是我不知道我是否必须解决这一问题。 Hope anyone can help me...my code is below. 希望任何人都能帮助我...我的代码在下面。

Sub depth()
    Dim VAR1 As Double
    Dim VAR2 As Double
    Dim VAR3 As Double
    Dim finalDepth As Double
    Dim i As Integer

  ' Calculation of depth when soil temperature is zero. Calculation 
  ' was made considering linear change of temperature between 2 values

    With ThisWorkbook.Worksheets("sheet1")
        For i = 2 To 30547

          ' (PART HIGHLIGHTED BY DEBUGGER)

            If Range("Fi").Value > 0 And _
                Range("Gi").Value > 0 And _
                Range("Hi").Value > 0 And _
                Range("Ii").Value > 0 And _
                Range("Ji").Value > 0 And _
                Range("Ki").Value > 0 And _
                Range("Li").Value > 0 And _
                Range("Mi").Value > 0 And _
                Range("Ni").Value > 0 And _
                Range("Oi").Value > 0 And _
                Range("Pi").Value > 0 Or _
                Range("Fi").Value < 0 And _
                Range("Gi").Value < 0 And _
                Range("Hi").Value < 0 And _
                Range("Ii").Value < 0 And _
                Range("Ji").Value < 0 And _
                Range("Ki").Value < 0 And _
                Range("Li").Value < 0 And _
                Range("Mi").Value < 0 And _
                Range("Ni").Value < 0 And _
                Range("Oi").Value < 0 And _
                Range("Pi").Value < 0 Then

                Range("Ri").Value = 0

          ' Calculation of depth when temperature is zero for each column on one row

            ElseIf (Range("Fi").Value > 0 And Range("Gi").Value < 0) Then
                VAR1 = (Range("Fi") - Range("Gi"))
                VAR2 = VAR1 / (Range("G1") - Range("F1"))
                VAR3 = Range("Fi") / VAR2
                finalDepth = Range("F1") + VAR3
                Range("Ri").Value = finalDepth

          ' Columns g and h

            ElseIf (Range("Gi").Value > 0 And Range("Hi").Value < 0) Then
                VAR1 = (Range("Gi") - Range("Hi"))
                VAR2 = VAR1 / (Range("H1") - Range("G1"))
                VAR3 = Range("Gi") / VAR2
                finalDepth = Range("G1") + VAR3
                Range("Ri").Value = finalDepth

          ' Columns h and i

            ElseIf (Range("Hi").Value > 0 And Range("Ii").Value < 0) Then
                VAR1 = (Range("Hi") - Range("Ii"))
                VAR2 = VAR1 / (Range("I1") - Range("H1"))
                VAR3 = Range("Hi") / VAR2
                finalDepth = Range("H1") + VAR3
                Range("Ri").Value = finalDepth

          ' Columns i and j

            ElseIf (Range("Ii").Value > 0 And Range("Ji").Value < 0) Then
                VAR1 = (Range("Ii") - Range("Ji"))
                VAR2 = VAR1 / (Range("J1") - Range("I1"))
                VAR3 = Range("Ii") / VAR2
                finalDepth = Range("I1") + VAR3
                Range("Ri").Value = finalDepth

          ' Columns j and k

            ElseIf (Range("Ji").Value > 0 And Range("Ki").Value < 0) Then
                VAR1 = (Range("Ji") - Range("Ki"))
                VAR2 = VAR1 / (Range("K1") - Range("J1"))
                VAR3 = Range("Ji") / VAR2
                finalDepth = Range("J1") + VAR3
                Range("Ri").Value = finalDepth

          ' Columns k and l

            ElseIf (Range("Ki").Value > 0 And Range("Li").Value < 0) Then
                VAR1 = (Range("Ki") - Range("Li"))
                VAR2 = VAR1 / (Range("L1") - Range("K1"))
                VAR3 = Range("Ki") / VAR2
                finalDepth = Range("K1") + VAR3
                Range("Ri").Value = finalDepth

          ' Columns l and m

            ElseIf (Range("Li").Value > 0 And Range("Mi").Value < 0) Then
                VAR1 = (Range("Li") - Range("Mi"))
                VAR2 = VAR1 / (Range("M1") - Range("L1"))
                VAR3 = Range("Li") / VAR2
                finalDepth = Range("L1") + VAR3
                Range("Ri").Value = finalDepth

          ' Columns m and n

            ElseIf (Range("Mi").Value > 0 And Range("Ni").Value < 0) Then
                VAR1 = (Range("Mi") - Range("Ni"))
                VAR2 = VAR1 / (Range("N1") - Range("M1"))
                VAR3 = Range("Mi") / VAR2
                finalDepth = Range("M1") + VAR3
                Range("Ri").Value = finalDepth

          ' Columns n and o

            ElseIf (Range("Ni").Value > 0 And Range("Oi").Value < 0) Then
                VAR1 = (Range("Ni") - Range("Oi"))
                VAR2 = VAR1 / (Range("O1") - Range("N1"))
                VAR3 = Range("Ni") / VAR2
                finalDepth = Range("N1") + VAR3
                Range("Ri").Value = finalDepth

          ' Column o and p

            ElseIf (Range("Oi").Value > 0 And Range("Pi").Value < 0) Then
                VAR1 = (Range("Oi") - Range("Pi"))
                VAR2 = VAR1 / (Range("P1") - Range("O1"))
                VAR3 = Range("Oi") / VAR2
                finalDepth = Range("O1") + VAR3
                Range("Ri").Value = finalDepth
            End If
        Next i
    End With
End Sub

您还需要在所有范围调用之前添加一个句点

.Range("F" & i).Value

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 运行时错误1004。对象&#39;_Worksheet&#39;的方法&#39;Range&#39;失败 - Run-time error 1004. Method 'Range' of object '_Worksheet' failed 运行时错误&#39;1004&#39;:对象&#39;_Global&#39;的方法&#39;Range&#39;失败 - Run-time error '1004' : Method 'Range' of object'_Global' failed 运行时错误&#39;1004&#39;:对象&#39;_Global&#39;的方法&#39;Range&#39;失败 - Run-time error '1004': Method 'Range' of object '_Global' failed 运行时错误1004-对象&#39;_Global&#39;的方法&#39;Range&#39;失败 - Run-time error 1004 - Method 'Range' of object'_Global' failed 运行时错误&#39;1004&#39;对象&#39;_Global&#39;的方法&#39;Range&#39;失败 - Run-time error '1004' Method 'Range' of object'_Global' failed 运行时错误&#39;1004&#39;:对象&#39;_Global&#39;的方法&#39;Range&#39;失败6 - Run-time error '1004' : Method 'Range' of object'_Global' failed 6 运行时错误'1004' - 对象'_Global'的方法'范围'失败 - Run-time error '1004' - Method 'Range' of object'_Global' failed 运行时错误1004。未定义对象 - Run time error 1004. Object not defined VBA运行时错误1004 Object_Global的范围失败 - VBA Run Time Error 1004 Range of Object_Global Failed 我收到此错误消息。 运行时错误&#39;1004&#39;对象&#39;_Global&#39;的方法&#39;Range&#39;失败 - I am getting this error message. Run Time error '1004' Method 'Range' of object'_Global' Failed
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM