如何在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+ 閱讀量

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.