2016-04-05 29 views
1

Seçilen dosyadaki çeşitli excel çalışma sayfalarından veri kopyalamak ve veri almak için aşağıdaki kodu kullandım ve ayrı bir birleşik çalışma kitabına yapıştırın.Usedrange Yeniden Boyutlandır VBA

İyi çalışıyor ama metni ilk satır (veya başlık) eklemeden çalışma sayfalarından kopyalayıp yapıştırmak istiyorum.

Kullanılan aralık seçimini yeniden boyutlandırmam gerekiyor.

Herhangi bir düşünce takdir edilecektir.

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)' –

cevap

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

(Bu cevap Düşük Kalite Mesajlar inceleme kuyruğuna oldu) bu kod soruya nasıl cevap üzerinde durmak edin. – JAL

+0

Yanıt yalnızca yayınlanan kodun üstüne yeni bir kavram getiriyor: Bu ayrıntıya değinmiyorum. –

İlgili konular