Excel - 如何从右到左转换/反转列序列

时间:2014-04-06 12:36:20

标签: excel

我有一张excel表,里面有大约50列。但目前的数据与所需的相反。

现在我怎么能以这样的方式反转列序列,使得右侧最后一列的列实际上成为左侧的第一列,依此类推。我基本上需要颠倒列的顺序。

我已经找到了一种使用此方法以所需格式显示数据的方法 - 文件,选项,高级, 勾选:从右到左显示表格 应用

但这只是改变了DISPLAY而不是Real Data中的内容,所以当我复制粘贴此工作表中的数据时,它会再次以原始/错误的顺序显示数据。

请建议如何执行此操作。

非常感谢。

2 个答案:

答案 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 列,然后填写。