Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1160to1164
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Gefüllten Bereich aus externen Mappen kopieren

Gefüllten Bereich aus externen Mappen kopieren
Holger
Hallo Excel-Freunde,
ich möchte aus verschiedenen Mappen gefüllte Zellen in eine Exceldatei kopieren.
Ablauf sollte sein:
Sammelmappe (k10) ist offen und von dort wird der Code gestartet.
Erste Datei (k1a) wird geöffnet. Bereich von A1 bis letzte gefüllte Zelle in Spalte H in die Sammelmappe kopieren. Erste Datei schließen.
Dann wird die 2. Datei (k2a) geöffnet. Bereich von A1 bis letzte gefüllte Zelle in Spalte H auch in die Sammelmappe kopieren. zweite Datei schließen usw...
Dazu habe ich folgenden Codeteil:
Dim ende As Long
ende = Cells(65536, 1).End(xlUp).Row
Workbooks.Open Filename:=k1a
Range("A1:H" & ende).Copy Workbooks(k10).Sheets(l1a).Range("b1")
Workbooks(k1b).Close SaveChanges:=False
Workbooks.Open Filename:=k2a
Range("A1:H" & ende).Copy Workbooks(k10).Sheets(l1b).Range("b1")
Workbooks(k2b).Close SaveChanges:=False
Workbooks.Open Filename:=k3a
Range("A1:H" & ende).Copy Workbooks(k10).Sheets(l1c).Range("b1")
Workbooks(k3b).Close SaveChanges:=False
Workbooks.Open Filename:=k4a
Range("A1:H" & ende).Copy Workbooks(k10).Sheets(l1d).Range("b1")
Workbooks(k4b).Close SaveChanges:=False
Workbooks.Open Filename:=k5a
Range("A1:H" & ende).Copy Workbooks(k10).Sheets(l1e).Range("b1")
Workbooks(k5b).Close SaveChanges:=False
Mir macht die Variable "ende=....." Probleme. Denn sie sucht nicht die letzte gefüllte Zelle der Spalte H in der gerade geöffneten Mappe, sondern nimmt einfach einen festen Wert.
Was habe ich falsch gemacht oder faslch bedacht?
Gruß
Holger

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
neu dimensionieren
07.06.2010 17:12:06
Steffen
Hallo Holger,
erstens muß ende ja jeweils neu dimensionirt werden und zweitens passt die Spaltenangabe nicht.
so sollte es laufen:
Option Explicit

Dim ende As Long



    Workbooks.Open Filename:=k1a
    ende = Cells(Rows.Count, 8).End(xlUp).Row
        Range("A1:H" & ende).Copy Workbooks(k10).Sheets(l1a).Range("b1")
    Workbooks(k1b).Close SaveChanges:=False
   
    Workbooks.Open Filename:=k2a
    ende = Cells(Rows.Count, 8).End(xlUp).Row
        Range("A1:H" & ende).Copy Workbooks(k10).Sheets(l1b).Range("b1")
    Workbooks(k2b).Close SaveChanges:=False
   
    Workbooks.Open Filename:=k3a
    ende = Cells(Rows.Count, 8).End(xlUp).Row
        Range("A1:H" & ende).Copy Workbooks(k10).Sheets(l1c).Range("b1")
    Workbooks(k3b).Close SaveChanges:=False
   
    Workbooks.Open Filename:=k4a
    ende = Cells(Rows.Count, 8).End(xlUp).Row
        Range("A1:H" & ende).Copy Workbooks(k10).Sheets(l1d).Range("b1")
    Workbooks(k4b).Close SaveChanges:=False
   
    Workbooks.Open Filename:=k5a
    ende = Cells(Rows.Count, 8).End(xlUp).Row
        Range("A1:H" & ende).Copy Workbooks(k10).Sheets(l1e).Range("b1")
    Workbooks(k5b).Close SaveChanges:=False

Grüße
Steffen
Anzeige
AW: neu dimensionieren
08.06.2010 06:49:25
Holger
Hallo Steffen,
danke für deine Hilfe.
Leider zeigt mir deine Lösung, das die Variable "ende" keinen rechten Sinn macht, sondern den Code nur verlängert. Dann kann ich auch gleich "ende" weglassen:
 Workbooks.Open Filename:=k1a
Range("A1:H" & Cells(65536, 8).End(xlUp).Row). _
Copy Workbooks(k10).Sheets(l1a).Range("b1")
Workbooks(k1b).Close SaveChanges:=False
Workbooks.Open Filename:=k2a
Range("A1:H" & Cells(65536, 8).End(xlUp).Row). _
Copy Workbooks(k10).Sheets(l1a).Range("b1")
Workbooks(k2b).Close SaveChanges:=False
'...u.s.w.
Oder gibt es noch eine Möglichkeit meinen Code zu vereinfachen?
Gruß Holger
Anzeige
AW: Gefüllten Bereich aus externen Mappen kopieren
07.06.2010 22:41:53
Gerd
Hi Holger,
k1a - öffnen =>--->= k1b schließen. Sind da die Variablen der Datei-pfade/namen verrutscht?
Gruß Gerd
AW: Gefüllten Bereich aus externen Mappen kopieren
08.06.2010 06:38:25
Holger
Hi Gerd,
die Variable ...a zum öffnen beinhaltet den kompletten Datei-Pfad (z. B. H:/testcenter/Testraum/Test.xls). Die ...b Variable zum Schließen enthält nur den Dateinamen (Test.xls).
Warum VBA zum Schließen nicht die Variable ...a akzeptiert, weiß ich nicht.
Gruß Holger
AW: Gefüllten Bereich aus externen Mappen kopieren
08.06.2010 07:15:42
Gerd
Hi Holger,
vor'm Brötchen u. -verdienen.
Sub ungestestet()
Dim vntWB As Variant
Dim vntWBkurz As Variant
Dim vntSh As Variant
Dim intIndex As Integer
vntWB = Array(k1a, k2a, k3a, k4a)
vntWBkurz = Array(k1b, k2b, k3b, k4b)
vntSh = Array(l1a, l1b, l1c, l1d)
For intIndex = 0 To UBound(vntWB)
Workbooks.Open Filename:=vntWB(intIndex)
Range("A1:H" & Cells(65536, 8).End(xlUp).Row). _
Copy Workbooks(k10).Sheets(vntSh(intIndex)).Range("B1")
Workbooks(vntWBkurz(intIndex)).Close SaveChanges:=False
Next
End Sub
Schaue auch mal Dir() an, habe jetzt keine Zeit dafür.
Gruß Gerd
Anzeige
AW: Gefüllten Bereich aus externen Mappen kopieren
08.06.2010 07:28:12
Holger
Guten Morgen Gerd,
das funktioniert wunderbar, vielen Dank!
Gute Arbeit so früh am Morgen ;-)
Gruß Holger

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige