Expand|Select|Wrap|Line Numbers
- Sub Update_Campaign_Breakdown()
- Dim rownum As Integer
- Dim campaign As String
- Dim newrows As Integer
- Dim i As Integer
- rownum = 2
- Do Until IsEmpty(Sheets("Promos").Cells(rownum, 1))
- campaign = Sheets("Promos").Cells(rownum, 6).Value
- newrows = Application.CountA(Range("A:A")) + Application.CountA(Range("B:B"))
- For i = 1 To newrows
- If Cells(i, 1).Value = campaign Then
- Cells(i).Offset(1).EntireRow.Insert
- Cells(i + 1, 2).Value = Sheets("Promos").Cells(rownum, 1)
- Cells(i + 1, 3).Value = Sheets("Promos").Cells(rownum, 7)
- Cells(i + 1, 4).Value = Sheets("Promos").Cells(rownum, 8)
- Cells(i + 1, 5).Value = Sheets("Promos").Cells(rownum, 9)
- Cells(i + 1, 6).Value = Sheets("Promos").Cells(rownum, 10)
- Cells(i + 1, 7).Value = Sheets("Promos").Cells(rownum, 11)
- rownum = rownum + 1
- Exit For
- Else
- If i = newrows Then
- Cells(i).Offset(1).EntireRow.Insert
- Cells(i).Offset(1).EntireRow.Insert
- Cells(i + 1, 1).Value = campaign
- Cells(i + 2, 2).Value = Sheets("Promos").Cells(rownum, 1)
- Cells(i + 2, 3).Value = Sheets("Promos").Cells(rownum, 7)
- Cells(i + 2, 4).Value = Sheets("Promos").Cells(rownum, 8)
- Cells(i + 2, 5).Value = Sheets("Promos").Cells(rownum, 9)
- Cells(i + 2, 6).Value = Sheets("Promos").Cells(rownum, 10)
- Cells(i + 2, 7).Value = Sheets("Promos").Cells(rownum, 11)
- rownum = rownum + 1
- Exit For
- End If
- End If
- Next i
- Loop
- End Sub
Basically it's going down the line and looking at each entry in the Promo's table. Then, it's looking at one of the columns (Campaign) and seeing if that Campaign already exists inside of the new sheet (I'm executing the script from a button on this sheet).
I want to have it organize the campaigns like so:
Campaign 1
> Email 1
> Email 2
Campaign 2
> Email 1
> Email 2
....and so on. So, the script is trying to see if there's already a slot where that campaign exists. If it finds the campaign, it should insert a row after the campaign, and then copy the data from the Promos sheet into the new sheet.
If it DOESN'T find that campaign in the break-down sheet, then it should add two rows: One for the new campaign label and one for the e-mail that falls under that Campaign.
Lastly, it should go back to the Promos table and move onto the next entry and repeat.
Any insight into why this just locks up Excel?