为什么不能复制?

来源:微信公众号表妹的EXCEL


最近有小伙伴向表妹提问:自己苦心选中的数据,为什么无法进行复制粘贴操作?经表妹仔细调查研究后,觉得此问题具有一定的共性(即其他小伙伴很有可能也会遇到),所以今天在这里和大家一起分享一下。

~~~~~~多重选定区域的分割线~~~~~~

问题描述


-------------------------------------

原因分析

如上面的动图所示,通过定位功能定位目标单元格后,想进行复制粘贴操作时,EXCEL弹出了禁止提示“不能对多重选定区域执行此命令”,这是为什么呢?其实,问题就出在这个“多重选定区域”上!

多重选定区域:不连续且不在同一行/列上的单元格区域

EXCEL中的复制粘贴操作只能针对位于"连续的、在同一行上的或者在同一列上的"单元格进行,而对于Ctrl键+鼠标点选或者定位功能定位的非同行/列单元格,是不能进行的,所以才会弹出禁止提示。


-------------------------------------

解决方案

情况1纯数字单元格

解决方法:复制全部数据--选择性粘贴--“加”运算


-------------------------------------

情况2非纯数字单元格

解决方法:添加“宏”--复制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”,每周一、三、五获取原创分享教程。加入“表妹的EXCELQQ群(345387282)”,和勤奋好学的小伙伴们一起快乐地学习EXCEL吧!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本例为设置密码窗口 (1) If Application.InputBox(“请输入密码:”) = 1234 Th...
    浮浮尘尘阅读 14,788评论 1 20
  • 转自360图书馆Excel常用快捷键大全 关于处理工作表的快捷键总结 插入新工作表:Shift+F11或Alt+S...
    1想得美阅读 4,968评论 0 7
  • 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得...
    浮浮尘尘阅读 22,076评论 6 49
  • <1> 有人说,喜欢一个人就是用自己的方式去喜欢你,而真正爱一个人就是用你所喜欢的方式去爱你。 也不尽然。两种都可...
    L念暖阅读 3,882评论 0 2
  • 2017年3月14日打卡 今天有个小确幸,明天分享给大家。嘻嘻。
    沈曼柔阅读 2,934评论 2 1

友情链接更多精彩内容