Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

geöffnete Arbeitsmappe aktivieren, aber wie?

Forumthread: geöffnete Arbeitsmappe aktivieren, aber wie?

geöffnete Arbeitsmappe aktivieren, aber wie?
22.01.2013 13:04:36
Joern
Hallo ,
ich habe in einer Arbeitsmappe ein Makro welches nach Zeit diese Arbeitsmappe jeden morgen über Outlook verschickt. Leider passiert es, dass ich mehrere Arbeitsmappen geöffnet habe und grad zum Versendezeitpunkt dann die grad aktive Arbeitsmappe verschickt wird -.Attachments.Add ActiveWorkbook.FullName-.
Ich benötige also einen Befehl der entweder die Arbeitsmappe in der sich das MAkro befindet vor dem senden aktiviert oder aber das ich den Namen der zu versendenden Arbeitsmappe einsetzen kann. Kann mir da jemand mal auf die Sprünge helfen ?
Bitte nicht
.Attachments.Add ("T:\Abt_TFP\Muster.xlsm")
, da sich der Pfad oft ändert. Die Mappe ist immer geöffnet wenn Sie verschickt wird!

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: geöffnete Arbeitsmappe aktivieren, aber wie?
22.01.2013 13:49:39
Dirk
Hallo Joern
Da du die Datei nicht mit vollem Namen ansprechen kannst fällt mit auch spontan nur das aktivieren ein.
Das kannst du z.B. so machen
  Workbooks("Muster.xlsm").Activate

mit

Windows("mus..")...
müsste es auch funktionieren
Gruß
Dirk

Anzeige
AW: geöffnete Arbeitsmappe aktivieren, aber wie?
22.01.2013 13:52:28
Dirk
Ach wenn es nur ein paar Pfade gibt in der die Datei liegen könnte kannst du auch Abfragen, ob die Datei dort existiert und dann voll ansprechen.
Dann ist das selektieren der Datei hinfällig.
Gruß
Dirk

AW: geöffnete Arbeitsmappe aktivieren, aber wie?
22.01.2013 15:04:09
Joern
Danke, das ging leider nicht aber ich hab die Lösung!
Gruß Jörn

Anzeige
AW: geöffnete Arbeitsmappe aktivieren, aber wie?
22.01.2013 13:51:24
Rudi
Hallo,
.Attachments.Add ThisWorkbook.FullName
Gruß
Rudi

AW: geöffnete Arbeitsmappe aktivieren, aber wie?
22.01.2013 15:02:21
Joern
genial, und so einfach, man man, wo steht denn sowas ?
Vielen Dank, it works!
Gruß Jörn
Anzeige
Anzeige

Infobox / Tutorial

Arbeitsmappe aktivieren und versenden in Excel


Schritt-für-Schritt-Anleitung

Um die Arbeitsmappe, in der sich das Makro befindet, vor dem Versenden zu aktivieren, kannst Du den folgenden VBA-Code verwenden:

Workbooks("Muster.xlsm").Activate

Falls Du den Namen der Arbeitsmappe nicht genau kennst, kannst Du auch die folgende Methode verwenden, um das aktive Fenster zu aktivieren:

Windows("Muster.xlsm").Activate

Achte darauf, dass der Name der Arbeitsmappe in den Anführungszeichen genau mit dem Namen übereinstimmt, der in Excel angezeigt wird.


Häufige Fehler und Lösungen

  1. Fehler: "Arbeitsmappe nicht gefunden"

    • Lösung: Stelle sicher, dass die Arbeitsmappe tatsächlich geöffnet ist und der Name korrekt geschrieben wurde.
  2. Fehler: "Makro kann nicht ausgeführt werden"

    • Lösung: Überprüfe die Sicherheitseinstellungen für Makros in Excel. Aktiviere die Ausführung von Makros, wenn sie deaktiviert sind.
  3. Fehler: Falsche Arbeitsmappe wird versendet

    • Lösung: Verwende .ThisWorkbook.FullName, um sicherzustellen, dass die aktuelle Arbeitsmappe versendet wird, wie im Beispiel von Rudi.

Alternative Methoden

Wenn Du mit mehreren Arbeitsmappen arbeitest, kannst Du auch überprüfen, ob bestimmte Dateien vorhanden sind, bevor Du sie versendest. Hier ist ein Beispiel:

Dim wb As Workbook
For Each wb In Workbooks
    If wb.Name = "Muster.xlsm" Then
        wb.Activate
        Exit For
    End If
Next wb

Diese Methode ermöglicht es, die Arbeitsmappe zu aktivieren, ohne den genauen Pfad oder Namen im Voraus zu kennen.


Praktische Beispiele

Angenommen, Du hast ein Makro, das alle Morgen eine bestimmte Arbeitsmappe versendet. Hier ist ein vollständiges Beispiel:

Sub SendWorkbook()
    Dim wb As Workbook
    Set wb = Workbooks("Muster.xlsm")

    wb.Activate
    ' Jetzt kannst Du den Versand durchführen
    ' Beispiel:
    ' OutlookMail.Attachments.Add wb.FullName
End Sub

Dieses Makro aktiviert die Arbeitsmappe und bereitet sie für den Versand vor.


Tipps für Profis

  • Nutze Variablen für den Arbeitsmappennamen, um die Wartbarkeit Deines Codes zu erhöhen.
  • Implementiere Fehlerbehandlungsroutinen, um unerwartete Fehler beim Aktivieren oder Versenden der Arbeitsmappe zu vermeiden.
  • Verwende die ThisWorkbook-Referenz, wenn Du sicherstellen möchtest, dass die Arbeitsmappe, die das Makro enthält, immer aktiv ist.

FAQ: Häufige Fragen

1. Wie aktiviere ich eine Arbeitsmappe, wenn ich nur Teile des Namens kenne?
Du kannst eine Schleife über alle geöffneten Arbeitsmappen verwenden und den Namen teilweise abgleichen.

2. Was mache ich, wenn ich eine Fehlermeldung beim Aktivieren der Arbeitsmappe bekomme?
Überprüfe den Namen der Arbeitsmappe auf Rechtschreibfehler und stelle sicher, dass sie geöffnet ist.

3. Kann ich das Makro so programmieren, dass es automatisch die neueste Arbeitsmappe auswählt?
Ja, Du kannst den Dateipfad und den Namen in einer Variablen speichern und dann diese Variable verwenden, um die Arbeitsmappe zu aktivieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige