Clever-Excel-Forum

Normale Version: VBA Code > Daten aus vielen EXEL-Dateien in einer Datei vereinen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
(03.03.2016, 15:19)Brinkhoff schrieb: [ -> ]
(03.03.2016, 14:59)atilla schrieb: [ -> ]Hallo,

musst halt ein wenig zureden, dann will er schon.

Du musst statt Deines bisherigen Codes meinen einsetzen.

Oh atilla, du bist ja auch dabei.
Deine Antwort habe ich erstmal glatt überlesen.
Meine letzte Antwort war nur auf die von Fennek bezogen.

Also mit deiner klappt was!!!
Ich bekomme zwar erst einen Fehler das die Mappe1.xlsm bereits geöffnet ist.
Und wenn ich sie dann aber nicht erneut öffnen lasse "NEIN" dann meckert er noch "Laufzeitfehler 1004" Methode 'open' für das Objekt 'Workbooks' ist fehlgeschlagen.

Aber jetzt kommts: debugge ich das ganze und gehe aus dem VBA Editor zurück in die Arbeitsmappe sind die Daten da.

Ah, ich glaube ich habs geschnallt warum.
Die Zieldatei liegt mit im Quellordner.
Darum meckert er.
Nehme ich die Zieldatei aus dem Ordner läuft er sauber durch.

Mal wieder dickes Danke an euch. Nu ist Feierabend.
Lasse ihn morgen mal auf den Dateienberg los und gucke wie lange er braucht :30: :76:
(03.03.2016, 14:49)atilla schrieb: [ -> ]Hallo,

theoretisch so:


Code:
Sub kopieren()
 Dim fs, f, f1, fc, s
 Dim Ziel As Worksheet, Quelle As Worksheet
 Set fs = CreateObject("Scripting.FileSystemObject")
 Set f = fs.GetFolder("C:\Users\Username\Desktop\") 'Pfad anpassen
 Set fc = f.Files
 
 Dim a As Long
 a = 2
 Application.ScreenUpdating = False
 For Each f1 In fc
   Workbooks.Open "C:\Users\Username\Desktop\" & f1.Name 'Pfad anpassen
   Set Ziel = Workbooks.Item(1).Worksheets(1)
   Set Quelle = Workbooks.Item(2).Worksheets(1)
   Quelle.Range("B3:B17").Copy
   Ziel.Cells(a, 1).PasteSpecial Paste:=xlValues, Transpose:=True
   a = a + 1
   Set Ziel = Nothing
   Set Quelle = Nothing
   Workbooks.Item(2).Close (False)
 Next
 Application.ScreenUpdating = True
End Sub

Kann ich bei PasteSpecial mit der Funktion Transpose auch Formeln übertragen lassen oder nur Werte(Values)?
Wie wäre der Begriff dafür?

Danke im Voraus.
Hi,

(04.03.2016, 09:26)Brinkhoff schrieb: [ -> ]Kann ich bei PasteSpecial mit der Funktion Transpose auch Formeln übertragen lassen oder nur Werte(Values)?
Wie wäre der Begriff dafür?

selber ausprobieren, es durch Makro aufzeichnen rauszubekommen?

Hier z.B. mal für "alles übertragen":
PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False, Transpose:=True

Formeln und Zahlenformate:
PasteSpecial Paste:=xlPasteFormulasAndNumberFormats, Operation:= xlNone, SkipBlanks:=False, Transpose:=True
Seiten: 1 2