Answers:
来自:http : //www.extendoffice.com/documents/excel/860-excel-swap-contents-of-two-cells.html
有时,需要交换两个相邻的单元格。我们可以手动轻松地做到这一点。看下面的屏幕截图,我想交换单元格A4和B4,请执行以下操作:
选择要交换的单元格。在此的示例中选择单元格A4。
按Shift键,然后将光标置于右边框。
然后将光标拖到单元格B4的右边界。
当显示“工”时,释放鼠标。
并且两个单元格内容已交换。
使用此方法,我们还可以交换两个相邻的行或列。
对于相邻的相同大小的矩形范围的特定情况,您可以使用此答案中描述的类似问题的方法。
+
通常在=
键上方,因此翻译为Ctrl+ Shift+ =)请注意,可以使用相同的过程交换整个相邻的行或列。
简单来说,我指的是键盘快捷键或菜单项,而不涉及复制到临时单元格或编写VBA脚本或类似内容。我正在寻找一种只选择两个单元格并单击某些菜单项或按一些组合键来交换其内容的方法。
为什么要施加此限制?创建一个宏使这个琐碎。据我所知,它无法通过其他任何方式完成。您可以将宏分配给按钮或热键。
Sub Swap()
If Selection.Count <> 2 Then
MsgBox "Select 2 cells (only) to swap."
Exit Sub
End If
Set trange = Selection
If trange.Areas.Count = 2 Then
temp = trange.Areas(2)
trange.Areas(2) = trange.Areas(1)
trange.Areas(1) = temp
Else
temp = trange(1)
trange(1) = trange(2)
trange(2) = temp
End If
End Sub
不能。没有编写自己的宏就无法交换Excel中两个单元格的内容的方法。
编辑:听起来现在可能存在一种在较新版本的Excel中交换单元格内容的简便方法,因此此答案可能现在已过时。
选择要交换的第一组单元格,然后按ctrl+ x:
选择要交换的单元格旁边的单元格,然后按ctrl+ +。
您最多可以将25个项目粘贴到剪贴板,因此可以使用ctr + tab或cmd + tab mac轻松交换它们
我读了这篇文章,但实际上需要一个宏来交换全部范围。另外,我需要交换颜色。稍微修改了原始发布的宏,这可能对某人有用。
Sub Swap()
If Selection.Areas.Count <> 2 Then
MsgBox "Select 2 cell ranges (only) to swap."
Exit Sub
End If
If Selection.Areas(1).Count <> Selection.Areas(2).Count Then
MsgBox "The two areas must be of equal size"
Exit Sub
End If
'With this for loop we run through each cell 1 by 1
For i = 1 To Selection.Areas(1).Count
'Swapping values
temp = Selection.Areas(1)(i)
Selection.Areas(1)(i) = Selection.Areas(2)(i)
Selection.Areas(2)(i) = temp
'Swapping color
tempColor = Selection.Areas(1)(i).DisplayFormat.Interior.Color
Selection.Areas(1)(i).Interior.Color = Selection.Areas(2)(i).DisplayFormat.Interior.Color
Selection.Areas(2)(i).Interior.Color = tempColor
Next i
End Sub