Click-Ereignis für zur laufzeit erstelltes Label

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Label ListBox ScrollBar MsgBox
Bild

Betrifft: Click-Ereignis für zur laufzeit erstelltes Label
von: Magico777
Geschrieben am: 16.07.2015 11:51:32

Hallo zusammen,
ich habe mal wieder ein problem und hoffe auf Eure bewährte Hilfe! :-)
Folgender Fall:
Ich habe eine Excel-Tabelle mit einem Command-Button. Drück man ih, dann öffnet sich ein kleines Fenster. Dort werden exakt soviele Labels erzeugt, wie Felder in Spalte A gefüllt sind und entsprechend beschriftet (also wenn in A1 "Hallo" steht, dann steht im ersten erzeugten Label auch "Hallo"). Wieviele Label erzeugt werden, ist immer unterschiedlich, deshalb erzeuge ich sie ja auch erst zur Laufzeit.
Das Problem:
Ich möchte nun eine Aktion (Sprung in eine Zielzelle) ausführen, wenn man auf eines der Label clickt. Bei jedem Label ist das aber ein anderes Ereignis. Normalerweise programmiere ich für ein Label vor der laufzeit das Click-Ergeignis. Das geht ja nun nciht, da das Label erst bei Laufzeit erzeugt wird. Wie kann man das Problem lösen?
Gruß und vielen Dank an alle, die mir helfen!!!
V A T

Bild

Betrifft: Click-Ereignis für zur laufzeit erstelltes Label
von: Rudi Maintaire
Geschrieben am: 16.07.2015 11:58:39
Hallo,
1. Möglichkeit: Klassenprogrammierung
2. Möglichkeit: Nimm Formular-Steuerelemente und weise ihnen die OnAction-Eigenschaft zu
Gruß
Rudi

Bild

Betrifft: AW: Click-Ereignis für zur laufzeit erstelltes Label
von: Magico777
Geschrieben am: 16.07.2015 13:11:58
Hallo Rudi,
danke für Deine schnelle Antwort.
zu 1) Mit klassenprogrammierung kenne ich mich Null aus, scheidet also für die schnelle Lösung wohl aus.
zu 2) wenn ich in der ONAction-Eigenschaft des labels das Makro hinterlege, dass beim draufklicken ausgeführt werden soll (so habe ich die Beschreibung der eigenschaft zumindest verstanden), dann hilft mir das ja noch nciht, da ja das Grundproblem bleib: ich weiß im Makro dann ja trotzdem nicht auf welches der Labels geklickt wurde, kann demenstsprechend auch keine differierenden Aktionen ausführen.
Oder hab ich da was falsch versanden?!
Gruß und nochmals danke!
V A T

Bild

Betrifft: Click-Ereignis für zur laufzeit erstelltes Label
von: Rudi Maintaire
Geschrieben am: 16.07.2015 15:12:21
Hallo,
nicht auf welches der Labels geklickt wurde
das kannst du mit Application.Caller ermitteln.

Sub KlickProzedur()
  MsgBox Application.Caller
End Sub

Gruß
Rudi

Bild

Betrifft: AW: Click-Ereignis für zur laufzeit erstelltes Lab
von: Daniel
Geschrieben am: 16.07.2015 12:10:29
Hi
3. Möglickkeit: eine Listbox statt vieler Labels
in einer Listbox kannst du beliebig viele Einträge, aber du hast trotzdem nur ein Steuerelement und damit auch nur ein Clickevent, das du ausprogrammieren musst.
deweiteren brauchst du dir über die Grösse und die maximal darstellbare Anzahl eine Gedanken zu machen, weil du bspw die Scrollbar hier automatisch mit dazubekommst, wenn du mehr Einträge hast als Platz.
Gruß Daniel

Bild

Betrifft: AW: Click-Ereignis für zur laufzeit erstelltes Lab
von: Magico777
Geschrieben am: 16.07.2015 13:15:29
Hallo Daniel,
danke für Deine Unterstützung! Der Trick ist gut. So könnte ich das Problem geschickt umgehen. Leider hat er in meinem Fall den Nachteil, dasss ich mit den Labels den Überblick(!) über eine Dokumentenstruktur (auf einen Blick sehen, welche kapitel ud Unterkapitel es gibt) darstelle. Und das mit dem Überblick wäre in einer Listbox dann natürlich nur noch bedingt gegeben.
Also, die Idee war gut, hilft aber in meinem Fall nicht weiter.
Gruß
V A T

Bild

Betrifft: AW: Click-Ereignis für zur laufzeit erstelltes Lab
von: Daniel
Geschrieben am: 16.07.2015 13:32:41
Hi
naja, von deiner Struktur mit Kapieln und unterkapiteln kann ich ja nichts wissen, wenn du das nicht erwähnst.
aber auch sowas lässt sich mit Leerezeichen oder Einrückungen in einer Listbox darstellen.:

Kapitel 1
- Unterkapitel 1a
- Unterkapitel 1b
Kapitel 2
- Unterkapitel 2a
- Unterkapitel 2b
usw
oder du machst die Listbox mehrspaltig und schreibst das Hauptkapitel in die erste Spalte und die Unterkapitel in die zweite.
(ok, ich kommn noch aus der Generation, die mit grafikfreiten, einfarbigen Monitoren arbeiten musste)
Gruß Daniel

Bild

Betrifft: AW: Click-Ereignis für zur laufzeit erstelltes Lab
von: Magico777
Geschrieben am: 16.07.2015 14:30:03
Hallo Daniel,
natürlich konntest Du das nicht wissen, meine Antwort war ja auch keine Kritik, sondern ausdrücklich ein Lob!
Und sorry, ich hatte Listbox mit Combobox verwechselt. Bei der Combobox würde man ja die Struktur nichta uf den ersten Blick, sondern nur nach öffnen der Box sehen. Das hätte nicht gepasst. Bei der listbox sieht man direkt alles, also wäre sie geeignet, wenn auch grafisch nur bedingt ansprechend.
Nochmal vielen Dank für Deine gute Idee! Ich werde sie als eine der alternativen im Hinterkopf behalten, mich aber noch weiter umschauen. Vielleicht finde ich ja noch was besseres!
Gruß und vielen Dank an Dich!
V A T

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Click-Ereignis für zur laufzeit erstelltes Label"