Makroschaltfläche auf allen Blättern



Excel-Version: 10.0 (Office XP)
nach unten

Betrifft: Makroschaltfläche auf allen Blättern
von: Thomas Stache
Geschrieben am: 21.05.2002 - 11:34:03

Hallo,
ist es in Excel möglich, ein Steuerelement auf allen Blättern der Arbeitsmappe anzuzeigen, oder vielleicht eine dokumentspezifische Symbolleiste zum Aufruf meiner Makros zu nutzen?

Ich habe bisher eine benutzerdefinierte Symbolleiste benutzt, nur wird diese ja immer angezeigt, und nicht nur, wenn die entsprechende Arbeitsmappe geöffnet ist.

Thomas


nach oben   nach unten

Re: Makroschaltfläche auf allen Blättern
von: Monika Weber
Geschrieben am: 21.05.2002 - 11:47:54

Hallo Thomas

Du könntest der Mappe eine Ereignisprozedur hinterlegen.
Schreibe in der VBA-Umgebung direkt hinter "DieseArbeitsmappe" folgenden Code:


Private Sub Workbook_Activate()
Application.CommandBars("Mein Menü").Visible = True
End Sub

Private Sub Workbook_Deactivate()
Application.CommandBars("Mein Menü").Visible = False
End Sub

An Stelle von "Mein Menü" gibst du den Namen deiner Symbolleiste ein.
Die Symbolleiste wird dann nur angezeigt, wenn diese Mappe offen ist. Wenn du in eine andere wechselst, dann wird die Symbolleiste ausgeblendet.

Ich hoffe, dass dir das weiterhilft.
Es liebs Grüessli
Monika


www.jumper.ch
*** Generell: Bitte kein Crossposting ***


nach oben   nach unten

Re: Makroschaltfläche auf allen Blättern
von: ThomasW
Geschrieben am: 21.05.2002 - 11:49:18

Hallo Thomas,

also mit dem Steuerelement auf allen Blättern kann ich dir leider nicht weiterhelfen, doch du kannst ja auch einen Symbolleiste via VAB generieren und diese dann in das "Workbook.Open2 Event reinpacken. Dann machst du noch ein Makro, das die Symbolleiste wieder zerstört, wenn das Workbook wieder geschlossen wird (Workbook.BeforeClose).

Ich hoffe dir damit geholfen zu haben.

Gruß thomas

PS: hier die Funktion, mit der du die Symbolleiste definierst:

Application.CommandBars.Add "NAME" 'hier fügst du eine neu Symbolleiste hinzu

with Application.CommandBars("NAME").Controls.Add(Type:=msoControlButton)
.Caption = "irgendwas"
.OnAcion = "was soll er machen"
.Style = "nur Text oder auch Bildchen auf dem Button"
.FaceId = "Falls du eine Ikone verwenden willst"
.Visible = "True bzw. False"

'das ist die Funktion, mit der du einen neuen Button hinzufügen kannst.

Application.CommandBars("NAME").Delete 'hiermit wird die Symbolleiste wieder gelöscht.

Viel Erfolg

nach oben   nach unten

Re: Makroschaltfläche auf allen Blättern
von: Thomas Stache
Geschrieben am: 21.05.2002 - 12:31:01

Danke ThomasW, so habe ich es hinbekommen! Somit ist die Symbolleiste auch auf jedem Rechner da, ohne dass ich sie immer manuell einfügen müsste.

Monika, deinen Tipp habe ich auch gesehen, auch schon weiter unten im Forum :-)

Mit den Ereignissen hatte ich bisher noch nie was zu tun, musste auch erst ausknobeln, wo eure Codeschnipsel hinmüssen. Bei "DieseArbeitsmappe" passte es.

LG Thomas(S)

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "öffnen einer CSV-Datei mittels VBA"