well, i'll give it a shot (but you may wish i hadn't).....
Sub brad2()
Dim ws As Worksheet
Set ws = ActiveSheet
ws.Range("g1").Select
Do Until ActiveCell = "" And _
ActiveCell.Offset(0, 1) = "" And _
ActiveCell.Offset(0, 2) = ""
If ActiveCell = "" Then
Selection.Delete Shift:=xlToLeft
ActiveCell.Offset(1, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
End Sub
well, it's sloppy & may be a little slow & isn't coded perfectly, but
it works for me........

susan
On Mar 26, 1:20 pm, "Blaster Master" <bsr...@sbcglobal.net> wrote:
> Well, I've tried it and it didn't work. This is the macro that I'm
> running...
>
> Sub brad2()
> n = Cells(Rows.Count, "I").End(xlUp).Row
> For i = 1 To n
> If Cells(i, 3).Value <> "" Then
> Cells(i, 1).Value = Cells(i, 2).Value
> Cells(i, 2).Value = Cells(i, 3).Value
> Cells(i, 3).Value = ""
> End If
> Next
> End Sub
>
> One note, I was wrong on the columns...they are G H and I
>
> So the posed problem is below.
> ____________
> | G | H | I |
> ----------------
> | | X | Y |
> ----------------
> | | X | |
> ----------------
> | | | |
> ----------------
> | | X | |
> ----------------
> | | X | Y |
> ----------------
>
> 3. column G is always blank
> 4. if column I has data in it, then
> 4a. move column H data to column G
> 4b. move column I data to column H
>
> ____________
> | G | H | I |
> ----------------
> | X | Y | |
> ----------------
> | | X | |
> ---------------
> | | | |
> ---------------
> | | X | |
> ---------------
> | X | Y | |
> ---------------
>
> --
>
> Blaster Master
> a.k.a.
> Brad S. Russell