An Excel Visual Basic Macro by Troy M. Goss (as work for hire) Created in Windows 7 Excel © 2011 Combines Data from cells, eliminating duplicates and creating a batch of data that can be processed by our system. Sub Batchitizer() ' ' Batchitizer Macro ' Set the batches for the list of KEEPs ' ' Keyboard Shortcut: Ctrl+Shift+B ' Dim BDone Dim BCount Dim BSets Dim BItems Dim BTotal Dim CKEEP Dim CNEXT Dim CKM_Row Dim CKM_Col ' Initialize variables BSets = 0 BItems = 0 BTotal = 0 BDone = 1 BCount = 1 CKM_Row = 2 CKM_Col = 1 ' Application.ScreenUpdating = False While BDone <> "" 'Check if Done Range("A1").Select 'reset Select Case BCount Case 1 To 9 Selection.Cells(CKM_Row, 10).Value = "batch 0" & BCount Case Is > 9 Selection.Cells(CKM_Row, 10).Value = "batch " & BCount End Select Range("A1").Select 'reset Selection.Cells(CKM_Row, CKM_Col).Select CKEEP = ActiveCell.FormulaR1C1 'Pickup Current Keep & Done Range("A1").Select 'reset Selection.Cells(CKM_Row + 1, CKM_Col).Select CNEXT = ActiveCell.FormulaR1C1 'Pickup Next Keep BDone = ActiveCell.FormulaR1C1 'Pickup Next BDone If CKEEP = CNEXT Then BCount = BCount + 1 'Increment batch count CKM_Row = CKM_Row + 1 'Increment Row BSet = BSet + 1 Else BCount = 0 'Reset batch count BCount = BCount + 1 'Increment batch count CKM_Row = CKM_Row + 1 'Increment Row BItem = BItem + 1 BSet = BSet + 1 If BSet > BTotal Then BTotal = BSet BSet = 0 Else BSet = 0 End If End If Wend ' End While loop when BDone=0 Range("A1").Select Beep MsgBox (BTotal & " Batch Sets / " & BItem & " Listing(s) -> Done and Done!") End Sub