跳到主要内容

在 Excel 中快速交换两个单元格或范围的内容

作者:晓阳 最后修改时间:2024-07-12

在 Excel 中,在重新组织数据、调整布局或更正输入错误时,经常需要交换两个单元格或范围的内容。本指南将介绍三种快速高效地交换 Excel 内容的方法,让您无需进行大量剪切和粘贴即可修改数据,从而节省时间并降低出错的风险。

手动交换两个相邻的单元格内容
只需点击几下即可轻松交换两个单元格或范围的内容
使用 VBA 代码交换两个单元格内容


手动交换两个相邻的单元格内容

有时,您可能会发现自己需要交换两个相邻的单元格。这可以手动完成,无需花费太多精力。以下是交换单元格 A4 和 B4 的步骤,如屏幕截图所示:

文档交换单元格1

  1. 选择要交换的单元格之一:例如,选择单元格 A4.
  2. 按住 转移 键并将光标置于所选单元格的右边框上。
  3. 小心地将光标拖到单元格 B4 的右边框。
  4. 一旦光标显示“"符号,松开鼠标。

现在应该交换两个单元格的内容,如下面的屏幕截图所示。

文档交换单元格2


只需点击几下即可轻松交换两个单元格或范围的内容

对于那些需要交换不相邻单元格或范围的人来说,使用类似 Excel 插件 Kutools for Excel 可以大大简化该流程。

申请前 Kutools for Excel首先下载并安装.

安装Kutools for Excel后,选择 库工具 > 范围 > 交换范围 打开 交换范围 对话框,然后进行如下配置。

  1. 互换范围1 部分中,选择要交换的第一个单元格或范围。
  2. 互换范围2 部分中,选择要交换的第二个单元格或范围。
    Tips:为方便起见,您可以在打开“交换范围”对话框之前预先选择两个范围。预先选择的范围将自动显示在“互换范围1“和”互换范围2"框。
  3. 点击 OK 按钮。
结果

然后,将立即交换两个选定的单元格或范围。 查看屏幕截图:

文档交换范围1

  如果您想免费试用(30天)此实用程序, 请点击下载,然后按照上述步骤进行操作。


用VBA代码交换两个不相邻的单元格内容

当两个单元格不相邻时,上述方法将不起作用。 我们可以将它们替换为VBA代码。

1。 按 按Ctrl 键,然后选择要交换的两个不相邻的单元格。

2。 点击 开发商>Visual Basic中,一个新的 适用于应用程序的Microsoft Visual Basic 将显示一个窗口,单击 插页>模块,然后将以下代码输入到 模块:

Sub SwapTwoRange()
'Updateby20131120
Dim Rng1 As Range, Rng2 As Range
Dim arr1 As Variant, arr2 As Variant
xTitleId = "KutoolsforExcel"
Set Rng1 = Application.Selection
Set Rng1 = Application.InputBox("Range1:", xTitleId, Rng1.Address, Type:=8)
Set Rng2 = Application.InputBox("Range2:", xTitleId, Type:=8)
Application.ScreenUpdating = False
arr1 = Rng1.Value
arr2 = Rng2.Value
Rng1.Value = arr2
Rng2.Value = arr1
Application.ScreenUpdating = True
End Sub

3。 然后点击 文档乘法计算 3 按钮运行代码,然后显示一个对话框供您选择要在其间交换的两个单元格。 查看屏幕截图:

文档交换范围1

4。 点击 Ok 在弹出的对话框中,两个选定的单元被交换。 查看屏幕截图:

文档交换范围1

笔记: 此VBA代码无法交换两个单元格的格式。


演示:使用 Kutools for Excel 交换两个随机单元格内容


相关文章:

最佳办公生产力工具

🤖 Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数...
热门特色: 查找、突出显示或识别重复项   |  删除空白行   |  合并列或单元格而不丢失数据   |   不使用公式进行四舍五入 ...
超级查询: 多条件VLookup    多值VLookup  |   跨多个工作表的 VLookup   |   模糊查询 ....
高级下拉列表: 快速创建下拉列表   |  依赖下拉列表   |  多选下拉列表 ....
列管理器: 添加特定数量的列  |  移动列  |  切换隐藏列的可见性状态  |  比较范围和列 ...
特色功能: 网格焦点   |  设计图   |   大方程式酒吧    工作簿和工作表管理器   |  资源库 (自动文本)   |  日期选择器   |  合并工作表   |  加密/解密单元格    按列表发送电子邮件   |  超级筛选   |   特殊过滤器 (过滤粗体/斜体/删除线...)...
前 15 个工具集12 文本 工具 (添加文本, 删除字符,...)   |   50+ 图表 类型 (甘特图,...)   |   40+ 实用 公式 (根据生日计算年龄,...)   |   19 插入 工具 (插入二维码, 从路径插入图片,...)   |   12 转化 工具 (小写金额转大写, 货币兑换,...)   |   7 合并与拆分 工具 (高级组合行, 分裂细胞,...)   |   ... 和更多

使用 Kutools for Excel 增强您的 Excel 技能,体验前所未有的效率。 Kutools for Excel 提供了 300 多种高级功能来提高生产力并节省时间。  单击此处获取您最需要的功能...

描述


Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
Comments (12)
Rated 2.5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
The vba is pants because it loses formulas and formatting. It's incredible that Excel has been through like about 25 different versions and STILL doesn't have the facility in it natively to swap two ranges/non-adjacent cells around. Sort it out Microsoft!
Rated 2.5 out of 5
This comment was minimized by the moderator on the site
Legyenszíves Megírni melyik az a müszak gomb.
Köszönöm Üdv Ádám
This comment was minimized by the moderator on the site
this isn't working for me. I don't know why
This comment was minimized by the moderator on the site
Koje njesra... na kraju cu ipak raditi copy paste... Umesto da su ubacili swap opciju na padajucem menju....
This comment was minimized by the moderator on the site
Cool trick that saved me a lot of time. Thank you!
This comment was minimized by the moderator on the site
First option work well for me thanks for your efforts... :-)
This comment was minimized by the moderator on the site
Thanks !! works perfectly for me..
This comment was minimized by the moderator on the site
Thanks !! works perfectly for me..
This comment was minimized by the moderator on the site
Thank you for the information!!!
This comment was minimized by the moderator on the site
You could just cut (non-adjacent) Cell A into an unoccupied cell, paste required cell B into that space then put A into the cell B formerly occupied couldn't you?
This comment was minimized by the moderator on the site
It's not as simple as you suggested when cells have formula in them. And this also helps in inserting multiple cells at any desired location as well.
This comment was minimized by the moderator on the site
Yes you could, but why go such a roundabout way when you can do it much faster this way. Thanks ExtendOffice for your good work.
There are no comments posted here yet
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations