I believe, as in efficient as it may be, this works. I tested it on the sample book. I just need to write a quick check.
[vba]Sub Test()
For i = 1 To 3
For j = 1 To 32

If Worksheets("Sheet1").Cells(i, j) = "$" Then
Worksheets("Sheet2").Cells(i, j).Insert Shift:=xlToRight
Worksheets("Sheet2").Cells(i, j) = Worksheets("Sheet1").Cells(i, j)
End If




Next j
Next i
End Sub
[/vba]