Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1700to1704
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

Labelnamen per VBA ändern?

Labelnamen per VBA ändern?
03.07.2019 14:14:17
Jubeldibub
Hi Leute!
Ich habe derzeit eine Userform, auf der hunderte Labels angeordnet sind, die ich alle fortlaufend benennen will. Also z.B.
LabelA1 bis LabelA100
LabelB1 bis LabelB100
etc.
Statt die Labels nun alle mühsam im Editor umzubenennen, hatte ich gehofft, die Namen mit einem kleinen VBA-Code gebündelt umzuschießen. Ich wollte einfach aus den standardisiert erstellten Labelnamen (also "LabelX") die gewünschten Namen machen.
Für ein einzelnes Label z.B. so:

Label1.Name = LabelAusbau1

Grüße
JDB
Dann bekomme ich jedoch diese Fehlermeldung: "Eigenschaft Name konnte nicht gesetzt werden. Eigenschaft kann nicht zur Laufzeit gesetzt werden."
Kann man das umgehen? Bzw. gibt es einen anderen Weg, aufwandsarm große Mengen an bestehenden Labels umzubenennen?

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Labelnamen per VBA ändern?
03.07.2019 14:51:32
Rudi
Hallo,
als Anregung:
Sub ReNameLabels()
Dim c As Control
With ThisWorkbook.VBProject
With .vbcomponents("userform1").designer
For Each c In .Controls
With c
If .Name Like "Label*" Then
.Name = .Name & "_test"
End If
End With
Next c
End With
End With
End Sub

Die UF muss geschlossen sein.
Gruß
Rudi
AW: Labelnamen per VBA ändern?
03.07.2019 15:33:32
Jubeldibub
Ich bin nicht sicher, ob ich es mir richtig zusammenreime. Ich habs mir mal als Einzelbefehl versucht nachzubilden.
Wäre das im Grunde so, als wenn ich folgenden Code aus z.B. Userform2 per Buttonklick starte und damit das Label1 in UserForm1 umbenennen würde?
Private Sub CommandButton1_Click()
ThisWorkbook.VBProject.VBComponents("UserForm1").Designer("Label1").Name = LabelTest1
End Sub
Oder habe ich da noch einen Fehler in der Struktur? Auf jeden Fall geht es so nicht, dann bekomme ich die Meldung "Die Methode VBProject für das Objekt _Workbook ist fehlgeschlagen."
Anzeige
AW: Labelnamen per VBA ändern?
03.07.2019 15:56:00
Dieter(Drummer)
Hallo Jubeldibub (was für ein Name :-)),
Rudi hat doch vermerkt, dass die Userform geschlossen sein muss.
Seinen Code in z.B. Modul1, dann Code aufrufen und die Labels, in z.B. Userform1, werden entsprechend, wie im Modul festgelegten Namen, geändert. Das funktioniert!
Gruß, Dieter(Drummer)
knapp vorbei
03.07.2019 16:26:52
Rudi

ActiveWorkbook.VBProject.vbcomponents("userform1").designer.Controls("Label1").Name = "Test"
Außerdem musst du selbstverständlich dem Zugriff aufs VBA-Projektobjektmodell vertrauen.(Trustcenter)
Gruß
Rudi
AW: knapp vorbei
03.07.2019 20:38:18
Jubeldibub
Danke für den Tipp mit dem Sicherheitscenter, da wäre ich nicht drauf gekommen.
Jetzt funktioniert alles wie gewünscht. Perfekt :)
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige