Excel VBA代码,用于根据动态更新的单元格值删除行
我有一个工作表,需要根据输出公式的列的索引值删除行 这是我正在处理的数据: 以下是数据的内容: 每个作业ID(A列)有2个值:分配给不同所有者的True和False 现在,列F具有指定为满足某些条件的数据 每次删除作业ID(作业的两行)时,F列中的最后一个值将根据条件不断更新为“是/否” 我想要达到的目标是:Excel VBA代码,用于根据动态更新的单元格值删除行,excel,vba,Excel,Vba,我有一个工作表,需要根据输出公式的列的索引值删除行 这是我正在处理的数据: 以下是数据的内容: 每个作业ID(A列)有2个值:分配给不同所有者的True和False 现在,列F具有指定为满足某些条件的数据 每次删除作业ID(作业的两行)时,F列中的最后一个值将根据条件不断更新为“是/否” 我想要达到的目标是: 当最后一列的值为“否”时,一次检查一行,并将两行(一个作业)移到底部 当这些删除或移位发生时,最后一列中的数据将更新 因此,宏应该是动态的 以下是我尝试过的代码: Sub delet
- 当最后一列的值为“否”时,一次检查一行,并将两行(一个作业)移到底部
- 当这些删除或移位发生时,最后一列中的数据将更新
- 因此,宏应该是动态的
Sub delete()
Dim i As Integer
Dim LastRow As Integer
LastRow = Range("A").End(xlUp).Row
For i = 2 To LastRow
If Range("F" & i).Value = "No" And Range("A" & i).Value = Range("A" & i + 1).Value Then
Rows(i & ":" & (i + 1)).Cut
Range("A").End(xlDown).Offset(1, 0).EntireRow.Insert
Application.CutCopyMode = False
End If
Next
End Sub
这似乎不起作用。删除部分在我使用以下代码行的情况下部分工作:
Rows(i & ":" & (i+1)).Select
Selection.delete Shift:=x1Up
我无意冒犯你,但我看不出你的制度有什么好处。请考虑这个问题。
=SUM(间接(地址(行()-MOD(行(),2),5)&“&ADDRESS(行()+1-MOD(行(),2,5))*(如果(和(间接(J2)>50,间接(K2)>50),2,1))+(行()/10000)
它的最后一个优点是可以对“帮助者”列中的条件进行微调,以更好地满足您的需要。这可能无法解决您的问题,但是如果要将
i
变量和LastRow
变量用作行号,则它们应该是Long
而不是整数。另一件事:当编写删除条目的函数时,应该从最后一个到第一个,而不是从第一个到最后一个。