我的朋友有兩列,其中一列具有唯一值,另一列具有相同的值,但也重複,如下所示
Column 1 Column 2
ABC123 ABC123
CDE456 ABC123
EFG789 ABC123
ABC123
CDE456
CDE456
CDE456
EFG789
有時,第2 列並不總是包含所有值,在這種情況下,我認為只需要明確它們不存在於第2 列中。號重複值欄位中具有相同的值,如下所示。
Column 1 Column 2
ABC123 ABC123
ABC123
ABC123
ABC123
CDE456 CDE456
CDE456
CDE456
EFG789 EFG789
有沒有一種方法可以透過巨集或內部 Excel 功能輕鬆地在 Excel 中執行此操作?
答案1
這符合您的問題要求。
Sub ShowStartingPoints()
Dim rowA As Integer
rowA = 1
Do While (Range("A" & rowA).Value <> "")
Dim row As Integer
row = 1
Dim doesValueExitInB As Boolean
doesValueExitInB = False
Dim valueA As String
valueA = Range("A" & rowA).Value
Do While (Range("B" & row).Value <> "")
If (valueA = Range("B" & row).Value) Then
Range("A" & rowA).Value = ""
Range("A" & row).Value = valueA
doesValueExitInB = True
Exit Do
End If
row = row + 1
Loop 'Loops B col
If Not doesValueExitInB Then
Range("C" & rowA) = Range("A" & rowA)
Range("A" & rowA) = ""
Range("C" & rowA).Interior.ColorIndex = 3
End If
rowA = rowA + 1
Loop ' loops A col
End Sub
宏之前
宏後
這會存在一些問題,您的範例不會解決這些問題。如果您在 A 列中有一個很長的列表(如我所示),您將覆蓋數據,因為一個值會替換另一個值!
請注意,在第一個螢幕截圖中,A5 的值為 No。因此,我們檢查A3 的值在B 列中開始的位置。 。但是,您的問題沒有提到這一點,所以我認為這不是問題(另外,您始終可以根據您的需求調整程式碼)。