Each work sheet has about 6000 Rows.
The code works but appears to Work very slow.
Is there a more efficient way to do it.
Expand|Select|Wrap|Line Numbers
- Sub MergeTable()
- '
- ''
- Dim ROW1 As Long
- Dim ROW2 As Long
- Dim C1 As String
- Dim C2 As String
- Dim C3 As String
- Dim C4 As String
- ROW1 = 2
- Do While Sheets("TABLE2").Cells(ROW1, 1).Value <> ""
- ROW2 = 2
- Do While Sheets("TABLE1").Cells(ROW2, 1).Value <> ""
- C1 = Mid(Sheets("TABLE2").Cells(ROW1, 1), 1, 6)
- C2 = Mid(Sheets("TABLE1").Cells(ROW2, 1), 1, 6)
- If ((Sheets("TABLE2").Cells(ROW1, 2).Value = Sheets("TABLE1").Cells(ROW2, 2).Value) And (C1 = C2)) Then
- Sheets("TABLE2").Cells(ROW1, 3).Value = Sheets("TABLE1").Cells(ROW2, 1).Value
- End If
- ROW2 = ROW2 + 1
- Loop
- ROW1 = ROW1 + 1
- Loop
- End Sub
Expand|Select|Wrap|Line Numbers
- LABEL ID1 TAG
- ABA001_X1 1
- ABA001_X2 1
- ABA001_X3 2
- ABA001_X4 1
- ABA001_X5 1
- ABA001_X6 2
- ABA002_X1 3
- ABA002_X2 4
Expand|Select|Wrap|Line Numbers
- LABEL ID1
- ABA001_1 1
- ABA001_2 2
- ABA002_1 3
- ABA002_2 4
TABLE1
Expand|Select|Wrap|Line Numbers
- LABEL ID1 TAG
- ABA001_X1 1 ABA001_1
- ABA001_X2 1 ABA001_1
- ABA001_X3 2 ABA001_2
- ABA001_X4 1 ABA001_1
- ABA001_X5 1 ABA001_1
- ABA001_X6 2 ABA001_2
- ABA002_X1 3 ABA002_1
- ABA002_X2 4 ABA002_1