如何在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中反向复制粘贴行或列。
广告