2016-04-05 22 views
1

次のコードを使用して、選択したファイルのさまざまなExcelワークシートからデータをコピーし、別の統合データワークブックに貼り付けました。Used Range Resize VBA

うまくいきましたが、最初の行(またはヘッダー)を含めずにワークシートのテキストをコピーして貼り付けたいと思います。

私は使用された範囲選択のサイズを変更する必要があると思います。

どのような考えにも感謝します。

Sub Data() 

Dim wb1 As Workbook 
Dim wb2 As Workbook 
Dim Sheet As Worksheet 
Dim PasteStart As Range 

Set wb1 = ActiveWorkbook 
Set PasteStart = [Sheet1!A2] 

Sheets("Sheet1").Select 
Cells.Select 
Selection.ClearContents 

FileToOpen = Application.GetOpenFilename _ 
(Title:="Please choose a Report", _ 
FileFilter:="(.xls),") 

If FileToOpen = False Then 
MsgBox "No File Specified.", vbExclamation, "ERROR" 
Exit Sub 

Else 

Set wb2 = Workbooks.Open(Filename:=FileToOpen) 

For Each Sheet In wb2.Sheets 
    With Sheet.UsedRange 
     .Copy PasteStart 
     Set PasteStart = PasteStart.Offset(.Rows.Count) 
    End With 
Next Sheet 

End If 

wb2.Close 

End Sub 
+0

'Sheet.UsedRange.offsetは、(1)' –

答えて

1
For Each Sheet In wb2.Sheets 
    With Sheet.UsedRange 
     .Offset(1, 0).Resize(.Rows.Count-1, .Columns.Count).Copy PasteStart 
     Set PasteStart = PasteStart.Offset(.Rows.Count-1) 
    End With 
Next Sheet 
+0

(この答えは低品質投稿レビューキューにあった)このコードは質問に答える方法について詳しく説明してください。 – JAL

+0

答えは、投稿されたコードの上に1つの新しい概念しか導入していません。私はそのメリットの精緻化を信じていません。 –