如何在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 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.