如何在 Excel 中快速交换两个单元格的内容?

ms excelmicrosoft technologiesadvanced excel function

有时用户会在错误的列中输入数据,因此需要交换两个单元格之间的内容。这可以通过多种方式实现。在本文中,我们将分别使用常规拖放功能和 VBA 代码来交换 Excel 中两个单元格的内容。提供的示例均准确、精确且详尽。按照所有指导步骤操作,用户可以轻松交换两个单元格的内容。交换后,值将移回 Excel 电子表格中其原始位置或单元格。

使用拖放功能交换 Excel 中两个单元格的内容

  • 步骤 1 - 在本文中,用户将学习在 Excel 中交换两个单元格内容的过程。为此,假设有两列,即第一列和第二列。这两列如下所示 -

  • 步骤 2 - 在提供的工作表中,第 5 行的两个列值 B 和 C 可以互换。选中这两个单元格,点击 B5 和 C5 单元格。选中的两个单元格如下所示,以供参考 -

  • 步骤 3 - 按下 "Shift" 键,并将光标置于右边框。然后将光标拖到单元格 C4 的右边框。此时会显示一个 "工" 符号。出现此符号后,释放鼠标。此时两个单元格的内容已交换。交换内容的示例快照如下所示 -

使用 VBA 代码在 Excel 中交换两个单元格的内容

  • 步骤 1 - 假设使用与上例相同的 Excel 工作表。供参考的快照如下 -

  • 步骤 2 - 然后点击"Sheet 1"选项卡,在显示的选项列表中,用户可以选择"查看代码"选项。请参考以下快照 -

  • 步骤 3 - 上述步骤将打开"Microsoft Visual Basics for Applications"对话框。此对话框为空白代码区域。用户可以在此处输入所需的 VBA 代码。此 VBA 代码将相应地执行所需的任务。以下提供了供参考的快照 - ...

' 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 代码执行相同的任务。


相关文章


有用资源