Ich habe mal eine Verständnisfrage zum Copy Befehl. Ich habe folgenden Code in den ich zwei Varianten (Kommentar) zum Kopieren des Inhaltes eines Tabellenblattes (Workbook wird per Dialog geöffnet) in ein anderes Tabellenblatt (anderes Workbook) ausprobiert habe.
Ich verstehe nicht:
1. warum in Variante2 die Daten in eine NEUE Mappe kopiert werden, die dann wohl irgendwie geöffnet wird
2. warum die Variante 1 so viel langsamer ist als die Variante 2
es wäre super, wenn da jemand etwas Licht ins Dunkel bringen könnte.
Sub Datei_auswählen()
Dim workfile As Worksheet
Dim strTitelText As String
Dim strFile
Dim wsImport As Worksheet
Set workfile = ThisWorkbook.Worksheets("Output")
strTitelText = "Select a File"
strFile = Application.GetOpenFilename("Excel Workbooks (*.xls*),*.xls*", , strTitelText)
If strFile False Then
Set wsImport = Workbooks.Open(strFile).Sheets(1)
Else
Exit Sub
End If
'Variante1: dauert sehr lange, kopiert aber die Daten aus strFile in wsImport richtig.
wsImport.Cells.Copy
workfile.Range("A1").Insert
'Variante2: Geht sehr schnellt, kopiert aber die Daten aus strFile in eine neue Arbeitsmappe.
wsImport.Copy
workfile.Range("A1").Insert
wsImport.Parent.Close
End Sub