我想将多个列和行中的所有数据移动到Excel中的单个行中。即A1,A2,B1,B2为A1,B1,C1,D1。我需要这个的原因是我可以复制并粘贴一行文字。
答案 0 :(得分:2)
我认为你需要的东西比你提出的问题更复杂。我会在文本编辑器(例如notepad ++)中亲自复制/粘贴整个文件,然后用换行符替换制表符,然后将它们复制/粘贴到excel中。
如果这不是一个选项,我建议使用一些数学(原始数据在Sheet1上):
=INDEX(Sheet1!$A$3:$C$4,INT((ROW()-1)/3)+1,MOD(ROW()-1,3)+1)
适当更改Sheet1!$A$3:$C$4
。当你得到#REF !,这意味着它就是表格的结尾。
答案 1 :(得分:1)
下面的代码会将数据从sheet1转换为sheet2 4个cols,请告诉我这是否是你需要的。
Sub trans()
Dim x, y As Integer
x = Sheets("Sheet1").Range("xfd3").End(xlToLeft).Column
y = Sheets("Sheet1").Range("a65536").End(xlUp).Row
For j = 1 To y
For p = 1 To 4
Z = Sheets("Sheet2").Range("A65536").End(xlUp).Row
Sheets("Sheet1").Cells(j + 2, p).Copy
Sheets("Sheet2").Range("A" & Z + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next p
Next j
End Sub