2011-03-14 16:18:46 +0000 2011-03-14 16:18:46 +0000
42
42

在Excel中互换单元格内容?

有没有一种简单的方法可以在Microsoft Excel中交换两个单元格的内容?

我所说的简单,是指键盘快捷键或菜单项,而不涉及复制到临时单元格或编写VBA脚本或类似的东西。换句话说,我正在寻找一种方法,只需选择两个单元格,然后点击某个菜单项或按某个组合键,就可以交换它们的内容。当然,肯定有一种方法可以做到这一点。

答案 (8)

47
47
47
2013-01-15 19:12:17 +0000

来自 http://www.extendoffice.com/documents/excel/860-excel-swap-contents-of-two-cells.html

有时,有两个相邻的单元格需要交换。我们可以手动完成。请看下面的截图,我想把A4单元格和B4单元格对调,请按以下方法操作。

  1. 选择你想交换的单元格。在本例中,选择单元格A4。

  2. Shift键,将光标放在右边的边框上。

3.然后拖动光标到单元格B4的右边界。

  1. 当显示 “工 "时,松开鼠标。

  2. 两个单元格的内容已经交换了。

用这种方法,我们也可以交换相邻的两行或两列。

18
18
18
2012-11-22 09:20:50 +0000

对于相邻相同大小的矩形范围的特殊情况,可以使用 类似问题的这个答案中描述的方法。

1.选择右侧或底部的范围 2.按Ctrl+X 3. 按Ctrl+X 3. 选择相邻的范围(即正上方或左侧) 4. 按Ctrl+ ++通常在=键的上方,所以翻译成Ctrl+Shift+=)

注意,你可以使用同样的程序来交换整个相邻的行或列。

15
15
15
2011-03-14 16:44:48 +0000

我指的是键盘快捷键或菜单项,而不需要复制到临时单元格或编写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
5
5
5
2011-03-24 20:24:16 +0000

在Excel中没有办法交换两个单元格的内容,除非你自己编写宏来实现。

EDIT: 听起来现在在最新版本的Excel中可能有一种简单的方法来交换单元格的内容,所以这个答案可能已经过时了。

2
2
2
2014-01-05 19:25:48 +0000

选择要交换的第一组单元格,按ctrl+x:

选择要交换的单元格旁边的单元格,按ctrl++。

0
0
0
2018-11-22 04:53:36 +0000
  • 选择你想交换的底部单元格
  • 按Ctrl+X并转到你想交换的单元格
  • 按Ctrl+Shift+=

交换将被执行。

0
0
0
2018-01-08 03:00:45 +0000

我读了这个帖子,但实际上需要一个宏来交换全范围。此外,我还需要交换颜色。稍微修改了一下原来发布的宏,这可能对某人有用。

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
0
0
0
2014-12-05 17:19:03 +0000

你可以将最多25个项目粘贴到剪贴板上,因此使用ctr+tab或cmd+tab mac很容易地进行交换。