在excel的日常使用中,是否经常会遇到复制时“多个选定区域不能使用此命令”导致无法复制的情况?这是很苦恼的,因为往往很难按下Ctrl键一个一个的选择单元格进行复制,一旦复制不了,就要一个一个的重新选择。这个例子教你快速而永久地解决这个问题。
1.先说说这个提示的原因:
1)用鼠标选中一个非矩形区域;
2)虽然最终选择的区域整体上是一个矩形区域,但是每个选择都不一样。例如,首先选择A1,单击Ctrl,然后选择B1,然后用鼠标选择A2:B2。这样的区域是无法复制的。
3)我选择了要复制的正确区域,但是随着我的手的抖动,我又选择了一个单元格:
2.首先,在“个人宏工作簿”中记录一个空宏,如下图所示。
3.按Alt F11打开VBA界面,更新个人宏工作簿模块中的以下代码。
子区域复制和粘贴()
将内容复制到剪贴板
出错时继续下一步
Dim SRange()作为范围,UPRange作为范围,TRange作为范围
Dim i一样长,AreaNum一样长
Dim MinR一样长,MinC一样长
AreaNum=选择。面积,计数
ReDim SRange(1到AreaNum)
MinR=ActiveSheet。行数。计数
MinC=ActiveSheet。列数
对于i=1到AreaNum
设置范围(i)=选择。领域(一)
If SRange(i)。Row MinR Then MinR=SRange(i)。排
If SRange(i)。列MinC Then MinC=SRange(i)。圆柱
接下来我
Set UPRange=Cells(SRange(1))。Row,SRange(1)。列)
Set Trange=application.inputbox(提示:='选择粘贴区域的左上角单元格'标题:='多区域复制粘贴'类型:=8)
申请。ScreenUpdating=False
对于i=1到AreaNum
SRange(i)。复制
TRange。偏移(SRange(i))。Row - MinR,SRange(i)。列- MinC)。选择性粘贴:=xlPasteValues
接下来我
申请。ScreenUpdating=True
末端接头
4.回到Excel工作表界面,我们通过自定义快速访问工具栏,将宏绑定到快速访问工具栏上,以后可以直接点击调用。
5.操作完成后,工具栏上会出现一个新按钮。这样,基础工作就做好了。我们来测试一下具体的功能。
6.用鼠标选中任意单元格区域(无论顺序如何,按住Ctrl都可以选中)。黄色单元格显示:
7.点击快速访问工具栏上刚刚插入的按钮,会弹出如下提示:
8.我们只需要选择任何空的单元格(我们要粘贴的区域的左上角单元格)。此时,原选中区域的内容将按照原格式粘贴到新的单元格区域中相同的相对位置。
9.上述方法的优点:
1)任何选中的区域都可以原样粘贴到其他单元格中;
2)可以将处于筛选状态的单元格粘贴到处于相同筛选状态的表格中;
3)在要粘贴的区域中,只要数据不与所选区域冲突,就不会影响粘贴区域中的其他单元格。这样可以实现修改部分数据后“更新”原区域的功能。也就是说,只有改变的单元内容被更新,而粘贴区域的字体格式、边框等不受影响。