Auf Modul in 2. Datei verweisen
17.12.2006 12:08:27
Jens
ich möchte von einem bestehenden Kontextmenü in Datei1 auf ein Modul in Datei2 verweisen, so dass dieses in Datei1 ausgeführt wird.
Beim erstellen des Kontextmenüs habe ich dies schon hinbekommen, allerdings ist das dort ein Button, den ich über Excelfunktionen einfach das Makro (in Modul der Datei2) zuweisen kann. Im Prinzip soll es genauso für die einzelnen Befehle im Kontextmenü geschehen, eben dann über VB.
Hintergrund ist, dass mehrere Dateien auf das gleiche Makro zugreifen sollen, um im Updatefall nicht in jeder Datei die Module ausgetauscht werden muss.
Beispiel:
'Neues Menü erstellen in Datei1 (Ausschnitt)
Set NeuesMenü = .Controls.Add(msoControlButton)
With NeuesMenü
.Caption = "Tagschicht"
.OnAction = "Tagschicht"
End With
'Dies ist, was der Eintrag "Tagschicht" in Datei2 dann ausführt:
Sub Tagschicht()
FesteSchicht
'MsgBox "Spalte: " & WoTag & " Tagwert: " & Tage
With Range(ActiveCell, ActiveCell.Offset(0, Tage))
.FormulaR1C1 = "T"
.Interior.ColorIndex = 40
.Font.Bold = True
.HorizontalAlignment = xlCenter
End With
End Sub
Ich erinnere mich, beim VBA-Lehrgang noch ein anderen Weg für die "Updatefunktion" behandelt zu haben, bekomme das leider nicht mehr zusammen. Vielleicht kann man die .bas-Datei viel einfacher über einen Update-Button in der Tabelle importieren und das alte bestehende Modul löschen (?).
Grüße vom Jens