Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
288to292
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
288to292
288to292
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wechseln zu einer bestimmten Arbeitsmappe

Wechseln zu einer bestimmten Arbeitsmappe
03.08.2003 11:13:54
Andreas
Hallo Ihr Helferchen!
Wie kann ich per VBA zu einem bestimmten Workbook wechseln, ohne dabei den Dateinamen und die Dateiliste (geöffnete Dokumente aus dem Menü 'Fenster')zu verwenden? Hat doch irgendetwas mit Workbooks().Index zu tun, nicht wahr? Kann ich einen Index generieren, dem gerade aktiven Workbook einen Indexwert zuweisen und später aus einem anderen Dokument mittels dieses Wertes das Workbook gezielt aufrufen?
Bin sehr dankbar für Eure Unterstützung!
Gruß zum Sonntag!
Andreas

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wechseln zu einer bestimmten Arbeitsmappe
03.08.2003 11:32:26
Matthias G
Hallo Andreas,
weißt Du, in welcher Reihenfolge die Mappen geöffnet wurden?
IMHO bekommen die Mappen ihren Index in der Reihenfolge ihres Öffnens.
Wenn vorher schon Mappen unbekannter Anzahl offen sind, könnte man deren Anzahl beim Öffnen der ersten Mappe deines Projekts ermitteln (Workbooks.Count) und entsprechend berücksichtigen.
Der Aktivierungsbefehl würde dann lauten: Workbooks(i).Activate
Vielleicht waren einige Anregungen zur Lösung dabei, hofft:
Matthias

AW: Wechseln zu einer bestimmten Arbeitsmappe
03.08.2003 13:26:24
Andreas
Hallo Matthias!
Vielen Dank! Das war ein guter Tipp!
Bei öffnen eines neuen Dokuments lasse ich den Zähler mit "I=1" immer auf den Wert 1 setzen und hole per "If I=1 Then"-Abfrage das Dokument mit "Workbooks(1).Activate" in den Vordergrund. Somit kann ich gezielt bestimmen, welcher I-Wert für welches Dokument gelten soll, ohne mich nach dem Namen des Workbooks richten zu müssen.
Ob das die einfachste Lösung ist, weiß ich nicht - aber es funktioniert wunderbar.
Danke!!
Schönen Sonntag noch!
Andreas

Anzeige
AW: Wechseln zu einer ... funkt. doch nicht
03.08.2003 14:33:39
Andreas
Hallo Matthias!
Leider muss mich revidieren. Das mit dem I=1 funktioniert nicht. Kann auch gar nicht,
da jedem (neuen) Dokument, das diesen VBA Code enhält, der Wert 1 zugewiesen wird.
Hat man nun mehrere Dokumente geöffnet, kann Excel nicht mehr unterscheiden.
Wie wende ich die Funktionen Workbooks.Count und Workbooks().Activate bestenfalls an,
um eine eindeutige Selektierung zu erreichen, obgleich eine unbestimmte Anzahl von
Arbeitsmappen vor bzw. nach der bestimmten Mappe geöffnet ist (geht man hier wieder
nach der "Historie" aus dem Menü 'FENSTER'?
Viele Grüße.
Andreas

Anzeige
AW: Zusatz-Hinweis
03.08.2003 16:03:30
Andreas
Hallo Matthias nochmal!
Eine Frage von Dir blieb bisher unbeantwortet.
>> weißt Du, in welcher Reihenfolge die Mappen geöffnet wurden?
Nein. Das weiß ich leider nicht. Das Workbook wird von mehreren Benutzern aus einer
Vorlage erstellt. Die Benutzer arbeiten im Netzwerk u. können jeweils zusätzliche, mir
unbekannte Excel-Dokumente geöffnet haben, bevor bzw. nachdem Sie die Vorlage benutzen.
Daher kann hier m.E. nur nur ein eindeutiger Indexwert helfen.
Ich hoffe, das wird jetzt nicht zu konfus.
Viele Grüße
Andreas

AW: Zusatz-Hinweis
03.08.2003 19:10:54
Michael Schirow
Hi Andreas,
eindeutig ist nur der Workbook-Name. Ich würde das Problem mit 'ner globalen Variable lösen:
' Modul: DieseArbeitsmappe/ThisWorkbook
Option Explicit

Private Sub Workbook_Open()
MsgBox "Open"
strWbName = ActiveWorkbook.Name
End Sub

' Modul1
Option Explicit
Public strWbName As String
Sub show_wbName()
MsgBox "Name dieser Mappe: " & strWbName
End Sub

HTH, Michael

Anzeige
AW: Zusatz-Hinweis
03.08.2003 21:51:33
Matthias G
Hallo Andreas,
ich würde jetzt schon gerne wissen, warum Du die Verwendung des Workbook-Namens unbedingt vermeiden willst.
Vielleicht gibt's ja ne Lösung für Dein Problem, ohne diese Vorgabe zu benötigen. Wie auch schon Michael Schirnow meint: Eindeutig ist nur der Name.
Grüße,
Matthias

AW: Zusatz-Hinweis
04.08.2003 10:55:45
Andreas
Hallo Michael, hallo Matthias!
Michael, vielen Dank für deine Unterstützung. Leider popt bei Anwendung deines Code nur die Msg.Box "Open" auf. Eine weitere Msg.Box gibt es nicht, obwohl dies in Modul1 aufgerufen wird.
Matthias, hier die Antwort auf die Frage "Warum der Abstand vom Namen des Workbook?".
Die Workbooks werden aus Templates (xlt) generiert. Nehmen wir einmal an, das Template
hat die Bezeichnung "GeneralTmpl.xlt" und es wird zum ersten mal gestartet. Dabei
wird ein Workbook mit dem Namen "GeneralTmpl1" generiert. Jenachdem wie oft in einer
Excel-Sitzung das Template aufgerufen wird, erhöht sich der nummerische Zusatz hinter
dem Dateinamen um +1. In meinem Zusatz-Hinweis floss ein, dass auf dieses Template
mehrere Benutzer in einem Netzwerk darauf zugreifen. Da kann ich unmöglich wissen, wer
zu welcher Zeit wie oft das Template aufgerufen hat.
Da mir Michaels Lösung auch nicht weiterhalf, habe ich es nun ganz anders gemacht.
Ich lasse bei Aufruf des Templates alle Dokumente, außer das Template selbst, schließen
und bewirke somit, dass es sich beim generierten Dateinamen nur um GeneralTmpl & 1
handeln kann. Da das funktioniert, hat sich dieses Thema hier erledigt.
Dennoch konnte ich einiges dazulernen.
Danke an euch.
Viele Grüße
Andreas

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige