如何在 Excel 中反向复制和粘贴行或列?
ms excelmicrosoft technologiescomputers更新于 2025/3/6 13:00:17
当我们在 Excel 中有一个元素列表,并且想要将它们按相反的顺序排列时,如果尝试手动操作,可能会非常复杂且耗时。如果它们是有序列表,我们可以轻松地按相反的顺序排列,但如果是无序列表,则很难做到。阅读本教程,了解如何在 Excel 中反向复制和粘贴行或列。
在 Excel 中反向复制和粘贴列
在这里,我们将插入一个 VBA 模块,然后运行它来完成任务。让我们来了解一下在 Excel 中以相反顺序复制和粘贴列的简单步骤。
步骤 1
考虑任何包含未排序元素列表的 Excel 工作表,类似于下图。
我们可以使用 VBA 应用程序来完成此过程。要打开 VBA 应用程序,请右键单击工作表名称,然后选择"查看代码"。
然后,点击插入并选择模块,然后在文本框中输入以下程序 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 中以相反的顺序复制和粘贴行或列。
相关文章
有用资源
excel 参考教程 - 该教程包含有关 excel 的更多信息:https://www.cainiaomax.com/excel/

