2017-09-07 7 views
0

私はすべてのシートにデータをコピーして別の1つのTOIグループアル内のデータを貼り付けますVBAのスクリップを持っている:コピー1枚の空白のすべてのシートINCLD内のすべてのデータ

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 

私の問題があることですスクリプトはすべてのデータを取っていない、何とかどこかで停止する、私はいくつかのマージされたセルまたは空白の行があると仮定します。 誰かが私が何を変えなければならないのか考えていますか?

ありがとうございます!

+0

'何とかいくつかのpoint'で停止...何点で?どのシートに?私たちはあなたを助けるためにさらに多くの情報が必要です。 –

+0

@ScottHoltzmanあなたの素早い答えをありがとう:)。 sriptはうまくいった、すべてのシートからデータを取ったが、すべてのデータを取ったわけではない。最後のシートの最後の22行からのデータはコピーされませんでした。 –

+0

最後のシートの最後の22行のデータの違いは何ですか? –

答えて

0

[OK]を、少し研究した後、私はリサイズ機能にのRowSizeを計算するための別の方法が見つかりました:の

Istead:

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 
関連する問題