将所有工作表incld中的所有数据复制到一个工作表中

时间:2017-09-07 15:17:00

标签: excel vba excel-vba

我有一个vba脚本,它将复制所有工作表中的数据并将其粘贴到另一个toi group数据中:

Sub Recap()
Dim sh As Worksheet
For Each sh In Worksheets
    If sh.Name <> "Feuil1" Then
        sh.[A7].Resize(sh.[A65536].End(xlUp).Row - 1, 13).Copy Destination:=Worksheets("Feuil1").[A65536].End(xlUp).Offset(1, 0)
    End If
Next sh

我的问题是脚本没有获取所有数据,它在某种程度上停止了,我认为这是因为我有一些合并的单元格或空行。 有人知道我应该改变什么吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

好的,经过一些研究,我找到了另一种计算 Resize 函数中 RowSize 的方法:

坚持:

sh.[A7].Resize(sh.[A65536].End(xlUp).Row - 1, 13).Copy

我使用 UsedRange 函数计算了

sh.[A7].Resize(sh.UsedRange.Rows(sh.UsedRange.Rows.Count).Row - 1, 13).Copy

最终的VBA运作得非常好:

Sub Recap()
Dim sh As Worksheet
For Each sh In Worksheets
    If sh.Name <> "Feuil1" Then
        sh.[A7].Resize(sh.UsedRange.Rows(sh.UsedRange.Rows.Count).Row - 1, 13).Copy Destination:=Worksheets("Feuil1").[A65536].End(xlUp).Offset(1, 0)
    End If
Next sh