Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1872to1876
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
Inhaltsverzeichnis

Label umbenennen

Label umbenennen
04.03.2022 06:59:46
Manu
Guten Morgen liebes Forum,
Ich möchte das per doppelklick auf mehreren "Labels" eine UF sich öffent bei dem ich auswählen kann, wie das Label benannt werden soll.
Das Problem das ich jetzt habe, das ich mit meinem Vorgehen nicht definieren kann, um welches Label es sich jedesmal handelt.
So wie ich das mache, bekomme ich ein Laufzeitfehler 424. Kann mir jemand dabei helfen ?
Vielen Dank im vorraus

Private Sub Label14_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Set objLabel = UserForm1.Label14
UF4VariableAP.Show
End Sub
----

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
objLabel.Caption = ListBox1.Value
Unload Me
End Sub

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Label umbenennen
04.03.2022 08:16:25
Manu
Also ich habe das Problem erkannt.
Bei dem obj Code fehlt ihm der Bezug zu der UserForm1.
Also wenn ich das ohne obj machen z.B. obj.Caption = ListBox1.Value
Dann funktioniert es.
Obwohl ich im Set die UserForm1 mit geben
Set obj = UserForm1.Label14
Erkennt der bei der obj.Caption nicht das der bezug auf die UserForm1.
obj.Caption = ListBox1.Value
Wie bekomm ich das gelöst ?
AW: Label umbenennen
04.03.2022 09:13:17
onur
Das ist aber nicht "umbennen", du änderst nur den Text und nicht den Namen.
Warum so umständlich?
Schreib doch direkt

UserForm1.Label14.Caption = ListBox1.Value

Anzeige
AW: Label umbenennen
04.03.2022 09:31:07
Manu
Hallo,
Erstmal Danke für den Hinweis:
Direkt funktioniert es ja. Aber ich habe mehrere Labels. Sonst müsste ich ja Mehrere Listboxen machen und es bei jeder Listbox direkt schreiben.
Hoffe Sie verstehen was ich meine.
Also ich klicke auf einem Label und setzte dann mit dem "set" um welches Label es sich handelt.
Und in der UF4VariableAP (Userform) habe ich dann die Listbox mit den Namen.
AW: Label umbenennen
04.03.2022 09:47:02
Daniel
HI
wenn ich dich richtig verstehe:
1. weise im Doppelklick-Event des Labels das Label einer globlal deklarierten Objektvariable zu und starte dann die Userform mit der einen Listbox
2. im Click-Event dieser Listbox änderst du dann die Caption des Objektes in der globalen Variablen.
Gruß Daniel
Anzeige
AW: Label umbenennen
04.03.2022 10:07:00
Manu
Das hört sich doch super an.
Kannst mir das bitte Codiert dastellen. Ich brauche da ein beispiel, bin noch nicht so super fit im Codieren.
Danke & Gruß
AW: Label umbenennen
04.03.2022 10:25:15
Daniel
welchen teil kannst du denn nicht?
Variablen zuweisen, Eventmarkos und so hast du doch alles drauf.
ein bisschen Eigeninitiantive schadet nichtl.
AW: Label umbenennen
04.03.2022 10:37:12
Manu
Ich habe folgendes versucht aber funktioniert nicht. Bekomme eben den Laufzeitfehler 424 Ojekt erforderlich ist.
Verstehe nicht wieso das Objekt nicht Überommen wird.

Sub Label14_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim MyObject As Object
Set MyObject = UserForm1.Label14
UF4VariableAP.Show
End Sub

Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
MyObject.Caption = ListBox1.Value     

Anzeige
AW: Label umbenennen
04.03.2022 10:40:23
Rudi
du musst

Dim MyObject As Object
außerhalb einer Prozedur setzen.

Dim MyObject As Object
Sub Label14_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Set MyObject = UserForm1.Label14
UF4VariableAP.Show
End Sub
Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
MyObject.Caption = ListBox1.Value     
Gruß
Rudi
AW: Label umbenennen
04.03.2022 10:59:55
Daniel
Hi
so ist die Variable MyObjekt nur im Makro "Label14_DblClick" bekannt, aber nicht dem Makro "ListBox1_DblClick".
immer wenn die Deklaration einer Variablen innerhalb des Makros erfolgt, kennt nur dieses Makro diese Variable. Sie wird auch wieder gelöscht, wenn das Makro beendet ist.
Wenn mehrere Makros die selben Variablen verwenden sollen (auch mit gleichem Inhalt) und diese Makros sich in unterschiedlichen Modulen (mehrere Userformen) befinden, dann musst du so vorgehen:
Variante a) die Deklaration der Variablen muss in einem allgemeinen Modul (Modul1) mit Public myObjekt as Object oberhalb der dort stehenden Makros erfolgen. Dann kannst du diese Variable in ganz normal jedem Makro in jedem Modul verwenden.
Variante b) die Deklaration der Variablen erfolgt im Modul der Userfom die das Label enthält, ebenfalls mit Public myObjekt as Object oberhalb der Makros. Wenn du jetzt aber dieses Makro in einer anderen Userform verwenden willst, musst du den Modul-Bzw Userformnamen voranstellen, also UserformXY.MyObjekt.Caption = Listbox1.Value
Gruß Daniel
Anzeige
AW: Label umbenennen
04.03.2022 10:39:05
GerdL
Moin

'Allgemeines Modul z.B. Modul1
Public pstrLabelname As String

'Modul von UserForm1
Private Sub Label1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
pstrLabelname = "Label1"
UserForm2.Show
End Sub


'Modul von UserForm2
Private Sub UserForm_Initialize()
ListBox1.Clear
ListBox1.AddItem "A"
ListBox1.AddItem "B"
ListBox1.AddItem "C"
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
On Error Resume Next
UserForm1.Controls(pstrLabelname).Caption = ListBox1.Value
Unload Me
End Sub
Gruß Gerd
Anzeige
AW: Label umbenennen
04.03.2022 10:40:09
onur
Die Variablen, die im Modul von UF A deklariert werden, gelten NICHT im Modul von UF B. Du musst sie schon GLOBAL (Public) deklarieren.
In ein STANDARDMODUL (ggf neu erstellen) gehört DIESE Deklaration:

Public objLabel as Object

AW: Label umbenennen
04.03.2022 10:48:15
Manu
VIELEN DANK.
Das ich das in einem Modul als Global Deklarieren muss, dass hat mir gefehlt. Danke an alle

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige