2017-08-02 11 views
0

あるブックから別のブックにデータの範囲をコピーして貼り付けるループを作成しようとしています。エラー'Select Sheet method not proper'が表示されたり、エラーメッセージが何であっても表示されません。これは私がこれまで持っているものです。VBAを使用したループ内のフォルダ間でコピーと貼り付け

folderpath="insert folder path here" 
Filename = Dir(folderPath) 
Do While Filename <> "" 

Set wb = Workbooks.Open(folderPath & Filename) 

wb.Worksheets("Outcomes & Factors Rankings").Select 
Range("A3", Range("A3").End(xlDown).Offset(0, 6)).Copy 
ThisWorkbook.Worksheets("OutcomeFactorRankings").Select 
Range("A1").End(xlDown).Offset(1, 0).Select.Paste 

wb.Close 

Loop 
+0

ドンコピーするだけのワークシートを選択しないでください。 ( "A3"、Range( "A3")。End(xlDown).Offset(0、6))コピー先:==========================================================================================================================================================================================このワークブックワークシート( "OutcomeFactorRankings")を選択します。 範囲( "A1")。終了(xlDown).Offset(1、0) ' – JNevill

+0

エラーは次のとおりです:"選択ワークシートプロパティを取得できません。以前これを経験したことはありません。 –

+0

申し訳ありません。私はそこに誤ったSELECTを残していました:wb.Worksheets( "成果と成績ランキング")Range( "A3"、Range( "A3")End(xlDown).Offset(0、6))Copy Destination: === ThisWorkbook.Worksheets( "OutcomeFactorRankings")。範囲( "A1")。終了(xlDown).Offset(1、0) ' – JNevill

答えて

1

は、あなたがそのようなことは、あなたの問題を解く必要があり、簡素化し、あなたのコード内のすべてのものを選択する必要はありません、あなたのコードをインデントしてください:

folderPath = "insert folder path here" 
    Filename = Dir(folderPath) 

    Do While Filename <> "" 
     Set wb = Workbooks.Open(folderPath & Filename) 
     wb.Worksheets("Outcomes & Factors Rankings").Range("A3", Range("A3").End(xlDown).Offset(0, 6)).Copy 
     ThisWorkbook.Worksheets("OutcomeFactorRankings").Range("A1").End(xlDown).Offset(1, 0).Paste 
     wb.Close 
    Loop 
+0

次回インデントします。しかし、私はエラー、アプリケーション定義またはオブジェクト定義エラーが発生します。 wb.WorkSheets()....で行をコピー –

+1

私はJnevillがすでにあなたに良い答えを投稿すると思います:) – maaajo

関連する問題