如何在Excel中反向复制粘贴行或列?


当我们在Excel中有一列元素,并且想要将其反向排列时,如果手动操作,可能会是一个复杂且冗长的过程。如果元素是有序列表,我们可以很容易地反向排序,但对于无序列表则不行。阅读本教程,学习如何在Excel中反向复制粘贴行或列。

在Excel中反向复制粘贴列

在这里,我们将插入一个VBA模块,然后运行它来完成任务。让我们来看一下在Excel中反向复制粘贴列的简单步骤。

步骤1

考虑任何包含无序元素列表的Excel表格,类似于下面的图片。

我们可以使用VBA应用程序来完成我们的过程。要打开VBA应用程序,右键单击工作表名称并选择“查看代码”。

然后,单击插入并选择模块,然后将以下程序1键入文本框中,如下图所示。

右键点击 > 查看代码 > 插入 > 模块 > 程序1

程序1 (此处应插入程序代码)

Sub Flipvertically()
'Updated By Nirmal
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "Reverse the Order"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For j = 1 To UBound(Arr, 2)
    k = UBound(Arr, 1)
    For i = 1 To UBound(Arr, 1) / 2
        xTemp = Arr(i, j)
        Arr(i, j) = Arr(k, j)
        Arr(k, j) = xTemp
        k = k - 1
    Next
Next
WorkRng.Formula = Arr
End Sub

步骤2

现在将工作表另存为启用宏的工作表,在vba应用程序窗口中,单击F5并选择要排列的单元格范围,然后单击确定。

如果要反转行,可以使用程序2代替程序1。

程序2 (此处应插入程序代码)

Sub Fliphorizontally()
'Updated BY Nirmal
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "Reverse the order"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For i = 1 To UBound(Arr, 1)
    k = UBound(Arr, 2)
    For j = 1 To UBound(Arr, 2) / 2
        xTemp = Arr(i, j)
        Arr(i, j) = Arr(i, k)
        Arr(i, k) = xTemp
        k = k - 1
    Next
Next
WorkRng.Formula = Arr
End Sub

结论

在本教程中,我们使用了一个简单的示例来演示如何在Excel中反向复制粘贴行或列。

更新于:2023年3月7日

2K+ 阅读量

启动您的职业生涯

通过完成课程获得认证

开始学习
广告