Thema Datum  Von Nutzer Rating
Antwort
Rot Äußereren Loop einfügen
10.04.2018 11:22:35 Gast20979
NotSolved
10.04.2018 14:39:00 Werner
NotSolved
12.04.2018 08:51:34 Gast75306
NotSolved
12.04.2018 12:33:29 Werner
NotSolved

Ansicht des Beitrags:
Von:
Gast20979
Datum:
10.04.2018 11:22:35
Views:
1092
Rating: Antwort:
  Ja
Thema:
Äußereren Loop einfügen

Hallo zusammen,

ich habe ein Makro, bei dem ich nun einen äußeren Loop einfügen will. Allerdings weiß ich nicht, wie ich das am effektivsten mache. Der innere Loop sieht wie folgt aus: ich habe in einem Ordner mehrere Excel-Dateien (über 100). Aus diesen Dateien möchte ich auf einem Arbeitsblatt Werte aus einer bestimmten Zeile rauskopieren und in eine "Zusammenfassung" packen. Dazu startet das Makro, indem es die erste Datei öffnet, die von mir in der Zusammenfassungs-Datei in Zelle B2 angegeben Zeile auswählt und die Daten kopiert. Diese werden dann in die Zusammenfassungs-Datei eingefügt, die Quelldatei geschlossen und dann wird die nächste Datei geöffnet. Dort wird dann wieder die gleiche Zeile ausgewählt, kopiert und unter die Werte aus der erten Quellddatei in der Zusammenfassung eingefügt.

Nun brauch ich das ganze aber variabler. Es sind immer genau 9010 Zeilen je Quelldokument und ich möchte die so in meiner Zusammenfassung zusammenführen, dass zum Beispiel Zeile 1 aus jeder Quelldatei auf Tabellenblatt 1 der Zusammenfassung untereinander steht, auf Tabellenblatt 2 dann die Zeile 2 aus jeder Quelldatei etc.

Ich müsste also in dem äußeren Loop sagen, dass er ein neues Tabellenblatt erstellt, dort in Zelle B2 den aktuellen auszulesenden Zeilenwert (bis max. 9010) schreibt, dann das innere Makro abläuft und dann wieder zum äußeren Makro springt.

Kann mir da jemand auf die Sprünge helfen? Das wäre super! :-)

 

Hier der Code für den inneren Loop:

    Dim datei As String
    Dim pfad As String
    Dim i As Integer 'Zählvariable für Zeilen in zusammenfassender Datei
   
   
    i = 1
    ' Quellordner wird festgelegt
    pfad = "C:\Users\"
    ' Dateien des Quellordners ermitteln
    datei = Dir(pfad)


    ' Schleife, um jede Datei auszulesen
    Do While datei <> ""
        
        ' Datei öffnen (Pfad wird aus den Variablen pfad und datei zusammengesetzt
        Workbooks.Open Filename:=pfad & datei
        
        ' Zählvariable für die Zeilen (je Datei eine neue Zeile)
        i = i + 1
        
        ' Cells wird wie folgt verwendet Cells(Zeilennummer, Spaltennummer)
        ' Wenn das Makro in der Zieldatei steht, kann die Datei ThisWorkbook genannt werden.
        ThisWorkbook.Sheets("Tabelle1").Cells(i + 6, 2) = ActiveSheet.Cells(j, 9)
        
        ThisWorkbook.Sheets("Tabelle1").Cells(i + 6, 3) = ActiveSheet.Cells(j, 10)
        
        ThisWorkbook.Sheets("Tabelle1").Cells(i + 6, 4) = ActiveSheet.Cells(j, 11)
        
        ' Datei schließen, ohne Änderungen zu speichern
        ActiveWorkbook.Close savechanges:=False
        
        ' neue Datei aus dem Ordner lesen
        datei = Dir()
        
    ' Ende der inneren Schleife
    Loop

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Äußereren Loop einfügen
10.04.2018 11:22:35 Gast20979
NotSolved
10.04.2018 14:39:00 Werner
NotSolved
12.04.2018 08:51:34 Gast75306
NotSolved
12.04.2018 12:33:29 Werner
NotSolved