我需要将我的列转置为行。我有一个代码,我发现它可以工作,但它并不完全是我想要的。
这是我的文件在运行代码之前的样子:
这是我运行代码后文件的样子:
我希望我的结果显示在列的顶部单元格所在的行上。在本例中,我希望列在第5行转置,而不是像您在第二张图片中看到的那样跳到第1行。
这是我的代码:
Private Sub CommandButton1_Click()
Dim rng As Range
Dim I As Long
Set rng = Range("B5")
While rng.Value <> ""
I = I + 1
rng.Resize(60).Copy
Range("C" & I).PasteSpecial Transpose:=True
Set rng = rng.Offset(60)
Wend
rng.EntireColumn.Delete
End Sub
发布于 2016-10-11 23:19:07
一种方法:
'// source column range
Set rng = Range("B5", Range("B5").End(xlDown))
'// resize from destination cell, transpose
Range("B5").Resize(rng.Columns.Count, rng.Rows.Count).Value = WorksheetFunction.Transpose(rng)
'// clear transposed values
'// offset by 1 to preserve B5
rng.Offset(1, 0).Clear
https://stackoverflow.com/questions/39980532
复制相似问题