用excel里面的VB吧,把下面的sheet7改成你自己工作簿的名字
Sub 测试()
iCols = Worksheets("sheet7").UsedRange.Columns.Count '获取sheet7这个工作簿有效的列
For y = 1 To iCols - 1 'Y循环每个列
irows = Sheets("sheet7").Range("A1").End(xlDown).Row '获取A1当前多少行
ir = Sheets("sheet7").Range("A1").Offset(0, y).End(xlDown).Row ''获取A1偏移0行1列的有效行数是多少
Sheets("sheet7").Cells(irows + 1, 1).Resize(ir, 1) = Sheets("sheet7").Range("A1").Offset(0, y).Resize(ir, 1).Value '在原来A列有效行的下一行扩展指定大小,来存放之前获取的数据
Next
Sheets("sheet7").Range("b1:xx10000").ClearContents '清除之前B1到XX10000的数据,不清楚把这个去掉
End Sub
如果不要标题修改成
Sub 测试()
iCols = Worksheets("sheet7").UsedRange.Columns.Count '获取sheet7这个工作簿有效的列
For y = 1 To iCols - 1 'Y循环每个列
irows = Sheets("sheet7").Range("A1").End(xlDown).Row '获取A1当前多少行
ir = Sheets("sheet7").Range("A1").Offset(0, y).End(xlDown).Row ''获取A1偏移0行1列的有效行数是多少
Sheets("sheet7").Cells(irows + 1, 1).Resize(ir - 1, 1) = Sheets("sheet7").Range("A2").Offset(0, y).Resize(ir - 1, 1).Value '在原来A列有效行的下一行扩展指定大小,来存放之前获取的数据
Next
Sheets("sheet7").Range("b1:xx10000").ClearContents '清除之前B1到XX10000的数据,不清楚把这个去掉
End Sub
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/d50735fae6cd7b89186f5b1b052442a7d9330e22?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)