首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过按下宏按钮将行从一个工作表复制并插入到另一个工作表

通过按下宏按钮将行从一个工作表复制并插入到另一个工作表
EN

Stack Overflow用户
提问于 2012-08-08 01:13:22
回答 5查看 82K关注 0票数 2

我有这个工作簿:我需要有一个宏按钮,我的用户可以点击说“点击这里复制”,然后我需要一个代码来复制5-25行的工作表标题为"TC-Star Here",我需要复制的行被插入(我需要粘贴的行不自动删除那些以前在那里,所以插入的行将不得不向下移动以前的那些)到另一个工作表命名为"Time Cards“。插入的行,我需要从单元格A1开始编写插入代码。因此,每次单击宏按钮时,都会复制行,并插入未修改/删除的前一个数据。

到目前为止,我有以下代码:

代码语言:javascript
复制
Sub CopyInfo()
On Error GoTo Err_Execute
    Sheet2.Range("A1:F11").Value = Sheet1.Range("A1:F11").Value
    Sheet1.Range("A1:F11").Copy
    Sheet2.Range("A1").InsertCopiedCells
Err_Execute:
    MsgBox "All have been copied!"

End Sub

但每次单击该按钮时,它都会将行粘贴到现有行上。

请帮帮忙。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-08-08 08:47:49

这就是你正在尝试的吗?

代码语言:javascript
复制
Sub CopyInfo()
    On Error GoTo Err_Execute

    Sheet1.Range("A1:F11").Copy
    Sheet2.Range("A1").Rows("1:1").Insert Shift:=xlDown

Err_Execute:
    If Err.Number = 0 Then MsgBox "All have been copied!" Else _
    MsgBox Err.Description
End Sub
票数 5
EN

Stack Overflow用户

发布于 2012-08-08 01:18:22

这一行

Sheet2.Range("A1:F11").Value = Sheet1.Range("A1:F11").Value

将Sheet2上的那些单元格的值设置为Sheet1上的值-也就是说,它复制这些值并替换那里的值。然后,您正在执行复制-插入操作。

删除/注释掉该行,看看会发生什么。

另外,我认为复制区和粘贴区的大小必须相同。尝试将其设置为Sheet2.Range("A1:F11").InsertCopiedCells

票数 1
EN

Stack Overflow用户

发布于 2013-06-13 16:48:38

简单-使用循环(另外,关闭ScreenUpdating以极大地加快处理时间)下面将把名为"Sheet2“的表中的所有行复制到名为"Sheet1”的表中的同一行。

代码语言:javascript
复制
Sub CopyOver()
    Application.ScreenUpdating = False
    For j = 1 To 1560 'Or however many rows u have
        On Error GoTo Err_Execute
        Sheets("Sheet2").Rows(j).Copy
        Sheets("Sheet1").Rows(j).Insert Shift:=xlDown
    Next j
    Application.ScreenUpdating = True
    Err_Execute:
        If Err.Number = 0 Then MsgBox "All have been copied!" Else _
        MsgBox Err.Description
End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11850874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档