excel无法复制粘贴的解决方法 excel无法复制粘贴

大家在日常使用 Excel 表格中,经常会把一张表格中的部分数据复制粘贴到另一张表格,有时候会提示:Excel 中不能对多重选定区域使用此命令的问题,造成了不能够复制的现象,下面小编就来教你如何解决Excel 中不能对多重选定区域使用此命令的难题 。
如下图所示,我们用一个简单的例子来做说明剖析:
我们想将左边表格中的 A2,B3,C4,D5 单元格中的数据一次性复制出来,粘贴到右边表格对应的位置 。

excel无法复制粘贴的解决方法 excel无法复制粘贴


当我们通过按住 Ctrl 键,选中不连续的单元格 A2,B3,C4,D5 单元格后,右击鼠标,点击“复制”按钮,发现会弹出一个错误提示:“无法对多重选择区域执行此操作” 。复制粘贴以失败告终 。

excel无法复制粘贴的解决方法 excel无法复制粘贴


首先我们要知道 Excel 中的“多重选定区域”是指:进行多次选择确定下来的区域,也就是按下 Ctrl 键进行选择得到的区域 。如下图所示:我们通过按住 Ctrl 键选中不连续的单元格 B2,B4,B6 单元格,注意此时选定区域都在一列(或一行)中,此时右击鼠标,可以实现正常的复制粘贴 。

excel无法复制粘贴的解决方法 excel无法复制粘贴


如下如所示:我们通过按住 Ctrl 键选中不连续的单元格 B2,B4,B6 单元格的同时,再次选中一个另一列的 D6 单元格 。注意此时选定区域不在一列中,形成了多重区域,此时右击鼠标,点击“复制”按钮后,就会出现“无法对多重选择区域执行此操作”的错误提示 。

excel无法复制粘贴的解决方法 excel无法复制粘贴


方案|VBA 代码解决方案
首先,我们依旧通过按住 Ctrl 键,选中不连续的单元格 A2,B3,C4,D5 单元格后,先不着急右击点击复制;而是右击工作表“Excel 情报局”名称标签,接着点击“查看代码”,弹出 VBA 代码录入界面,将下面一段代码复制粘贴到 VBA 代码录入界面 。
代码如下:
Sub 多重选定区域复制粘贴()On Error Resume NextDim SRange() As Range, UPRange As Range, TRange As RangeDim i As Long, AreaNum As LongDim MinR As Long, MinC As LongAreaNum = Selection.Areas.CountReDim SRange(1 To AreaNum)MinR = ActiveSheet.Rows.CountMinC = ActiveSheet.Columns.CountFor i = 1 To AreaNumSet SRange(i) = Selection.Areas(i)If SRange(i).Row < MinR Then MinR = SRange(i).RowIf SRange(i).Column < MinC Then MinC = SRange(i).ColumnNext iSet UPRange = Cells(SRange(1).Row, SRange(1).Column)Set TRange = Application.InputBox(prompt:="请输入粘贴位置的左上角单元格", Title:="多重选定区域复制粘贴", Type:=8)Application.ScreenUpdating = FalseFor i = 1 To AreaNumSRange(i).CopyTRange.Offset(SRange(i).Row - MinR, SRange(i).Column - MinC).PasteSpecial Paste:=xlPasteValuesNext iApplication.ScreenUpdating = True      End Sub
excel无法复制粘贴的解决方法 excel无法复制粘贴


点击上方的“运行-运行子过程/用户窗体”,会弹出一个提示框:”请输入粘贴位置的左上角单元格”,即我们要粘贴存放数据的起始位置 。
如果我们想要保持粘贴数据的相对位置不变,需要将这个起始位置设置为:我们复制的不连续的单元格中最上方的单元格所在行的最左边单元格的位置,即 F2 单元格 。在这个提示框里面点击自动识别单元格位置即可 。
最后点击“确定”,即可实现数据的复制粘贴 。如下图所示:
【excel无法复制粘贴的解决方法 excel无法复制粘贴】
excel无法复制粘贴的解决方法 excel无法复制粘贴

推荐阅读