excel - Excel 宏大部分时间都在工作,但并非总是如此
问题描述
我制作了以下宏(解释如下):
Sub SupprimeContratsExpirés()
Dim i As Integer
i = 2
While Cells(i, 1) <> ""
If IsDate(Cells(i, 9)) Then
If Cells(i, 2) = Cells(i - 1, 2) Or Cells(i, 2) = Cells(i + 1, 2) Then
Rows(i).EntireRow.Delete
i = i - 1
End If
End If
i = i + 1
Wend
End Sub
宏正在循环,直到它在第一列中找到一个空单元格。找到一个空单元格意味着宏的结束。在循环中,第一个条件是检查相应行的第 9 列中是否有日期(合同结束)。如果有日期,我希望仅当该行代表的人由另一行代表时才删除该行。这是第二个 if 语句。它检查第 2 列中的数据(与特定工作人员相关的数字)是否与刚好低于或高于的数据相同。如果是这种情况,则删除当前行并减少我的索引(以保持相同的行号,因为它稍后会增加)。
它大部分时间都在工作,但有时 Excel 告诉我在我的第二个 if 语句的行上存在类型不兼容......
谁能解释我为什么?
解决方案
我发现了我的错误!问题是我用一个公式替换了一个标题,这个公式有时会因为删除了一些行而导致引用错误:)
推荐阅读
- ios - 用户位置的 iOS 权限
- android - 从特定于已登录用户的 firebase 中提取数据
- python - 使用多个键对 Numpy 数组进行排序
- javascript - 循环所有的可能性
- java - 使用新的不同索引重新定位数组中的元素
- excel-formula - 如果输入介于两个设定值之间,则进行动态值查找
- javascript - javascript递归字符串反向
- angular - angular中app.module中声明部分的用途是什么
- python - 如何修复 pygame 菜单(太空入侵者)?
- opengl - glTextureSubImage3D() 对小图像输入行为不端