问题与复制数据从一张表到另一张

我通过循环方法开发了一个脚本,将数据从一个表格复制到另一个表格,然后刷新第一个字段。 除了一个问题,脚本运行良好。 在第二个表格中,它应该find列A中的最后一个非空白单元格(即“x”),并从下一行中读取数据。 问题是它正在粘贴“x + 11”行中的数据。

我需要帮助确定这是为什么发生。

请注意,这里i = 11是因为第10行中的数据是标题,所需数据从第11行开始。

这是我做的macros:

Option Explicit Sub CopyPaste() Dim i As Integer Dim x As Long Dim y As Long Dim c As Range i = 11 Do While Cells(i, 1).Value <> "" 'ActiveSheet.CopyPast x = i y = 0 For Each c In Worksheets("CDS").Range(Cells(x, 1), Cells(x, 11)) Worksheets("DataBank").Range("a10000").End(xlUp).Offset(x, y) = c y = y + 1 x = 0 Next c Application.CutCopyMode = False i = i + 1 Loop With Sheets("CDS") Range("A11:K65").ClearContents End With End Sub 

这是因为您正在使用从11开始的偏移量,并且对于循环的每次迭代都会增加1。

更改: Worksheets("DataBank").Range("a10000").End(xlUp).Offset(x, y) = c

To: Worksheets("DataBank").Cells(Rows.Count,y+1).End(xlUp).Offset(1, 0) = c