我想要做的是,當我保存我的Excel文件,我希望腳本檢查所有具有「$」作爲最後一個字符的單元格,並檢查是否有與在同一列名「備份」,因爲它發現了一個小區,如果有,才申請我的腳本Excel VBA這應該是工作,但它不是
這裏的小區是我的代碼:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim c As Range
Dim x As Integer
Dim y As Integer
Dim isbackup As Boolean
isbackup = False
For Each c In Range("A1:N60")
If Right(c, 1) = "$" Then y = c.Column: x = c.Row
For i = 1 To 60
If Cells(i, y).Value = "Backup" Then
isbackup = True
Exit For
End If
Next i
If isbackup = True And Right(c, 1) = "$" Then <my script>
Next c
我沒有看到任何語法或邏輯錯誤,但我得到錯誤代碼
1004: 「應用程序定義或對象定義的錯誤」
如果你的第一個'If'是第一個'C'假,則Y = 0 = =>'Cells(1,0)'不存在,因此錯誤1004.你也應該在'Range'的定義中更加明確:'ThisWorkbook.Worksheets(1).Range(「A1:N60」 )' –
使用F8單週期。將鼠標懸停在變量上以查看其值。使用'debug.print ..'來查看發生了什麼。還有其他的調試選項。 – dcromley
這不起作用,因爲在你的第一個'if'之後,你應該開始一個新行,並用'end if'結束該塊。我也會用'Right(c.address,1)=「$」 –