在Excel中互换单元格内容?
有没有一种简单的方法可以在Microsoft Excel中交换两个单元格的内容?
我所说的简单,是指键盘快捷键或菜单项,而不涉及复制到临时单元格或编写VBA脚本或类似的东西。换句话说,我正在寻找一种方法,只需选择两个单元格,然后点击某个菜单项或按某个组合键,就可以交换它们的内容。当然,肯定有一种方法可以做到这一点。
有没有一种简单的方法可以在Microsoft Excel中交换两个单元格的内容?
我所说的简单,是指键盘快捷键或菜单项,而不涉及复制到临时单元格或编写VBA脚本或类似的东西。换句话说,我正在寻找一种方法,只需选择两个单元格,然后点击某个菜单项或按某个组合键,就可以交换它们的内容。当然,肯定有一种方法可以做到这一点。
来自 http://www.extendoffice.com/documents/excel/860-excel-swap-contents-of-two-cells.html
有时,有两个相邻的单元格需要交换。我们可以手动完成。请看下面的截图,我想把A4单元格和B4单元格对调,请按以下方法操作。
选择你想交换的单元格。在本例中,选择单元格A4。
按Shift键,将光标放在右边的边框上。
3.然后拖动光标到单元格B4的右边界。
当显示 “工 "时,松开鼠标。
两个单元格的内容已经交换了。
用这种方法,我们也可以交换相邻的两行或两列。
对于相邻相同大小的矩形范围的特殊情况,可以使用 类似问题的这个答案中描述的方法。
1.选择右侧或底部的范围
2.按Ctrl+X
3. 按Ctrl+X
3. 选择相邻的范围(即正上方或左侧)
4. 按Ctrl+ +(+
通常在=
键的上方,所以翻译成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中没有办法交换两个单元格的内容,除非你自己编写宏来实现。
EDIT: 听起来现在在最新版本的Excel中可能有一种简单的方法来交换单元格的内容,所以这个答案可能已经过时了。
选择要交换的第一组单元格,按ctrl+x:
选择要交换的单元格旁边的单元格,按ctrl++。
交换将被执行。
我读了这个帖子,但实际上需要一个宏来交换全范围。此外,我还需要交换颜色。稍微修改了一下原来发布的宏,这可能对某人有用。
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