代码如下,数组的方式可能更快,但是下边写的转置的方法。 Sub 转置() [C:IV].ClearContents m = 1 Do If Cells(m + 1, 1) <> "" Then Set a = Cells(m, 1).End(xlDown) Else Set a = Cells(m, 1) End If If a <> "" Then k = k + 1 Range(Cells(m, 1), a).Copy Cells(k, 3).PasteSpecial Paste:=xlPasteAll, Transpose:=True m = a.End(xlDown).Row Else Exit Sub End If Loop Until m = [A:A].Rows.Count End Sub