我有这个工作簿:我需要有一个宏按钮,我的用户可以点击说“点击这里复制”,然后我需要一个代码来复制5-25行的工作表标题为"TC-Star Here",我需要复制的行被插入(我需要粘贴的行不自动删除那些以前在那里,所以插入的行将不得不向下移动以前的那些)到另一个工作表命名为"Time Cards“。插入的行,我需要从单元格A1开始编写插入代码。因此,每次单击宏按钮时,都会复制行,并插入未修改/删除的前一个数据。
到目前为止,我有以下代码:
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但每次单击该按钮时,它都会将行粘贴到现有行上。
请帮帮忙。
发布于 2012-08-08 08:47:49
这就是你正在尝试的吗?
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发布于 2012-08-08 01:18:22
这一行
Sheet2.Range("A1:F11").Value = Sheet1.Range("A1:F11").Value
将Sheet2上的那些单元格的值设置为Sheet1上的值-也就是说,它复制这些值并替换那里的值。然后,您正在执行复制-插入操作。
删除/注释掉该行,看看会发生什么。
另外,我认为复制区和粘贴区的大小必须相同。尝试将其设置为Sheet2.Range("A1:F11").InsertCopiedCells
发布于 2013-06-13 16:48:38
简单-使用循环(另外,关闭ScreenUpdating以极大地加快处理时间)下面将把名为"Sheet2“的表中的所有行复制到名为"Sheet1”的表中的同一行。
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 Subhttps://stackoverflow.com/questions/11850874
复制相似问题