Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
"ThisCommandButton.Name" möglich???
zurück: Wie erstelle ich in excel eine Funktion Wenn,Dann, Oder, Und weiter: Select Case funktioniert nicht Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Offen Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Michiael
Excel-Kenner (VBA-Neuling)


Verfasst am:
12. Sep 2012, 00:00
Rufname:

"ThisCommandButton.Name" möglich??? - "ThisCommandButton.Name" möglich???

Nach oben
       Version: Office 2010

Hallo zusammen,

ich frage mich, gibts es eine Möglichkeit herauszufinden, wie der CommandButton (ActiveX-Steuerelement) heißt, auf den man gerade geklickt hat? Damit meine ich jetzt nicht über das Eigenschaften-Fenster nachgucken, sondern ob der Code, der durch den Klick auf CommandButton1 ausgeführt wird, herausfinden kann, dass es sich um CommandButton1 handelt, der da gerade geklickt wurde. Vielleicht etwas kompliziert ausgedrückt... aber im Prinzip suche ich soetwas in der Art:

Code:
MsgBox ThisCommandButton.Name

oder:
Code:
MsgBox ThisCommandButton.Caption


"Sinn" (oder Unsinn?) der Sache wäre, dass ich per Klick auf den Button genau den geklickten Button formatieren möchte. Nur handelt es sich um ne Menge Buttons, und ich will eigentlich nicht den Code jedes Buttons anpassen müssen...

Ich habe schon was gegoogelt und weiß, dass man offensichtlich nicht den Namen des gerade laufenden Subs in Erfahrung bringen kann... Trifft dies denn dann auch zwangsläufig für gedrückte Buttons zu?

Ich hoffe, es kann mir jemand helfen!

Viele Grüße,
Michael
Phelan XLPH
Fortgeschritten


Verfasst am:
12. Sep 2012, 06:49
Rufname: Phelan


AW: "ThisCommandButton.Name" möglich??? - AW: "ThisCommandButton.Name" möglich???

Nach oben
       Version: Office 2010

Hallo,

für dich wäre interessant...

-das Tabelleblatt "CommandButton"
-das dazugehörige KlassenModul "clsCommandButtonEvent"
-sowie das StandardModul "basCMD"
-und der Aufruf "Call CommandButtonEreignisseSetzen" in "DieseArbeitsmappe"



Event Klasse 2.xls
 Beschreibung:

Download
 Dateiname:  Event Klasse 2.xls
 Dateigröße:  83.5 KB
 Heruntergeladen:  17 mal

slowboarder
Im Profil kannst Du frei den Rang ändern


Verfasst am:
12. Sep 2012, 09:09
Rufname:

AW: "ThisCommandButton.Name" möglich??? - AW: "ThisCommandButton.Name" möglich???

Nach oben
       Version: Office 2010

Hi
alternativ kannst du anstelle der ActiveX-Buttons auch Grafik-Formen verwenden.
Diesen kannst du ein Makro aus einem allgemeinen Modul zuweisen (Kontextmenü), welches dann bei Klick ausgeführt wird.
In diesem Makro kannst du über die Funktion Application.Caller rausfinden, welches Grafikelement es ausgelöst hat und dieses Bearbeiten.

Gruss Daniel
Gast



Verfasst am:
12. Sep 2012, 19:26
Rufname:

AW: "ThisCommandButton.Name" möglich??? - AW: "ThisCommandButton.Name" möglich???

Nach oben
       Version: Office 2010

Hallo Phelan, hallo Daniel,

"Application.Caller" funktioniert genauso, wie ich mir das gedacht habe. Allerdings nützt es mir leider nichts, denn mein Ziel ist es, beim Formatieren des CommandButtons auch eine Grafik festzulegen - also als .Picture-Eigenschaft (oder -Methode oder wie auch immer oO).

Ich verstehe leider nicht wirklich viel von der Datei, die Phelan gepostet hat. Ich habe bisher immer nur einfache "Subs" geschrieben, also quasi genau soetwas, was der Makrorekorder macht (etwas schöner natürlich schon... Smile ). Aber von Dingen wie "Option Explicit", "Private/ Public", "Byval" und was sonst noch so alles im Titel einer Prozedur stehen kann, verstehe ich nichts - was aber nicht heißt, dass ich es nicht wissen will Smile
Zitat:
-das dazugehörige KlassenModul "clsCommandButtonEvent"
-sowie das StandardModul "basCMD"
-und der Aufruf "Call CommandButtonEreignisseSetzen" in "DieseArbeitsmappe"

Mit diesen Bezeichnungen kann ich auch nicht viel anfangen... Sad

Eine kurze Beschreibung, was ich will: ich möchte ca. 30 Buttons horizontal aufreihen, "dicht an dicht". Je nach Benutzereingaben (bei Klick auf Button) ändert sich dann die Position, die Breite und die Grafik des Buttons. Die Aufreihung der Buttons stellt den Aufbau einer Maschine dar, wobei die Buttons einzelne Teile sind, die beliebig getauscht werden können. Das Ganze kann man sich dann ausdrucken und die Maschine nach dem erstellten Plan zusammenbauen.

