簡體   English   中英

VBA運行時錯誤“ 1004”:應用程序定義或對象定義的錯誤

[英]VBA Run-time error '1004': Application-defined or object-defined error

我在代碼中找不到問題,從而導致錯誤。 如果單元格(J)不為空,我試圖更改單元格(L)的公式。 我想運行並檢查第6至69行。

Sub TMark()
Do
x = 6
Set r = Sheet1.Range("Jx")
If Not IsEmpty(r.Value) Then
Sheets("Sheet1").Range("Lx").Formula = "=(+Jx-Fx)*Dx"
End If

x = x + 1
Loop Until x = 70
End Sub

您可以嘗試將第5行替換為If r <> 0 Then 我認為這將與您嘗試獲得的效果相同。 由於未正確處理范圍對象而引發了錯誤。 我希望這個對你有用。

嘗試這個:

Sub TMark()
    Dim x As Long: x = 6
    Dim r As Range

    Do
        Set r = Sheet1.Range("J" & x)
        If Not IsEmpty(r.Value) Then
            Sheet1.Range("L" & x).Formula = "=(J" & x & "-F" & x & ")*D" & x
        End If
        x = x + 1
    Loop Until x = 70
End Sub

Excel將“ Jx”視為字符串而不是J6 應將其設置為(“ J”&x)

同樣,您在Do循環中設置x = 6 ,因此x永遠不會增加到6以上 ,並且循環將永遠繼續運行。

Sub TMark()

Dim x As Long
Dim r As Range

x = 6

Do
    Set r = Sheet1.Range("J" & x)
    If Not IsEmpty(r.Value) Then
        Sheets("Sheet1").Range("L" & x).Formula = "=(+J" & x & "-F" & x & ")*D" & x
    End If

    x = x + 1
Loop Until x = 10

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM