Você não precisa de um loop:
Sub test()
Dim r As Range, ary
Set r = Sheets("Sheet1").Range("A1:D1")
ary = Application.Transpose(Application.Transpose(r.Value))
MsgBox Join(ary, " ")
End Sub
Ou:
Subtest()DimrAsRange,arySetr=Sheets("Sheet1").Range("A1:D1")
With Application
MsgBox Join(.Transpose(.Transpose(r)), " ")
End With
End Sub