Ich werd mich jetzt mal was mit .progID beschäftigen; das klingt laut Objektkatalog ganz interessant.

Kennt jemand eine gute Seite, wo man diesen ganzen "formalen Kram" zu Klassen etc. (s.o.) nachlesen kann? Oder lässt sich sowas vielleicht in wenigen Worten erklären...?

Vielen Dank euch beiden!

Viele Grüße,
Michael
slowboarder
Im Profil kannst Du frei den Rang ändern


Verfasst am:
12. Sep 2012, 20:50
Rufname:


AW: "ThisCommandButton.Name" möglich??? - AW: "ThisCommandButton.Name" möglich???

Nach oben
       Version: Office 2010

Hi

wenns grafiken sind, um so besser.
du kannst deine Grafiken auch direkt als Bild in Excel einfügen und dann diesem Bild das Makro zuweisen.
Funktioniert genauso wie mit den Formen.
Michiael
Excel-Kenner (VBA-Neuling)


Verfasst am:
12. Sep 2012, 21:48
Rufname:

AW: "ThisCommandButton.Name" möglich??? - AW: "ThisCommandButton.Name" möglich???

Nach oben
       Version: Office 2010

Hallo Daniel,

hilf mir mal auf die Sprünge...
Also ich füge das Bild ein, weise ihm ein Makro zu. Das Makro kann dann das Bild ändern? Wie muss der Code dafür aussehen? Wenn ich es aufzeichne (Kontextmenu: "Bild ändern..."), wird nur .Select aufgezeichnet.
Das Einfügen allerdings zeichnet er mit Quellpfad des Bildchens auf...

Ich denke, es wäre wichtig, die bestehende Grafik zu ändern, anstatt sie zu löschen und durch eine neue zu ersetzen, da ja der bestehenden bereits das Makro zugewiesen wurde.

Wie müsste der Code zum Ändern des Bilds aussehen?

Viele Grüße,
Michael
slowboarder
Im Profil kannst Du frei den Rang ändern


Verfasst am:
12. Sep 2012, 21:55
Rufname:

AW: "ThisCommandButton.Name" möglich??? - AW: "ThisCommandButton.Name" möglich???

Nach oben
       Version: Office 2010

Hi
kommt darauf an, was du ändern willst.
Excel 2010 zeichnet im Graphischen Bereich eigentlich wieder ganz ordentlich auf.
mit 2007 gabs da die Probleme
Gruß Daniel
Michiael
Excel-Kenner (VBA-Neuling)


Verfasst am:
12. Sep 2012, 22:10
Rufname:

AW: "ThisCommandButton.Name" möglich??? - AW: "ThisCommandButton.Name" möglich???

Nach oben
       Version: Office 2010

Hallo Daniel,

Zitat:
kommt darauf an, was du ändern willst.

Die Grafik!
Rechtsklick auf die Grafik + "Bild ändern...". Da erscheint dann ein Dialogfenster, in dem ich eine neue Grafik (von meiner Festplatte) auswählen soll. Genau so, wie wenn ich eine neue einfüge.
Anmerkung: mit Grafik meine ich Fotos (.bmp, .jpg).

Viele Grüße,
Michael
slowboarder
Im Profil kannst Du frei den Rang ändern


Verfasst am:
12. Sep 2012, 23:16
Rufname:

AW: "ThisCommandButton.Name" möglich??? - AW: "ThisCommandButton.Name" möglich???

Nach oben
       Version: Office 2010

Hi

Du willst also ein Bild durch ein anderes ersetzen.
dann kopier mal diesen Code in ein allgemeines Modul und weise ihm einer bestehenden Grafik zu.
bei Klick auf die Grafik macht der Code dann folgendes:

1. er öffnet den Dialog zum Einfügen eines Bildes von einem Laufwerk
2. er ersetzt das alte Bild durch das neue Bild, dh er schiebt das neue Bild an die gleiche Position und löscht das alte Bild
3. der Code weist dem neuen Bild wieder diesese Makro zu, so das du bei Klick erneut ein neues Bild auswählen kannst
Code:
Sub BildTauschen()
With ActiveSheet.Shapes(Application.Caller)
    If Not Application.Dialogs(xlDialogInsertPicture).Show Then Exit Sub
    Selection.Top = .Top
    Selection.Left = .Left
    .Delete
End With
Selection.OnAction = "BildTauschen"
End Sub

Gruß Daniel
Phelan XLPH
Fortgeschritten


Verfasst am:
13. Sep 2012, 08:19
Rufname: Phelan

AW: "ThisCommandButton.Name" möglich??? - AW: "ThisCommandButton.Name" möglich???

Nach oben
       Version: Office 2010

Könnte so funktionieren...

Ich würde es dennoch mit Image-Controls lösen und die Bilder auslagern, sonst
blähst du die Datei unnötig auf.



Bild Wahl mit DropDown.xls
 Beschreibung:

Download
 Dateiname:  Bild Wahl mit DropDown.xls
 Dateigröße:  436.5 KB
 Heruntergeladen:  11 mal

Michiael
Excel-Kenner (VBA-Neuling)


