excel怎样实现区域复制粘贴?

如题所述

1、首先,点击excel程序左下角的【录制宏】按钮录制宏。选择录制到【个人宏工作簿】后点击【确定】按钮。

2、开始录制宏后什么都不操作,马上点击【停止录制宏】按钮。

3、按Alt+F11进入VBE界面,打开“个人宏工作簿”,可以看到增加了一个模块。

4、将模块代码更新成下述代码后点击【保存】按钮。

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

5、回到Excel界面,右键单击快速访问工具栏,选择【自定义快速访问工具栏】。

6、如下图设置和选择,并点击【添加】按钮。

7、这样,在工具栏就出现了一个新的按钮,指定到了刚才加入的代码。

8、原始数据A列姓名包含重复的“张三”。

9、我们筛选“张三”,用鼠标选中所有数据。然后按Ctrl+G调出【定位】对话框,选择【定位条件】。

10、选择【可见单元格】,然后点击【确定】按钮。

11、点击刚才插入的按钮。

12、下面会弹出来如下的对话框。注意:只需要用鼠标选择要粘贴区域的最左上角单元格即可。

13、选中想要粘贴的单元格,然后点击【确定】按钮,数据就粘贴出来了。

14、我们取消A列的筛选,可以看到复制的数据也粘贴到了筛选出来的行中。

温馨提示:答案为网友推荐,仅供参考
相似回答