【发布时间】:2018-07-03 11:57:21
【问题描述】:
我编写了一个代码来删除第五列中单元格值为 0 的行:
Sub deletedata()
Dim i As Integer
Dim n As Integer
Dim ws3 As Worksheet
Set ws3 = ThisWorkbook.Worksheets("3.Calidad CREDITICIA")
Dim r As Range
Set r = ws3.Range("E20", Range("E20").End(xlDown))
n = r.Cells.Count
With ws3
For i = n + 20 To 20
If IsNumeric(.Cells(i, 5)) And .Cells(i, 5) = 0 Then
.Rows(i & ":" & i).Delete
End If
Next i
End With
End Sub
当它到达我设置 r 范围的指令时:Set r = ws3.Range("E20", Range("E20").End(xlDown)) 我得到 1004 错误:
1004,应用程序定义或对象定义
我尝试了很多东西,在它们之间我尝试了一个 MyCell 循环,但在设置范围时我仍然收到错误 ¿ 谁能告诉我我做错了什么?
【问题讨论】:
-
工作表是否受到保护?或者 VBA 代码可能在工作表上而不是在模块中?
-
代码在 Thisworkbook 而不是模块中,你能解释一下为什么这个事实会使这段代码无法工作吗?
-
我不能给你详细的解释。但我在我的 VBA 项目中经历过这种情况。