Thema Datum  Von Nutzer Rating
Antwort
Rot Makro aktualisiert nicht die Anzahl der geöffneten Dokumente
07.12.2013 14:49:24 Slango
NotSolved

Ansicht des Beitrags:
Von:
Slango
Datum:
07.12.2013 14:49:24
Views:
1286
Rating: Antwort:
  Ja
Thema:
Makro aktualisiert nicht die Anzahl der geöffneten Dokumente

Hallo,

Der Code

Code:
Dim XLSB As Excel.Workbook
Dim ActiveXLS As Variant

For Each XLSB In Application.Workbooks
        If XLSB.Name Like "*Name_Spezial*" Then
            ActiveXLS = XLSB.Name
            Exit For
        End If
Next XLSB

Windows(ActiveXLSB).Activate



bewirkt, dass das Makro alle geöffneten Excel-Dateien analysiert, bis eine Datei gefunden wurde, die im Dateinamen die Zeichenfolge "Name_Spezial" enthält. Die Variable übernimmt dann den kompletten Dateinamen. Das Fenster wird danach aufgerufen - Soweit so gut!

Folgendes Problem: Bei der ersten Aktivierung des Makros habe ich drei Dateien in beliebiger Reihenfolge geöffnet. Das Makro arbeitet einwandfrei. Beim nächsten Lauf habe ich es mit 5 Dateien probiert (die gesuchte Datei steht an letzter Stelle) -> Das Makro funktioniert nicht. Wenn ich jedoch die Makro-Arbeitsmappe schließe, danach neustarte, wiederum 5 Dateien öffne und dann zum ersten mal das Makro starte klappt es wieder.

Nun habe ich mir das Ganze mal im Debugger Schritt für Schritt angeschaut (Haltepunkt bei "For each XLSB In Application.Workbooks").
Ergebnis war, dass das Makro tatsächlich die Schleife nicht so oft durchlaufen hat, wie es die Anzahl der geöffneten Arbeitsmappen eigentlich suggeriert, sobald man das Makro nochmal startet. Die Anwendung prüft maximal nur die Anzahl von Arbeitsmappen, die beim ersten Makro-Durchlauf geöffnet war.


Interessant war auch Folgendes: Ich habe das Makro geöffnet und gestartet - es war keine weitere Mappe parallel geöffnet. Das Makro hat die Schleife vorschriftsgemäß einmal ausgeführt. Danach öffnete ich eine neue Arbeitsmappe. Die Arbeitsmappe habe ich "Name_Spezial333" genannt und gespeichert. Bei Makro-Aktivierung wurde bei der For-each-Schleife nur die Makro-Datei an sich betrachtet. Also wieder nur ein Schleifenlauf. Wenn man jedoch die neuerstellte und gespeicherte Arbeitsmappe geschlossen hat, dann neu geöffnet und schließlich das Makro aktiviert hat, wurde die For-each-Schleife vorschriftsmäßig zwei mal ausgeführt, unabhängig wie oft das Makro davor schon aktiviert wurde. Es ist zum Haare rausreißen!

Hilfe! :(


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 Makro aktualisiert nicht die Anzahl der geöffneten Dokumente
07.12.2013 14:49:24 Slango
NotSolved