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

klassenmodul??

Forumthread: klassenmodul?

klassenmodul?
23.08.2004 14:19:24
Andy
Hallo! Ich habe probleme beim Einfügen des unten stehenden Codes. Ich weiß dass dieser Code richtig ist und irgendwie in ein Klassenmodul muss. Hab auch dort reinkopiert.. wenn ich aber die einzelschritte testen will beept es nur. teste ich "

Private Sub Workbook_Open()" in einem Modul funtioniert es. Muss ich auch den Code des/ der Makros in das Klassenmodul kopiere, auf welches der Button verweist? Der Code soll bezwecken, dass beim Laden des Addins ein Button in der StandardSymbolleiste erscheint.
Damit soll das eigentliche Makro gestartet werden. Beim Schließen der Mappe/ bzw. deaktivieren des Addins soll der Button verschwinden. Danke an die Helfer und nochmals an Hans W. Herber.
ClassModule: DieseArbeitsmappe

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.CommandBars("Standard") _
.Controls("LDiagramm").Delete
On Error GoTo 0
End Sub


Private Sub Workbook_Open()
Dim oBar As CommandBar
Dim oBtn As CommandBarButton
Set oBar = Application.CommandBars("Standard")
On Error Resume Next
oBar.Controls("LDiagramm").Delete
On Error GoTo 0
Set oBtn = oBar.Controls.Add
With oBtn
.Caption = "LDiagramm"
.Style = msoButtonIcon
.FaceId = 361
.OnAction = "Gesamt"
End With
End Sub

StandardModule: Modul
Gruß
Andy
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: klassenmodul?
Ulf
In ein Standardmodul:

Sub Gesamt()
'dein Code....
End Sub

Ulf
AW: klassenmodul?
23.08.2004 14:30:34
Andy
muss dann die zeile classmodule: dieseArbeitsmappe auch im Klassenmodul stehen?
wenn das Makro "Gesamt" im Modul1 steht, muss es dann heißen: .OnAction="Modul1, Gesamt" oder einfach so, wie es schon dort steht?
Gruß
Andy
Anzeige
AW: klassenmodul?
Ulf
Sowas läßt sich durch ausprobieren leicht selbst herausfinden.
.OnAction= "Gesamt"
Ulf
AW: klassenmodul?
23.08.2004 14:40:05
Klaus
Hallo Andy,
unter VBA oben links im Projektfenster "DieseArbeitsmappe" doppelklicken und dann folgenden Code ins rechte Codefenster (ohne "ClassModule: DieseArbeitsmappe" . Das besagt nur , das der Code eben in "DieseArbeitsmappe" soll!):

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.CommandBars("Standard") _
.Controls("LDiagramm").Delete
On Error GoTo 0
End Sub

Private Sub Workbook_Open()
Dim oBar As CommandBar
Dim oBtn As CommandBarButton
Set oBar = Application.CommandBars("Standard")
On Error Resume Next
oBar.Controls("LDiagramm").Delete
On Error GoTo 0
Set oBtn = oBar.Controls.Add
With oBtn
.Caption = "LDiagramm"
.Style = msoButtonIcon
.FaceId = 361
.OnAction = "Gesamt"
End With
End Sub

Unter .OnAction = "Gesamt" wird dein normales Modul aufgerufen, welches dann
Sub Gesamt()
...
End Sub
heißen muss. Dieser Code soll aber in ein normales Modul !!!
Gruß Klaus
Anzeige
AW: klassenmodul?
23.08.2004 14:48:54
Andy
Hallo Klaus!
Vielen Vielen Dank für diesen Tipp!! Es funtioniert. Super!
Gruß
Andy
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige