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

Forumthread: Workbook aktivieren

Workbook aktivieren
Georg
Hallo,
ich habe 1 Makro geschrieben
Ich kriege 1 neues Workbook, gebe 1 name and now möchte ich die tabelle 2 von dieser neuen mappe benutzen. Ich versuche die neue mappe zu aktivieren und dann die tabelle 2. Die tab2 von einer anderen mappe wird nur aktiv sein. Wie kann ich das lösen
Workbooks.Add
ActiveWorkbook.SaveAs Filename:="\" + Name + ".xlsm", FileFormat:=52, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
Workbooks(Name & ".xlsm").Activate
Tabelle2.Activate
Cells(1, 1) = "Comment"
Cells(1, 2) = "1"
Cells(1, 3) = "2"
...................
Gruß
Georg
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Workbook aktivieren
29.03.2011 11:36:35
Tino
Hallo,
schwer zu lesen Dein Beitrag.
So könnte es gehen.
Dim oWB As Workbook
Set oWB = Workbooks.Add(2) 'neue Mappe mit zwei Tabellen
ActiveWorkbook.SaveAs Filename:="\" + Name + ".xlsm", FileFormat:=52
oWB.Activate 'normal ist diese aktiv
oWB.Sheets(2).Activate '2. Tabelle aktivieren
Gruß Tino
Anzeige
Klappt auch nicht
29.03.2011 12:04:49
Georg
Kriege 1 fehler hier
ActiveWorkbook.SaveAs Filename:="\" + Name + ".xlsm", FileFormat:=52
AW: Workbook aktivieren
29.03.2011 11:37:30
Björn
Hallo,
setze 2 Variablen, einmal für dein "altes" Workbook und einmal für das "neue".
Also so:
wbOld = activeworkbook
workbooks.add
wbNew = activeworkbook
Danach kannst du dann mit wbNew.Sheets("Tabelle2").Activate die Tabelle der neuen Mappe ansprechen.
Gruß
Björn B.
Anzeige
klappt
29.03.2011 11:57:39
Georg
Ich setze 2 Variablen
Dim wbold, wbnew As Workbook
und wenn ich schreibe
wbold = ActiveWorkbook
ich kriege 1 Fehler
AW: klappt
29.03.2011 12:04:26
Björn
Sorry, war zu schnell.
Die Variablen als String definieren.
wbOld = ActiveWorkbook.Name
usw.
Ansprechen dann über
Workbooks(wbOld).Worksheets(Tabelle2).activate
Gruß
Björn B.
Anzeige
AW: klappt noch nicht
29.03.2011 12:14:29
Georg
wenn ich das schreibe
Workbooks(wbOld).Worksheets(Tabelle2).activate
kriee ich 1 Fehlermeldung : Type unerträglich
Guß Georg
AW: klappt noch nicht
29.03.2011 12:20:11
Georg
wenn ich das schreibe
Workbooks(wbOld).Worksheets(Tabelle2).activate
kriee ich 1 Fehlermeldung : Type unverträglich
Guß Georg
AW: klappt now
29.03.2011 12:27:27
Georg
ich habe das so geschrieben
Workbooks(wbnew).Worksheets("Tabelle2").Activate
und klappt danke
Gruß
georg
Anzeige
nur so ein gedanke…
29.03.2011 12:35:21
Tino
Hallo,
was ist wenn die Optionen in Excel für eine neue Datei nur eine Tabelle vorsehen?
Oder wenn anstatt die Tabellen
Tabelle1, Tabelle2 usw… mit Sheet1, Sheet2 usw… benannt werden?
Gruß Tino
Da hast du recht...
29.03.2011 13:18:05
Björn
Hallo,
am besten die 2. Tabelle gleicht irgendwie umbenennen mit
Workbooks(wbNew).Sheets(2).Name = "Der neue Name der Tab 2"
Dann ist man auf der sicheren Seite und kann die Tabelle immer mit dem selbst gewählten Namen ansprechen.
Ist immer schwierig, wenn man den Fragesteller nicht einschätzen kann. Ich dachte, es ist nur ein allgemeines Referenzierungsproblem, aber die Frage mit Tabelle2 und "Tabelle2" zeigt mir, dass ich doch anders ansetzen müssen hätte.
Aber egal, Problem ist gelöst-.
Gruß
Björn B.
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Workbook aktivieren in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Neue Arbeitsmappe erstellen: Um eine neue Arbeitsmappe zu erstellen, verwendest du den Befehl Workbooks.Add. Damit wird eine neue Arbeitsmappe geöffnet und aktiviert.

    Dim oWB As Workbook
    Set oWB = Workbooks.Add(2) ' neue Mappe mit zwei Tabellen
  2. Arbeitsmappe speichern: Nachdem du die neue Arbeitsmappe erstellt hast, kannst du sie speichern:

    oWB.SaveAs Filename:="C:\DeinPfad\" + Name + ".xlsm", FileFormat:=52
  3. Arbeitsmappe aktivieren: Um die neue Arbeitsmappe zu aktivieren, kannst du den Befehl Activate verwenden:

    oWB.Activate
  4. Tabelle aktivieren: Um die zweite Tabelle der Arbeitsmappe zu aktivieren, nutze den folgenden Befehl:

    oWB.Sheets(2).Activate

