2017-05-04 216 views
-2

我有一个每周报告,我正在运行。我有两个单独的工作表。在第一张工作表中,我输入了我的数据(预先包含2列和未知行数的表格),并且我想创建一个宏,在其中单击它并剪切所有这些数据,并将它们移动到另一个工作表中。在粘贴表格的工作表中,我希望将数据粘贴为值(包括初始公式)并粘贴到前一周的数据下方。从一张工作表剪切粘贴表到另一个excel VBA

例如如果我从Worksheet1剪切单元格A1:B7中的数据,我想将这些值粘贴到Worksheet2单元格A7:B14中。下一周,数据应该从Worksheet1中的单元格A1:B5剪切粘贴到单元格A15:Worksheet2中的B20

我有这段代码,但我做错了什么。我在vba的初学者水平。

Sub Movetabletototal() 
Dim Count As Integer 
Dim Table As Range 
Dim CountRange As Range 

Worksheets("TOTAL").Select 
Set CountRange = Range("A2:A1000") 


Count = Application.WorksheetFunction.Count(CountRange) 
Worksheets("MIXER TOTAL").Select 


Set Table = Range("P3:Q12") 
Worksheets("TOTAL").Select 
Worksheets("TOTAL").Range("A1").Select 




ActiveCell.Offset(1, Count + 1).Select 
ActiveCell.Value = Table 
Worksheets("MIXER TOTAL").Select 
Worksheets("MIXER TOTAL").Range("P3:Q12").Clear Contents 

If Worksheets("TOTAL").Range("A2").Offset(1, Count) <> "" Then 
    Worksheets("TOTAL").Range("A2").End(xlDown).Select 
End If 

End Sub 

谢谢!

+0

什么'Table'你不?在你的文章中没有提到这个范围,你在哪里考虑'A1:B7'? – BruceWayne

回答

0

此代码成功地做到这一点:

例如如果我从Worksheet1中删除单元格A1:B7中的数据,我想将Worksheet2中的值粘贴到 单元格A7:B14中。下周,该数据应 从单元格A1剪切粘贴:B5在Worksheet1细胞A15:B20在 Worksheet2按您的评论

编辑:

的“混合器TOTAL”作为使用P3:Q12您数据发生变化,并粘贴到当前数据之后“TOTAL”表格上的列A:B上。

Sub Movetabletototal() 
Dim Count As Integer 
Dim copyRng As Range, pasteRng As Range 
Dim totalWS As Worksheet, mixerWS As Worksheet 

Set totalWS = Worksheets("TOTAL") 
Set mixerWS = Worksheets("MIXER TOTAL") 

Set copyRng = mixerWS.Range("P3:Q" & mixerWS.Cells(mixerWS.Rows.Count, 17).End(xlUp).Row) 

Dim newRow As Long 
newRow = totalWS.Cells(totalWS.Rows.Count, 1).End(xlUp).Row 
If newRow > 1 Then newRow = newRow + 1 

copyRng.Copy totalWS.Range(totalWS.Cells(newRow, 1), totalWS.Cells(newRow + copyRng.Rows.Count, copyRng.Columns.Count)) 

copyRng.ClearContents 
End Sub 

根据需要更改这些范围。 (请注意,目前如果你的数据从P3云:Q1000,它会复制所有范围如果严格P3:Q12,然后更改CopyRng只是mixerWS.Range("P3:Q12")

enter image description here

+0

@Carneras - 查看我的编辑 – BruceWayne

+0

@Carneras - 为了保留原始数据,只需注释掉(或删除)copyRng这一行。 ClearContents'。 – BruceWayne

相关问题