Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
796to800
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
796to800
796to800
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sub funktioniert bei Workbook_Open nicht

Sub funktioniert bei Workbook_Open nicht
31.08.2006 08:37:58
alemyson
Hallo zusammen,
dieses Forum ist meine letzte Rettung - ich habe nach etlichen Stunden aufgegeben.
Mein Problem: Ich möchte bei Start einer Arbeitsmappe eine zusätzliche Symbolleiste einfügen, aus der heraus die Anwender diverse Makros starten können. Bei Deaktivieren der Datei soll diese Leiste wieder ausgeblendet, bei Schließen der Datei gelöscht werden.
Den Code, den ich zum Erstellen der Symbolleiste geschrieben habe, funktioniert in "Modul1" einwandfrei. Nur im Bereich "DieseArbeitsmappe" in der Sub "Workbook_Open" funktioniert er nicht. Weder beim Öffnen der Datei noch wenn ich ihn bei geöffneter Datei so starte.
Ich kann mir das mit meinen eingeschränkten VBA-Kenntnissen nur so erklären, dass dem Programm an der Stelle "DieseArbeitsmappe" einige "Grundkenntnisse" über Variablen, Objekte oder so fehlen, die es in einem Modul hat - aber das ist nur meine laienhafte Vermutung. Ihr seht wohl bereits an meiner Ausdrucksweise, dass ich ein extrem blutiger Anfänger und Gelegenheitsprogrammierer bin...
Hier der Code, um den es geht:

Private Sub Workbook_Activate()
On Error Resume Next
Application.CommandBars("Auswahl- und Druckfunktionen").Delete
Dim SB As CommandBar
On Error Resume Next
Set SB = CommandBars.Add("Auswahl- und Druckfunktionen")
With SB
.Visible = True
.Top = 300
.Left = 60
End With
Set Befehl = SB.Controls.Add(Type:=msoControlButton, ID:=2521)
With Befehl
.Style = msoButtonIconAndCaptionBelow
.Caption = "Markierte Zeile drucken"
.OnAction = "Aktuelle_Zeile_drucken"
End With
End Sub

Die ersten beiden Zeilen dienen nur dazu die Symbolleiste zu schließen, falls diese noch da sein sollte.
Wie gesagt, beim Öffnen der Datei tut sich gar nichts. Beim Starten nach dem Öffnen ebenso. Nehme ich das zweite "On Error Resume Next" raus, kommt die "Fehlermeldung '91'Objektvariable oder With-Blockvariable nicht festgelegt".
Warum? Bitte helft mir!!!
Gruß
Dirk

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sub funktioniert bei Workbook_Open nicht
31.08.2006 08:48:09
stefanseevetal
Moin Dirk,
ich kenn mich leider auch nicht so gut aus und lasse den Thread deshalb auch weiter offen, aber ich hatte ein ähnliches Problem mit Workbook_Open auch und habe es gelöst, indem ich den Code einfach in ein Modul kopiert habe ("Option Explicit" zu beginn des Moduls nicht vergessen) und die Sub dann einfach bei Workbook_Open aufgerufen (Call "Deine Sub"). Wichtig ist außerdem, dass Du die Sub nicht private deklarierst.
Gruß,
Stefan
AW: Sub funktioniert bei Workbook_Open nicht
31.08.2006 09:44:45
Ramses
Hallo
Es hat schonen seinen Grund
"... kommt die Fehlermeldung '91'Objektvariable oder With-Blockvariable nicht festgelegt...."
Set Befehl = SB.Controls.Add(Type:=msoControlButton, ID:=2521)
Wo ist das denn deklariert ?
Gruss Rainer
Anzeige
AW: Sub funktioniert bei Workbook_Open nicht
31.08.2006 09:57:40
alemyson
Hallo Rainer,
ja, das war mir nach dem Einfügen von Option Explicit im Modul auch aufgefallen und ich hab's korrigiert. Jetzt kommt auch die Fehlermeldung nicht mehr, trotzdem tut sich nichts beim Öffnen der Datei und auch nicht beim Starten aus "DieseArbeitsmappe" heraus. Nur mit dem "Call" (siehe Stefan's Tipp) der Sub (aus dem Modul heraus) läuft es problemlos.
Trotzdem danke und Gruß
Dirk
AW: Sub funktioniert bei Workbook_Open nicht
31.08.2006 09:50:47
alemyson
Hallo Stefan,
danke für den Tipp: es hat funktioniert!!! Jetzt würde mich trotzdem noch interessieren, warum es nicht auf dem "offiziellen" Weg geht...
Gruß und Danke nochmal
Dirk
Anzeige
AW: Sub funktioniert bei Workbook_Open nicht
31.08.2006 10:15:38
c0bRa
hio :)
so funzts bei mir :)
Objekt DieseArbeitsmappe:
Option Explicit
Private Sub Workbook_Activate()
    Dim SB As CommandBar
    Dim Befehl As CommandBarButton
    On Error Resume Next
    Application.CommandBars("Auswahl- und Druckfunktionen").Delete
    On Error GoTo 0
    Set SB = Application.CommandBars.Add("Auswahl- und Druckfunktionen")
    With SB
        .Visible = True
        .Top = 300
        .Left = 60
    End With
    Set Befehl = SB.Controls.Add(Type:=msoControlButton, ID:=2521)
    With Befehl
        .Style = msoButtonIconAndCaptionBelow
        .Caption = "Markierte Zeile drucken"
        .OnAction = "Aktuelle_Zeile_drucken"
    End With
End Sub
Da hat ein Application. gefehlt.
Rückmeldung nicht vergessen...
c0bRa
I hacked 127.0.0.1
Anzeige
AW: Sub funktioniert bei Workbook_Open nicht
31.08.2006 10:21:08
alemyson
Hey c0bRa,
ja, so funktioniert's tatsächlich. Wie einfach es doch zu sein scheint, wenn man's kann ;-)
Gruß und danke nochmal
Dirk

262 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige