将数据从一个工作簿复制到另一个工作簿的现有表中

时间:2018-09-19 17:12:49

标签: excel-vba

我能够阅读另一本工作簿并复制内容,但是当我尝试粘贴到现有表中时-Excel挂起并冻结。如果我将数据复制到没有现有表的另一张表中,那么它将正常工作。

我正在使用这个:

Dim sFound as String
Dim lRow as Long
Dim data_sheet As Worksheet
Dim wb as Workbook
Dim wb_data as Workbook

Set wb = ThisWorkbook

sFound =  Dir(ActiveWorkbook.Path & "\data*.csv)
If sFound <> "" Then
Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & sFound

End If
Set wb_data = ActiveWorkbook
Set data_sheet = Sheets("raw data")

lRow=data_sheet.Cells(data_sheet.Rows.Count,2).End(xlUp).Row
data_sheet.Range("A10:V" & lRow).Copy

wb.Sheets("Data").Range("Data[Code]").PasteSpecial
Application.CutCopyMode = False
wb_data.Close

对于为什么粘贴会导致表中挂断的任何帮助,将不胜感激。

2018-09-21更新 通过结合Marucciboy2的帖子和我自己的研究,我设法解决了冻结和悬空问题。我将要复制的整个原始数据集存储到一个变量中。然后,我将要复制的新表的大小调整为与原始数据相同的长度。然后,我将整个数据范围值设置为与变量相同。我将用代码更新它。

我仍然有一个问题是想出如何将一个表的一个特定列或特定范围的列复制到另一个表中。我可以调整新表的大小。我只是不知道如何将一列设置为变量,或者是否需要做其他事情。然后,我不知道如何将新表列设置为该变量。同样,明天将不得不发布代码。

0 个答案:

没有答案