ste*_*tur 4 excel vba excel-vba
想象一下,您有两组数据,行数和列数相同.现在,您需要检查一组中单元格中的数据是否等于另一组中具有相同相对地址的单元格中的数据.如果对于行的所有单元格都是如此,则从两个集合中删除该行.我可以通过比较每个单元格来轻松编码,这对大型数据集不利.请参阅下面的代码,其中两列数据恰好位于同一张纸中,并且它们之间的列偏移为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
Run Code Online (Sandbox Code Playgroud)
我的实际数据每天有超过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
Run Code Online (Sandbox Code Playgroud)
如果您在单元格中嵌入了逗号,则在JOIN中选择另一个字符
| 归档时间: |
|
| 查看次数: |
34214 次 |
| 最近记录: |