[英]Swap any two cells using excel VBA - including non-adjacent cells
我需要交换两个单元格值。 按住Shift Key
然后选择 & 放置方法在这里不起作用。 所以我决定创建一个宏,我可以在其中获取活动单元格地址
ActiveCell.Address
但是在运行这个宏之前我怎样才能得到我复制的单元格的地址呢? 详细说明这些是交换值的步骤。
复制一个单元格
Select 同一张表中的另一个单元格
运行宏以交换值(这会将活动单元格值保存为字符串并粘贴复制的单元格值)
更新:对于使用 VBA 在不到三个步骤中切换列、单元格或行,请按照此https://youtu.be/MaiSBVguh28
这个子会做的伎俩:
Sub swapper()
Dim cellfirst As String, cellsecond As String
If Not Selection.Cells.Count = 2 Then
MsgBox ("Please only select two cells")
Else
If Selection.Areas.Count > 1 Then
cellfirst = Selection(1).Value
cellsecond = Selection.Areas(2).Value
Selection(1).Value = cellsecond
Selection.Areas(2).Value = cellfirst
Else
cellfirst = Selection(1).Value
cellsecond = Selection(2).Value
Selection(1).Value = cellsecond
Selection(2).Value = cellfirst
End If
End If
End Sub
它将测试是否选择了两个单元格,如果没有给出错误消息。 然后它将测试细胞是分开还是靠近。 然后基于此将两个单元格的值存储在字符串中,交换字符串,然后打印回单元格。
注意: Select 按住ctrl
并单击两个不同的单元格。
我意识到这不是您所要求的 1 对 1,但是为什么 go 通过自己复制某些东西的努力,当您可以让宏为您完成所有事情时?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.