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

commandButton

commandButton
15.12.2007 10:40:00
Kurt
Hey Guten Morgen,
ich möchte gern ein CommandButton auf einem Tabellen anklicken und dann ein Makro auslösen.
Ohne das Command Button1 2 u.s.w festgelegt ist sondern immer das Active!
So: ? (geht nicht)
Dim cb As String
cb = ActiveSheet.CommandButton.Caption <<<<ActiveCommand ?
MsgBox cb
gr Kurt

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: commandButton
15.12.2007 13:06:00
Gerd
Hallo Kurt,
woraus hast sie eingefügt. Aus der Steuerelemente-Toolbox oder aus "Formular" ?
Gruß Gerd

AW: commandButton
15.12.2007 13:31:44
Kurt
Hey Gerd,
habe aus der "Steuerelemente-Toolbox" eingefügt.
gr Kurt

AW: commandButton
15.12.2007 13:43:07
Gerd
Hallo,
ob es ganz so losgelöst wie Du dir das vorstellst geht, weis ich nicht.

Private Sub CommandButton1_Click()
Call MyMakro
End Sub



Private Sub CommandButton2_Click()
Call MyMakro
End Sub


Sub MyMakro()
Dim sh As Shape
For Each sh In ActiveSheet.Shapes
If sh.TopLeftCell = ActiveCell Then MsgBox sh.Name
Next
End Sub


Gruß Gerd

Anzeige
Nicht ganz
15.12.2007 13:49:03
Kurt
Hey Gerd,
soweit werden die Button aufgelistet Button1 , 2 u.s.w. ich brauch aber das was auf dem BUtto steht, b. "Kurt" etc. um diesen Namen als variable zu erhalten.
gr Kurt

Habe das gefunden aber
15.12.2007 13:59:15
Kurt
Hey Gerd,
habe dies gefunden und mal die variable wk eingesetzt.
Nun soll aber nicht ein neues Button erstellt werden sondern nur der Name wiedergegebeb werden,
komme leider nicht weiter.

Sub Makro2()
ActiveSheet.Buttons.Add(163.5, 153.75, 110.25, 39.75).Select
Selection.Characters.Text = "Kurt"
Selection.OnAction = "Makro1"
Dim wk
wk = Selection.Characters.Text
MsgBox wk
'MsgBox Selection.Characters.Text
End Sub


gr kurt

Anzeige
Ich hab es !!!!!!!!! -)
15.12.2007 14:08:00
Kurt
Hey Gerd,
habe nochmals gestöbert und das Gefunden:
Dim bn As String
bn = ActiveSheet.Buttons(ActiveSheet.Buttons.Count).Characters.Text
MsgBox bn
das klappt Super,
Danke für Deine Unterstützung !
gr Kurt

Kommando zurück
15.12.2007 14:14:00
Kurt
Hey Gerd,
obwohl ich es einem anderen Butto zugewiesen habe, wird immer der Name vom vorherigen Button angezeigt.

Sub test()
Dim bn As String
bn = ActiveSheet.Buttons(ActiveSheet.Buttons.Count).Characters.Text
MsgBox bn
End Sub


gr Kurt

AW: Kommando zurück
15.12.2007 15:35:00
Gerd
Hey gefällt mir nicht.
Übergebe die Caption halt pro Button an eine zentrale Prozedur.
Dies ist doch nicht schlimm. :-)

Private Sub CommandButton1_Click()
Call MyMakro(CommandButton1.Caption)
End Sub



Private Sub CommandButton2_Click()
Call MyMakro(CommandButton2.Caption)
End Sub


Sub MyMakro(cmdbCaption As String)
MsgBox cmdbCaption
End Sub


Gruß Gerd

Anzeige
Nichts wird angezeigt
15.12.2007 16:25:00
Kurt
Hey Gerd,
habe so reingesetzt:

Private Sub CommandButton2_Click()
Call MyMakro(CommandButton2.Caption)
End Sub


Sub MyMakro(cmdbCaption As String)
MsgBox cmdbCaption
End Sub


Es wird in der MSGBOX nichts angezeigt.
Kann man das nicht doch mit einem Button, Schaltfläche durchführen ?
Dann hätte ich für alle Schaltflächen nur 1 Makro.
Also so:
Sub Test()
Dim bn As String
' bn = ActiveSheet.Buttons(ActiveSheet.Buttons.Count).Characters.Text
' bn = ActiveSheet.Buttons.Characters.Text
' bn = Selection.Characters.Text
(leider klappt das nicht so)
MsgBox bn
hier meine weiter Ausführung...
End Sub


gr Kurt

Anzeige
AW: Nichts wird angezeigt
15.12.2007 16:42:00
Gerd
Hi,
Du hast jetzt nicht auf den CommanButton1 gedrückt? - und dort die Call-Anweisung weggelassen ?
Bei mir funktionierts.
P.S.:
Über die Count-Eigenschaft bekommst Du stehts den letzten der Auflsitung angezeigt.
Gruß Gerd

Ich hatte den Fehler aber
15.12.2007 17:23:58
Kurt
Hey Gerd,
Sorry war mein Fehler, ich hatte die Makros nicht im Tabellenblatt kopiert, jetzt klappt es.
Allerdings hat es einen Nachteil, ich habe 20 Commanbutton Makros.
Deshalb wollte ich es mit Schaltflächen durchführen und dann direkt das Makro ansteuern.
Vielleicht hast Du eine Idee ?
gr Kurt

Gerd Bitte Schau mal
15.12.2007 17:38:26
Kurt
Hey Gerd,
bitte schau mal,

Sub test()
Dim bn As String
bn = ActiveSheet.Buttons(ActiveSheet.Buttons.Count).Characters.Text
MsgBox bn
End Sub


habe festgestellt es wird immer das letzte Button (Schaltfläche ) angezeigt.
Vielleicht hast Du eine Idee wie man das: Count durch aktuelle etc. ersetzt ?
Mit Activate klappt es nicht.
gr Kurt

Anzeige
AW: Gerd Bitte Schau mal
15.12.2007 17:50:00
K.Rola
Hallo,
wenn du Schaltflächen aus "Formular" verwenden willst, dann z.B. so:

Sub machs()
Dim txt As String
txt = Me.Shapes(Application.Caller).TextFrame.Characters.Caption
MsgBox txt
End Sub


Der Code muss ins Modul der relevanten Tabelle.
Gruß K.Rola

Genau das !!! DANKE Euch BEIDE -)
15.12.2007 17:54:00
Kurt
Hallo K.Rolla,
habe ersetzt: ActiveSheet anstelle von me, läuft, habe diese Makro verschiedenen Button
zugewiesen jedesmal wird der Name angezeigt !
DANKE
gr Kurt

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige