Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
312to316
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
312to316
312to316
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro in Schaltfäche ersetzen

Makro in Schaltfäche ersetzen
22.09.2003 13:16:07
Steffen
Hallo,

ich habe ein Problem bei dem ich Eure Hilfe brauche.

Und zwar habe ich einer Mappe viele Blätter mit noch mehr Schaltfächen.

Nun hat sich der name der Mappe geändert, wo der Code liegt.

Zum Beispiel

bisher

Steuerung.xls!abrg_waehlen

jetzt

abrg_start.xls!abrg_waehlen

wie kann ich den Teil des zugewiesenen Makros automatisch ändern, denn bei sovielen schaltflächen ist das manuell ne riesen arbeit?

Danke schonmal

Steffen

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

Betreff
Datum
Anwender
Anzeige
AW: Makro in Schaltfäche ersetzen
22.09.2003 13:31:43
xXx
Hallo,
etwa so:

Sub Name_neu()
for each sh in activeworkbook.sheets
for each b in sh.shapes
MName=b.onaction
MName=right(Mname,len(Mname)-13)
MName="abrg_start.xls" &MName
b.onaction=MName
next b
next sh
End Sub

13: Länge Steuerung.xls

Gruß aus'm Pott
Udo
Noch Fehler, bitte Hilfe
22.09.2003 14:03:54
Steffen
Danke für deine Antwort,

aber habe noch einen Fehler:

ungültiger Prozeduraufruf oder ungültiges Argument.

die alte bezeichnung (Steuerung.xls!abrg_waehlen) kann auch nach dem Steuerung.xls auch anders lautet von wo aus ersetzt der Code denn er muss wirklich bloß steuerung.xls in abrg_start.xls ersetzen.

Danke Dir nochmal

Steffen
Anzeige
AW: Noch Fehler, bitte Hilfe
22.09.2003 14:25:02
xXx
Hallo,
hast du noch andere Zeichnungselemente in deinen Sheets? Dann ist deren OnAction-Eigenschaft wahrscheinlich leer. Damit sollte der Fehler behoben sein:

Sub Name_neu()
for each sh in activeworkbook.sheets
for each b in sh.shapes
MName=b.onaction
If MName like "Steuerung.xls*" Then
MName=right(Mname,len(Mname)-13)
MName="abrg_start.xls" &MName
b.onaction=MName
end if
next b
next sh
End Sub

Gruß aus'm Pott
Udo
so ein mist...
22.09.2003 15:00:28
Steffen
ich muss Dich leider nochmal um Hilfe bitte, jetzt hängt die ganze Geschichte bei der Zeile

Set MName = b.OnAction (Anwendungs und Objektorientierter Fehler)

Ich habe übrigens Schaltflächen und Kontrollkästchen in meinem Sheet.

Danke Dir nochmal

Steffen
Anzeige
AW: so ein mist...
22.09.2003 17:56:23
xXx
Hallo,
bischen spät, ich war nicht online.
Ich habe nicht von 'Set' geschrieben. Mit Set werden Objekte definiert. MName ist ein Text. Nimm meinen Code und kopiere ihn in ein Modul. Falls du Option Explicit aktiviert hast, must du alle Var deklarieren oder Option Explicit llöschen.

Gruß aus'm Pott
Udo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige