excel宏报错:运行时错误1004.我的是2007版excel。

2024年12月04日 23:22
有1个网友回答
网友(1):

说真的,楼主这段代码写的整个乱七八糟,先说报不报错,就算不报错!

也完全不会实现楼主所要的功能.

排序也根本没有必要

strColumnLetter ,strColumnRange ,rngCurrentCell 这几个变量也完全没有必要

直接set rngCurrentCell=range("A1")就好了

另外If rngCurrentCell.Value = rngCurrentCell.Value Then这句就更离谱了

比较同一单元格的值是否相同?????肯定永远为TRUE

还有Not IsEmpty(rngCurrentCell)这个是表示变量是否初始化,你前面已经用SET初始化了,这句永远都只会为假,所以不可能进入循环

楼主补充下,是不是把A列中有重复值所在的行全部删除???我重新写一段

Sub 删除重复行()
Dim Adic, EndRow As Long, delrng As Range
Set Adic = CreateObject("Scripting.Dictionary")
With Sheets("Sheet2")
EndRow = .[A65536].End(xlUp).Row
For Each rng In .Range("A1:A" & EndRow)
    If Adic.Exists(rng.Value) Then
        If delrng Is Nothing Then Set delrng = rng.EntireRow Else Set delrng = Union(rng.EntireRow, delrng)
    Else
      Adic(rng.Value) = ""
    End If
Next
delrng.Delete
End With
End Sub