~~~~~~多重选定区域的分割线~~~~~~ ------------------------------------- 如上面的动图所示,通过定位功能定位目标单元格后,想进行复制粘贴操作时,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
------------------------------------- 运行效果:
|