When I do this column comparison I want a permanent record without interfering with my source data, so put it on another sheet. Also, I don't always want to compare A and B, sometimes it's J and Q or R and X. The macro below does all of that. I'm sure it could be cleaned up, but it's working as is. BTW, "Speedon" and "Speedoff" are twin macros I have to turn off or on screenupdating, calculations, etc.https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHACode:Sub CompareColumns() 'Excel macro to compare two columns. 'Copies the two columns to a new sheet, into A and B 'Populates column C with unique values in A and not in B 'Populates column D with unique values in B and not in A 'Puts the values found in both A and B in column E. 'This little section of code tells the addresses of each unigue column picked. Dim rCol1 As Range, rCol2 As Range If Intersect(Selection, Selection.Cells(1).EntireRow).Count = 2 Then If Selection.Areas.Count > 1 Then Set rCol1 = Selection.Areas(1) Set rCol2 = Selection.Areas(2) Else Set rCol1 = Selection.Columns(1) Set rCol2 = Selection.Columns(2) End If Else MsgBox "This macro requires two and only two columns for comparison.", vbOKOnly + vbCritical, "Wrong Number of Columns Selected" Exit Sub End If SpeedOn Dim ws As Worksheet On Error GoTo LetsQuit For Each ws In Worksheets If ws.Name = "Comparison" Then Application.DisplayAlerts = False ws.Name = "old_Comparison" Application.DisplayAlerts = True End If Next On Error Resume Next Worksheets.Add().Name = "Comparison" rCol1.Copy Destination:=ActiveSheet.Range("A1") rCol2.Copy Destination:=ActiveSheet.Range("B1") Rows(1).Insert Range("A1:E1").Value = Array("Col " & rCol1.Address, "Col " & rCol2.Address, _ "In " & rCol1.Address & ", not in " & rCol2.Address, _ "In " & rCol2.Address & ", not in " & rCol1.Address, "In both Columns") Dim d As Object, na&, nb&, a, b Dim e, p&, q&, r&, m Set d = CreateObject("scripting.dictionary") na = Range("A" & Rows.Count).End(3).row a = Range("A2:A" & na) nb = Range("B" & Rows.Count).End(3).row b = Range("B2:B" & nb) ReDim c(1 To Application.Max(na, nb), 1 To 3) For Each e In a: d(e) = 1: Next For Each e In b If d(e) = 1 Then r = r + 1 c(r, 3) = e Else q = q + 1 c(q, 2) = e End If Next d.RemoveAll For Each e In b: d(e) = 1: Next For Each e In a If d(e) <> 1 Then p = p + 1 c(p, 1) = e End If Next m = Application.Max(p, q, r) Range("C2").Resize(m, 3) = c With Columns("A:E") .Font.Name = "Arial" .EntireColumn.AutoFit End With With Rows("1:1") With .Font .Bold = True .Name = "Calibri" .Color = -16776961 .TintAndShade = 0 End With .HorizontalAlignment = xlCenter End With Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove SpeedOff Exit Sub LetsQuit: SpeedOff MsgBox "Please delete or rename the old_Comparison sheet" Exit Sub End Sub
https://eileenslounge.com/viewtopic.php?p=316441#p316441
https://eileenslounge.com/viewtopic.php?p=324736#p324736
https://eileenslounge.com/viewtopic.php?p=324990#p324990
https://eileenslounge.com/viewtopic.php?f=27&t=41937&p=325485#p325485
https://eileenslounge.com/viewtopic.php?p=325609#p325609
https://eileenslounge.com/viewtopic.php?p=325610#p325610
https://www.youtube.com/watch?v=3t8Mk4URi6g&lc=UgzoakhRXOsCaoRm_Nd4AaABAg. 8xzeMdC8IOGADdPM65i9PG
https://www.youtube.com/watch?v=3t8Mk4URi6g&lc=UgzoakhRXOsCaoRm_Nd4AaABAg. 8xzeMdC8IOGADdPQHFk_zm
http://www.eileenslounge.com/viewtopic.php?p=324457#p324457
http://www.eileenslounge.com/viewtopic.php?p=324064#p324064
http://www.eileenslounge.com/viewtopic.php?p=323960#p323960
https://www.youtube.com/watch?v=7VwD9KuyMk4&lc=UgyZCnNfnZRfgwzDlQF4AaABAg
https://www.youtube.com/watch?v=7VwD9KuyMk4&lc=UgyZCnNfnZRfgwzDlQF4AaABAg. ADd4m2zp_xDADd6Nnotj1C
s://www.youtube.com/watch?v=7VwD9KuyMk4&lc=UgySdtXqcaA27wQLd1t4AaABAg
http://www.eileenslounge.com/viewtopic.php?p=323959#p323959
http://www.eileenslounge.com/viewtopic.php?f=30&t=41784
http://www.eileenslounge.com/viewtopic.php?p=323966#p323966
http://www.eileenslounge.com/viewtopic.php?p=323959#p323959
http://www.eileenslounge.com/viewtopic.php?p=323960#p323960
http://www.eileenslounge.com/viewtopic.php?p=323894#p323894
http://www.eileenslounge.com/viewtopic.php?p=323843#p323843
https://www.youtube.com/watch?v=fEHKPhJxgBA&lc=Ugxx8_MjhC9FDaQgcHN4AaABAg
https://www.youtube.com/watch?v=jpjYm4UvyWk&lc=Ugx_Qd4rfAN_ZYcJbo94AaABAg. ACGbG9c76OWACGbjKa7H8k
https://www.youtube.com/watch?v=jpjYm4UvyWk&lc=Ugx_Qd4rfAN_ZYcJbo94AaABAg
https://www.youtube.com/watch?v=GyPHaydeng0&lc=UgzE4a4f_e_y9Rk5OR94AaABAg
https://www.youtube.com/watch?v=I5FkNG94BcQ&lc=UgxXnkEHqulXSR5tXwh4AaABAg
https://www.youtube.com/watch?v=3t8Mk4URi6g&lc=UgzoakhRXOsCaoRm_Nd4AaABAg. 8xzeMdC8IOGABa6BSa173Z
https://www.youtube.com/watch?v=3t8Mk4URi6g&lc=UgzoakhRXOsCaoRm_Nd4AaABAg. 8xzeMdC8IOGABa6-64Xpgl
https://www.youtube.com/watch?v=3t8Mk4URi6g&lc=UgzoakhRXOsCaoRm_Nd4AaABAg. 8xzeMdC8IOGABa5ms39yjd
https://www.youtube.com/watch?v=3t8Mk4URi6g&lc=UgzoakhRXOsCaoRm_Nd4AaABAg. 8xzeMdC8IOGABa5ZXJwRCM
https://www.youtube.com/watch?v=3t8Mk4URi6g&lc=UgzoakhRXOsCaoRm_Nd4AaABAg. 8xzeMdC8IOGABa4Pr15NUt
https://www.youtube.com/watch?v=3t8Mk4URi6g&lc=UgzoakhRXOsCaoRm_Nd4AaABAg. 8xzeMdC8IOGABa4I83JelY
https://www.youtube.com/watch?v=3t8Mk4URi6g&lc=UgzoakhRXOsCaoRm_Nd4AaABAg. 8xzeMdC8IOGADdMo2n-hyF
https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHA




Reply With Quote
Bookmarks