excel多个单元格内容如何复制到一个单元格内?

如题所述

原因:

1)用鼠标选择了非矩形区域;

2)虽然最终选区整体是矩形区域,但是每个选区不同。比如说先选中A1,点Ctrl再选择B1,然后用鼠标选择A2:B2,这样的区域也是复制不了的;


一、工具/原料

Excel 2003 办公软件


二、步骤/方法

1.在“个人宏工作簿”中录制一个空宏。

2.按Alt+F11打开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

3.返回Excel工作表界面,利用自定义快速访问工具栏的方法将该宏绑定在快速访问工具栏,这样以后可以直接点击调用。

4.操作完毕后,工具栏上将出现一个新的按钮。

5.用鼠标选择任意单元格区域(次序不论,按住Ctrl怎么选择都可以),点击快速访问工具栏上刚刚插入的按钮,弹出提示后,选择想要粘贴区域的最左上角单元格,这时原选中区域的内容就按照原来的格式保持相对位置不变粘贴到了新的单元格区域。

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