Ich versuche, meinen Code zu bauen, die einen Sub mit einem String auf Antworten auf diese Frage basiert ruft Trying to call a Sub with a String - VBA von Application.Run
oder CallByName
verwenden, aber ich bin immer:Rufen Sie einen Sub mit einem String - VBA
Laufzeitfehler ‚1004‘: Anwendungs definiert oder Objekt definierte Fehler
, wenn ich versuche Application.Run
und
Laufzeitfehler '438': Objekt diese Eigenschaft oder diese Methode nicht supprot
wenn ich CallByName versuchen.
Aufruf auch als Subs bezeichnet sind im selben Blatt Sheets("Rozpad_hodnocení")
.
Ich versuche, alle Optionsfelder mit der Indexnummer im Namen auf diesem Blatt zu durchlaufen, um Obuttons mit "ne" im Namen zu finden, der funktioniert. Mit diesem gefundenen Index möchte ich ein Sub mit der gleichen Indexnummer und "ne" im Namen aufrufen. Genannt Subs sind wie folgt aus:
OB9Ne_Click()
OB10Ne_Click()
OB11Ne_Click()
Ich kann nicht meinen Code bewegen oder Modul
Hier Probe eines Codes zu bilden:
Sub adsf()
Dim s As Shape
Dim Pro As String
For Each s In Sheets("Rozpad_hodnocení").Shapes
If s.Type = 12 And s.Name Like "*Ne" Then
Pro = s.Name + "_Click()"
Application.Run Pro
'CallByName List3, Pro, VbMethod
'CallByName Sheets("Rozpad_hodnocení"), Pro, VbMethod
End If
Next
End Sub
Vielleicht ist die Antwort allready in vorherigen Frage , aber ich habe es nicht geschafft meinen Code daran anzupassen.
Ist 'OB9Ne_Click()' public? – SWa
Wenn es sich um ein Blattmodul handelt, müssen Sie 'CallByName' verwenden, indem Sie die Klammern aus der' Pro'-Variable entfernen. –