В Excel - Как преобразовать / изменить последовательность столбцов справа налево


У меня есть лист excel с примерно 50 столбцами в нем. Но текущие данные присутствуют в противоположной последовательности от того, что требуется.

Теперь, как я могу изменить последовательность столбцов таким образом, что столбец в самом конце на правой стороне, фактически становится самым первым столбцом на левой стороне и так далее. Мне в основном нужно поменять порядок столбцов.

Я уже нашел способ отображения данных в требуемом формате с помощью этого метода - Файл, Вариантов, Предварительная, Галочка: Показать лист справа налево Применить

Но это просто изменяет отображение, а не реальные данные внутри, поэтому, когда я копирую вставить данные из этого листа, то он снова показывает данные в оригинальной / неправильной последовательности только.

Пожалуйста, подскажите, как это сделать.

Большое спасибо.

2 2

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

Измените имена листов в соответствии с вашими потребностями.

Поместите это в A1 на другом листе, скажемSheet2 .

=INDIRECT("Sheet1!R" & ROW()&"C" & X-COLUMN()+1;FALSE)

!!!Лист1 - это исходный лист.
заменить X на общее число столбцов. Заполните справа дляX столбцов, затем заполните вниз.