Verfasst am:
13. Sep 2012, 21:06
Rufname:


AW: "ThisCommandButton.Name" möglich??? - AW: "ThisCommandButton.Name" möglich???

Nach oben
       Version: Office 2010

Hallo zusammen!

Dass es immer so viele Möglichkeiten geben muss...!

@ Phelan:
Was meinst du mit "Image-Controls"?
Ich habe mich mit deiner ersten Mappe nochmal was beschäftigt. Ein kleinwenig Licht hab ich nun ins Dunkel bringen können... Dank Peter Haserodts Online Excel Smile

Ich glaube zwar, dass ich mir die Mappe auf meine Bedürfnisse zurechtbiegen könnte, doch will ich keinen Code verarbeiten, den ich nicht auch verstehe.

Also ich habe Probleme beim Verständnis des Codes im allgemeinen Modul...

Code:

Option Explicit

Dim cmdCBE() As clsCommandButtonEvent

Sub CommandButtonEreignisseSetzen()
    Dim objOle As OLEObject
    Dim i As Integer
    Dim j As Integer
    Dim iCmdNo As Integer
   
    For Each objOle In Tabelle2.OLEObjects
        If objOle.progID = "Forms.CommandButton.1" Then
            If objOle.Name Like "CommandButton#*" Then
                iCmdNo = Val(Replace(objOle.Name, "CommandButton", ""))
                Select Case iCmdNo
                    Case 1 To 6
                        i = i + 1
                        ReDim Preserve cmdCBE(1 To i)
                        Set cmdCBE(i) = New clsCommandButtonEvent
                        Set cmdCBE(i).CMD = objOle.Object
                End Select
            End If
        End If
    Next
End Sub


...und zwar speziell die Deklaration:
Code:

ReDim Preserve cmdCBE(1 To i)
Set cmdCBE(i) = New clsCommandButtonEvent
Set cmdCBE(i).CMD = objOle.Object

Ich weiß, da hängt wahrscheinlich ziemlich viel dran... aber kannst du (oder jemand anders) mir das bitte erklären?


@ Daniel:
ich bin noch nicht so recht zum Testen gekommen... Außerdem hab will ich die CommandButtons noch nicht abschreiben...
Trotzdem vielen Dank für deine Mühe!

Viele Grüße,
Michael
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Verweisfunktion mit Abfrage von 2 Spalten möglich? 9 Imp 893 10. Mai 2007, 12:54
Gast Verweisfunktion mit Abfrage von 2 Spalten möglich?
Keine neuen Beiträge Excel Formeln: Brauche Hilfe (falls überhaupt Möglich) 10 Gast 689 18. Feb 2007, 20:07
Gast Brauche Hilfe (falls überhaupt Möglich)
Keine neuen Beiträge Excel Formeln: SVERWEIS auf verlinkte Matrix möglich? 5 Messiaen 1114 09. Feb 2007, 21:48
Messiaen SVERWEIS auf verlinkte Matrix möglich?
Keine neuen Beiträge Excel Formeln: Pivotdatenzuordnen ohne #BEZUG! Meldung möglich? 5 hundertwasser 6208 22. Dez 2006, 19:22
hundertwasser Pivotdatenzuordnen ohne #BEZUG! Meldung möglich?
Keine neuen Beiträge Excel Formeln: Statischer Zellbezug zwischen Tabellenblätter möglich? 1 JohannesXXIV 1521 19. Dez 2006, 13:58
ransi Statischer Zellbezug zwischen Tabellenblätter möglich?
Keine neuen Beiträge Excel Formeln: Ist es möglich Werte in einer Spalte in einer Zeile anzuordn 7 flyingbob 910 20. Aug 2006, 20:21
flyingbob Ist es möglich Werte in einer Spalte in einer Zeile anzuordn
Keine neuen Beiträge Excel Formeln: WENN Abfrage mit einer UND Verknüpfung möglich??? 2 L1veretter 29546 27. Jul 2006, 11:46
L1veretter WENN Abfrage mit einer UND Verknüpfung möglich???
Keine neuen Beiträge Excel Formeln: Punkt Null/Null nicht möglich ? 1 snoozelight 680 14. Mai 2006, 10:32
< Peter > Punkt Null/Null nicht möglich ?
Keine neuen Beiträge Excel Formeln: Variabler Bezug in Excell überhaupt möglich ? 8 Gast 6011 03. Apr 2006, 16:04
fridgenep Variabler Bezug in Excell überhaupt möglich ?
Keine neuen Beiträge Excel Formeln: Zellen kopieren von 01/06 auf 02/06, durch zeihen möglich? 2 tomate 708 02. März 2006, 10:02
tomate Zellen kopieren von 01/06 auf 02/06, durch zeihen möglich?
Keine neuen Beiträge Excel Formeln: Dateiname in Zelle möglich? 15 AKoch 1804 21. Feb 2006, 12:31
ae Dateiname in Zelle möglich?
Keine neuen Beiträge Excel Formeln: Bedingung verneinen, ist das möglich? 3 Gast 2065 20. Feb 2006, 17:15
steve1da Bedingung verneinen, ist das möglich?
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: CSS Forum