假设您有两组数据,并且行数和列数相同。现在您想要检查一组单元格中的数据是否等于另一组中具有相同相对地址的单元格中的数据。如果一行的所有单元格都是如此,则从两组中删除该行。我可以通过比较每个单元格来非常轻松地进行编码,但这对于大型数据集来说并不好。请参阅下面的两列代码,其中两组数据恰好并排位于同一张工作表中,并且它们之间的列偏移量为 300。
Dim RngOb As Range
Dim c As Range
Range("A1", "B1").Select
set RngOb = Range(Selection, Selection.End(xlDown))
For Each c In RngOb.Rows
If c.Cells(1,1).Value = c.Offset(0, 300).Cells(1,1).Value Then
If c.Cells(1,2).Value = c.Offset(0, 300).Cells(1,2).Value Then
c.EntireRow.Delete
End If
End If
Next
我的实际数据有 100 多列,并且每天的列数都不同。我正在寻找一种智能、快速的方法来处理大型数据集。我非常感谢您的回答、反馈和批评。 :D
这是比较同构范围中的两行的简单方法......在此示例中,每个范围的第 5 行:
Sub RowCompare()
Dim ary1() As Variant
Dim Range1 As Range, Range2 As Range, rr1 As Range, rr2 As Range
Set Range1 = Range("B9:F20")
Set Range2 = Range("I16:M27")
Set rr1 = Range1.Rows(5)
Set rr2 = Range2.Rows(5)
ary1 = Application.Transpose(Application.Transpose(rr1))
ary2 = Application.Transpose(Application.Transpose(rr2))
st1 = Join(ary1, ",")
st2 = Join(ary2, ",")
If st1 = st2 Then
MsgBox "the same"
Else
MsgBox "different"
End If
End Sub
如果单元格中嵌入了逗号,请在单元格中选择另一个字符JOIN
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)