there are, in a sense, two answers to this question here at overflow. So, I'd like to ask which is "better"
First solution can be found here Excel VBA - Range.Copy transpose paste and essentially it suggests this
Worksheets("Sheet1").Range("A1:A5").Copy
Worksheets("Sheet2").Range("A1").PasteSpecial Transpose:=True
I haven't yet tied this, but it looks as if it should work
Next solution can be found here Transpose a range in VBA and uses this method
Sub transposeTest()
Dim transposedVariant As Variant
Dim sourceRowRange As Range
Dim sourceRowRangeVariant As Variant
Sheets("Sheet1").Select ' NOTE: I added this
Set sourceRowRange = Range("A1:H1") ' one row, eight columns
sourceRowRangeVariant = sourceRowRange.Value
transposedVariant = Application.Transpose(sourceRowRangeVariant)
Sheets("Sheet2").Select ' NOTE: I added this
Dim rangeFilledWithTransposedData As Range
Set rangeFilledWithTransposedData = Range("I1:I8") ' eight rows, one column
rangeFilledWithTransposedData.Value = transposedVariant
End Sub
I have employed this and yes it does work, although I had to use Sheets("Sheet1").Select and Sheets("Sheet2").Select in the blank space above. I tried all in one statement like Set sourceRowRange = Sheets("Sheet1").Range(Cells(1,1), Cells(1, 8)), but apparently the sheet must be selected before a range can be Set to it.
I'm hoping some one could explain why one is better than the other.