当粘贴到表格的VBAmacros崩溃

我正在试图创build一个macros,其中它需要一个dynamic的行数(用户input),并将其粘贴到另一个表中的表中。 起初,我正在困难的时间寻找并寻找方法。 我有一个下面的解决方法,第一次工作(它正确地采取“原始”范围,并将其粘贴到表),当我从VBA运行它,但当我按下macros分配button后崩溃。 我的代码如下:

Sub AddRawData() Dim count_of_data As Long Dim rng As Range Set rng = Sheets("New Input Raw Data").Range("B5", Range("B5").End(xlDown).End(xlToRight)) count_of_data = rng.Rows.Count Sheets("Master Data").Select For x = 1 To count_of_data ActiveSheet.ListObjects(1).ListRows.Add Next x Sheets("New Input Raw Data").Select rng.Select rng.Cut Sheets("Master Data").Select Range("b65536").End(xlUp).End(xlUp).Select ActiveCell.Offset(1).Select ActiveSheet.Paste End Sub 

我困在此刻,并尝试了使用ActiveCell.paste或Range.Paste,但运行到相同的崩溃问题的各种工作。 任何build议或代码更正将不胜感激。 谢谢!

如果您想要将新插入的数据从新buildinput原始数据工作表复制到主数据表中现有数据的末尾,则不需要全部Select和大部分行,只需运行以下代码:

 Sub AddRawData() Dim rng As Range Dim sht_NewData As Worksheet Dim sht_MasterData As Worksheet Set sht_NewData = ThisWorkbook.Worksheets("New Input Raw Data") Set sht_MasterData = ThisWorkbook.Worksheets("Master Data") sht_NewData.Select Set rng = sht_NewData.Range("B5", Range("B5").End(xlDown).End(xlToRight)) rng.Copy Destination:=sht_MasterData.Range("B" & sht_MasterData.Cells(sht_MasterData.Rows.Count, "B").End(xlUp).Row + 1) End Sub