我使用下面的代碼來比較rng1 和 rng2并顯示 MsgBox 中的所有差異。代碼有效,但我需要清除 rng1 中的所有值并僅保留差異,each difference in one cell。與往常一樣,非常感謝您的幫助。
Option Explicit
Sub Test_Copied_Data2()
Dim Sh1 As Worksheet: Set Sh1 = Sheets("Auto")
Dim Sh2 As Worksheet: Set Sh2 = Sheets("Closed_Items")
Dim rng1 As Range, rng2 As Range, A As Range, LastRow As Long
Set rng1 = Sh1.Range("A2:A22")
Dim Count_rng1 As Long
Count_rng1 = WorksheetFunction.CountA(rng1)
If Count_rng1 = 0 Then Exit Sub
LastRow = Sh2.Cells(Rows.Count, "B").End(xlUp).Row
Set rng2 = Sh2.Range("B" & Count_rng1 & ":" & "B" & LastRow)
Dim Msg As String
Msg = "These Item not found in sheet 'Closed_Items' : " & vbNewLine
For Each A In rng1
If Len(A.value) > 0 And Application.CountIf(rng2, A.value) = 0 Then
Msg = Msg & A.value & vbNewLine
End If
Next
Msg = Left(Msg, Len(Msg) - 2)
MsgBox Msg
End Sub
uj5u.com熱心網友回復:
Dim v
'...
'...
For Each A In rng1
v = A.Value
If Len(v) > 0 Then
If Application.CountIf(rng2, v) = 0 Then
Msg = Msg & v & vbNewLine
Else
A.clearcontents
End if
End If
Next
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/392744.html
上一篇:如果在比較Rng1和Rng2時沒有發現任何差異,是否隱藏MsgBox?
下一篇:excel與“2”或平方符號連接
