我有一张excel表,里面有大约50列。但目前的数据与所需的相反。
现在我怎么能以这样的方式反转列序列,使得右侧最后一列的列实际上成为左侧的第一列,依此类推。我基本上需要颠倒列的顺序。
我已经找到了一种使用此方法以所需格式显示数据的方法 - 文件,选项,高级, 勾选:从右到左显示表格 应用
但这只是改变了DISPLAY而不是Real Data中的内容,所以当我复制粘贴此工作表中的数据时,它会再次以原始/错误的顺序显示数据。
请建议如何执行此操作。
非常感谢。
答案 0 :(得分:2)
这个小宏取 Sheet1 上的列,并以“翻转”顺序将它们复制到 Sheet2 :
Sub ColumnFlipper()
Dim s1 As Worksheet, s2 As Worksheet
Set s1 = Sheets("Sheet1")
Set s2 = Sheets("Sheet2")
Dim M As Long, N As Long, i As Long
N = 1
With s1
M = .Cells(1, Columns.Count).End(xlToLeft).Column
For i = M To 1 Step -1
.Cells(1, i).EntireColumn.Copy s2.Cells(1, N)
N = N + 1
Next i
End With
End Sub
修改工作表名称以满足您的需求。
答案 1 :(得分:1)
将其放在A1中的另一张表中,例如 Sheet2 。
=INDIRECT("Sheet1!R" & ROW()&"C" & X-COLUMN()+1;FALSE)
!!! Sheet1 是原始工作表 将 X 替换为总列数。填写 X 列,然后填写。