Vba 删除重复的行。(类型不匹配错误)
我在“If Not LRow=Range(“C65536”).End(xlUp).Row=”“Then”行上得到类型不匹配错误Vba 删除重复的行。(类型不匹配错误),vba,excel,Vba,Excel,我在“If Not LRow=Range(“C65536”).End(xlUp).Row=”“Then”行上得到类型不匹配错误 此代码应删除除空行之外的所有重复实体。试图将数据类型从Long更改为Variant,但它会删除所有行,包括空行。这是因为行数是一个数值,您正在将其与字符串进行比较 Private Sub DEDUPLICATE_Click() Application.ScreenUpdating = False Dim n As Long Dim LRow As
此代码应删除除空行之外的所有重复实体。试图将数据类型从Long更改为Variant,但它会删除所有行,包括空行。这是因为行数是一个数值,您正在将其与字符串进行比较
Private Sub DEDUPLICATE_Click()
Application.ScreenUpdating = False
Dim n As Long
Dim LRow As Long
If Not LRow = Range("C65536").End(xlUp).Row = 0 Then
LRow = Range("C65536").End(xlUp).Row
For n = LRow To 6 Step -1
If Application.WorksheetFunction.CountIf(Range("C6:C" & n), Range("C" & n).Text) > 1 Then
Range("C" & n).EntireRow.Delete
End If
Next n
End If
End Sub
谢谢试试这个:
Private Sub DEDUPLICATE_Click()
Application.ScreenUpdating = False
Dim n As Long
Dim LRow As Long
LRow = Range("C65536").End(xlUp).Row
For n = LRow To 6 Step -1
If Application.WorksheetFunction.CountIf(Range("C6:C" & n), Range("C" & n).Text) > 1 Then
If Not Range("C" & n).Value = "" Then
Range("C" & n).EntireRow.Delete
End If
End If
Next n
End Sub
你到底想查什么?您想检查LRow是否是最后一行,第二个验证是什么?是否要查看最后一行的内容是否为空?@MarcoGetrost第一个条件是代码检查excel中的所有行,避免删除空行,然后删除重复的数据。请重试。你把if和for循环搞混了。
Private Sub DEDUPLICATE_Click()
Application.ScreenUpdating = False
Dim n As Long
Dim LRow As Long
LRow = Range("C65536").End(xlUp).Row
For n = LRow To 6 Step -1
If Application.WorksheetFunction.CountIf(Range("C6:C" & n), Range("C" & n).Text) > 1 Then
If Not Range("C" & n).Value = "" Then
Range("C" & n).EntireRow.Delete
End If
End If
Next n
End Sub