[英]Excel VBA: 'excel vba run-time error 1004' application-defined or object-defined error
[英]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.