Häufige Fehler und Lösungen

  • Fehler beim Speichern: Wenn du beim Speichern der Arbeitsmappe einen Fehler erhältst, überprüfe den Dateipfad und stelle sicher, dass der Name korrekt ist.

  • Type unverträglich: Achte darauf, dass du die richtigen Datentypen verwendest. Beispielsweise solltest du beim Setzen von Variablen für Arbeitsmappen Dim wbold As Workbook und Dim wbnew As Workbook verwenden.

  • Aktivieren von Tabellen: Wenn du beim Aktivieren einer Tabelle die Fehlermeldung "Type unverträglich" erhältst, stelle sicher, dass du den Tabellennamen in Anführungszeichen setzt:

    Workbooks(wbNew).Worksheets("Tabelle2").Activate

Alternative Methoden

  • Direktes Aktivieren: Anstelle von oWB.Activate, kannst du auch direkt ActiveWorkbook.Activate verwenden, wenn du sicher bist, dass die neue Arbeitsmappe die aktive ist.

  • Festlegen von Variablen: Um die Übersichtlichkeit zu erhöhen, kannst du Variablen für dein "altes" und "neues" Workbook setzen:

    Dim wbOld As Workbook
    Dim wbNew As Workbook
    Set wbOld = ActiveWorkbook
    Set wbNew = Workbooks.Add

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die oben genannten Schritte umsetzen kannst:

Sub BeispielWorkbookAktivieren()
    Dim oWB As Workbook
    Set oWB = Workbooks.Add(2) ' neue Mappe mit zwei Tabellen
    oWB.SaveAs Filename:="C:\DeinPfad\NeuesWorkbook.xlsm", FileFormat:=52
    oWB.Activate
    oWB.Sheets(2).Activate
    Cells(1, 1) = "Test"
End Sub

In diesem Beispiel wird eine neue Arbeitsmappe erstellt, gespeichert und die zweite Tabelle aktiviert.


Tipps für Profis

  • Verwendung von With-Anweisungen: Wenn du mehrere Aktionen auf derselben Arbeitsmappe oder Tabelle ausführen möchtest, nutze With für mehr Effizienz:

    With oWB.Sheets(2)
       .Cells(1, 1) = "Kommentar"
       .Cells(1, 2) = "1"
       .Cells(1, 3) = "2"
    End With
  • Fehlerbehandlung: Füge Error-Handling ein, um unerwartete Fehler zu beheben:

    On Error Resume Next
    ' dein Code hier
    On Error GoTo 0

FAQ: Häufige Fragen

1. Wie aktiviere ich eine bestimmte Arbeitsmappe in VBA?
Du kannst eine Arbeitsmappe aktivieren, indem du den Namen der Arbeitsmappe in Workbooks(Name).Activate verwendest.

2. Was mache ich, wenn ich eine Fehlermeldung beim Aktivieren einer Tabelle erhalte?
Stelle sicher, dass der Tabellennamen korrekt ist und dass du ihn in Anführungszeichen verwendest: Worksheets("Tabelle2").Activate.

3. Wie kann ich eine neue Arbeitsmappe ohne Dialogfeld speichern?
Verwende oWB.SaveAs, um direkt zu speichern, ohne das Dialogfeld anzuzeigen. Stelle sicher, dass der Dateipfad korrekt ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige