不能对多重选定区域使用此命令

2025-03-18 22:21:44
推荐回答(1个)
回答1:

excel复制时提示不能对多重选定区域使用此命令

听语音

  • |

  • 浏览:33757

  • |

  • 更新:2014-04-14 09:31

  • |

  • 标签:excel 

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 分步阅读

    在excel日常使用时,您是否经常在复制时遇到“不能对多重选定区域使用此命令”而导致无法复制的情况?这个非常令人苦恼,因为经常是辛辛苦苦按着Ctrl键挨个选择了单元格准备复制,一旦无法复制还得重新一个一个的选择一遍。本例教你快速、永久性解决这个问题。

    工具/原料

  • Excel

  • 操作过程:

  • 先来说一下这个提示产生的原因:

    1)用鼠标选择了非矩形区域;

    2)虽然最终选区整体是矩形区域,但是每个选取不同。比如说先选中A1,点Ctrl再选择B1,然后用鼠标选择A2:B2,这样的区域也是复制不了的;

    3)选择了正确的要复制区域,但是手一抖,多选择了一个单元格,如下图:

  • 首先,按照下图所示方法在“个人宏工作簿”中录制一个空宏。

  • 按Alt+F11打开VBA界面,并将下述代码更新在“个人宏工作簿”的模块中。

    Sub 多区域复制粘贴()

    On Error Resume Next

    Dim SRange() As Range, UPRange As Range, TRange As Range

    Dim i As Long, AreaNum As Long

    Dim MinR As Long, MinC As Long

    AreaNum = Selection.Areas.Count

    ReDim SRange(1 To AreaNum)

    MinR = ActiveSheet.Rows.Count

    MinC = ActiveSheet.Columns.Count

    For i = 1 To AreaNum

    Set SRange(i) = Selection.Areas(i)

    If SRange(i).Row < MinR Then MinR = SRange(i).Row

    If SRange(i).Column < MinC Then MinC = SRange(i).Column

    Next i

    Set UPRange = Cells(SRange(1).Row, SRange(1).Column)

    Set TRange = Application.InputBox(prompt:="选择粘贴区域的最左上角单元格", Title:="多区域复制粘贴", Type:=8)

    Application.ScreenUpdating = False

    For i = 1 To AreaNum

    SRange(i).Copy

    TRange.Offset(SRange(i).Row - MinR, SRange(i).Column - MinC).PasteSpecial paste:=xlPasteValues

    Next i

    Application.ScreenUpdating = True

    End Sub

  • 返回Excel工作表界面,我们利用自定义快速访问工具栏的方法将该宏绑定在快速访问工具栏,这样以后可以直接点击调用。

  • 操作完毕后,工具栏上将出现一个新的按钮。这样,基础工作就已经做好了。下面我们来测试一下具体功能。

  • 用鼠标选择任意单元格区域(次序不论,按住Ctrl怎么选择都可以),如下图黄色单元格所示:

  • 点击快速访问工具栏上刚刚插入的按钮,弹出如下提示:

  • 我们只需要选择任意一个空单元格(想要粘贴区域的最左上角单元格),这时原选中区域的内容就按照原来的格式保持相对位置不变粘贴到了新的单元格区域。