Excel, VBA und Buttons zum aufrufen der Makros
Geizhals » Forum » Programmierung » Excel, VBA und Buttons zum aufrufen der Makros (2 Beiträge, 213 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
Excel, VBA und Buttons zum aufrufen der Makros
22.05.2012, 16:51:33
edit: gelöst mit kleinem umweg
da meine buttons .tag = "eindeutigername" haben, kann ich sie leicht finden und ändern, ein löschen und neu erstellen entfällt somit. bei jedem aktivieren der arbeitsmappe wird der verweis zum makro neu geschrieben und excel setzt die aktuelle arbeitsmappe ein:

Private Sub Workbook_Activate()
Application.CommandBars.FindControl(Tag:="eindeutigername").OnAction ="machwas"
end sub


-------------------

Problem:
Ich kämpf seit längerem mit einer eigenheit von Excel (2003). Sobald einer schaltfläche in einer symbolleiste ein makro zugeordnert wird, ist der pfad absolut gespeichert, beispiel:

a.xls enthält in modul1 die prozedur machwas()
in a.xls wird egal ob per vba oder "rechtsklick->anpassen->makro zuweisen" machwas() auf eine benutzerdefinierte schaltfläche gelegt.

b.xls enthält auch die prozedur machwas(), jedoch sind einzelne dinge unterschiedlich zu machwas() in a.xls.

auf der schaltfläche wird jedoch das makro so gespeichert:
a.xls!machwas
und bei aufruf aus b.xls öffnet sich natürlich a.xls und es rattert das falsche durch.

ich will nun ein einziges knopferl haben, welches mir machwas() aus der aktuell geöffneten arbeitsmappe öffnet. irgendwie in der art
[thisworkbook-modul1]!machwas


momentan lösch und schreib ich bei jedem blattwechsel automatisch die knöpfe neu, was jedoch in einem speziellen fall komplett schiefgeht, somit auch keine lösung und von elegant sowieso weit entfernt ist. personal.xls ist tabu, mehrere knöpfe für die selbe funktion ebenso. Würde mich über input freuen.

23.05.2012, 12:53 Uhr - Editiert von Thunder, alte Version: hier
Antworten PM Alle Chronologisch
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung