所以事情是很麻烦的其实,比如我选中的是 Range("A:A").Select 一定是这一整列
需要复制到的地方是B1
然而
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
是不能被允许的
所以转置 是解决不了的-----------------------------加分啦!
那么我说的再清楚一点因为要对不同的excel操作,所以列的数据不同,数据的个数也不是同的。这是就要做一个宏来解决大量的重复操作问题,那就是将第一列转化为第一行。比如说我第一张excel表的第一列有20条数据,第二张excel表的第一列有200条数据额,怎么办?如何写一个通用的宏呢?
可以用函数"=OFFSET($A$1,A12-1,0,1,1)"来解决,比如A1-A9列分别填入101,102,103...109,
第12行为辅助列:A12单元格填写1,B12填写2,依次类推。
第13行为转置后的列:A13单元格填写"=OFFSET($A$1,A12-1,0,1,1)",拖动公式至i13.
转置完成。如下图:
一整列转换外一行,严格上说是不可能的,因为行数远小于列数。
如果在列为填充满的情况下,可以做到。可使用如下代码分别选中原单元格和目标位置。
Sub Trans_Copy()所以事情是很麻烦的其实,比如我选中的是 Range("A:A").Select 一定是这一整列
需要复制到的地方是B1
然而
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
是不能被允许的
所以转置 是解决不了的
因为是一整列 所以它不会让你复制的