如何在Excel中快速交換兩個單元格的內容?


有時使用者會將資料輸入到錯誤的列中,因此使用者需要交換兩個單元格之間的資料。這可以透過多種方式實現。在本文中,我們將使用普通的拖放功能和VBA程式碼來交換Excel中兩個單元格的內容。這兩個示例都準確、精確且全面。按照所有指導步驟,使用者可以輕鬆交換兩個單元格的內容。交換後,值將返回到Excel電子表格中它們原本應該在的單元格。

使用拖放功能交換Excel中兩個單元格的內容

  • 步驟1 − 在本文中,使用者將學習在Excel中交換兩個單元格內容的過程。為此,假設有兩列,即I列和II列。這兩列如下所示:

  • 步驟2 − 在提供的表格中,第5行的B列和C列的值可以相互交換。選擇這兩個單元格,點選B5和C5單元格。為方便參考,下面提供了這兩個被選擇的單元格:

  • 步驟3 − 按住“Shift”鍵,並將游標放置在右側邊界。然後將游標拖動到C4單元格的右側邊界。這將顯示一個“工”符號。出現此符號後鬆開滑鼠。之後,兩個單元格的內容將被交換。交換後的內容示例快照如下所示:

使用VBA程式碼交換Excel中兩個單元格的內容

  • 步驟1 − 假設與上述示例相同的Excel表格。下面提供快照以供參考:

  • 步驟2 − 然後單擊“sheet 1”選項卡,在顯示的選項列表中,使用者可以選擇“檢視程式碼”選項。下面提供快照以供參考:

  • 步驟3 − 上一步將開啟一個“Microsoft Visual Basic for Applications”對話方塊。此對話方塊是一個空白程式碼區域。在這裡,使用者可以鍵入所需的VBA程式碼。此VBA程式碼將相應地執行所需的任務。下面提供快照以供參考:

  • 步驟4 − 要複製的程式碼如下所示:

' define function header
Sub swapping_two_inputs()
' declare required variables
Dim r1 As Range, r2 As Range
Dim a As Variant, a2 As Variant
' setting id title
x_id_title = "x title box"
' calculate value of r1
Set r1 = Application.Selection
' set input value of r1
Set r1 = Application.InputBox("Range1:", x_id_title, r1.Address, Type:=8)
' calculate value of r2
Set r2 = Application.InputBox("Range2:", x_id_title, Type:=8)
' here screenupdate will remain false
Application.ScreenUpdating = False
' assign value to r1
a = r1.Value
' assign value to r2
a2 = r2.Value
' assign value to a2
r1.Value = a2
r2.Value = a
' set screnupdate to true
Application.ScreenUpdating = True
End Sub

下面提供VBA程式碼的快照:

  • 步驟5 − 單擊“執行”按鈕。這將開啟一個“宏”對話方塊。在對話方塊中,單擊定義的函式或模組名稱,然後單擊“執行”按鈕。相應的快照如下所示:

  • 步驟6 − 上述步驟將在控制檯上顯示一個“x 標題框”對話方塊。在此框中,從第一列中選擇要交換的值。之後單擊“確定”按鈕。在本例中,選擇單元格B5,下面提供快照以供參考:

  • 步驟7 − 一旦使用者單擊“確定”按鈕,另一個對話方塊將出現以讀取另一個輸入。在此輸入標籤中,輸入使用者想要從第二列交換的值。之後單擊“確定”按鈕。下面提供相同的快照:

  • 步驟8 − 最終交換後的值如下所示:

結論

以上文章允許使用者將兩列中可用的值相互交換。這裡,每個值都與另一列的值交換。在第一個示例中,使用者可以使用普通的拖放方法,而在第二個示例中,使用者可以使用VBA程式碼來執行相同的任務。

更新於:2023年10月20日

264 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告