Ok, try this:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Sheets(1).Range("B33")) Is Nothing Then
If Sheets(1).Range("B33") <> "" Then
Sheets(1).Range("B25:B33").Copy Destination:=Sheets(2).Cells(1, Columns.Count).End(xlToLeft).Offset(0, 1)
Sheets(2).Range(Sheets(2).Cells(1, Columns.Count).End(xlToLeft), Sheets(2).Cells(9, Columns.Count).End(xlToLeft)).Interior.ColorIndex = 0
Sheets(1).Range("B25:B33").ClearContents
End If
End If
End Sub
The reason you were having issues is because you used the Cells() property instead of the Range() property. I also changed it to grab the whole range of cells. You can just take individual cells, but for your purposes it is easier to just take the whole thing. I added a line to remove the shading, and cleared the cells instead of deleting them. This way you won't have to worry about any cells shifting.
Bookmarks