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

Frames umbenennen

Frames umbenennen
26.10.2021 15:47:36
Chris
Hallo Forum,
ich habe eine Userform mit 32 Frames. Diese möchte ich per Schleife durchnummieren, bsp: "Haus 1", "Haus 2" etc.
Der erste Teil des Makro funktioniert.
Nun möchte ich per Array (wenn das Sinn macht...) bestimmte Frames umbennen. Z.b "Haus 1" in "Büro", "Haus 3" in Büro. etc.
Der zweite Teil des Makros benennt mir alle Frames in Büro um, wo liegt der Fehler?
Schon mal danke. Chris
Private Sub UserForm_Activate()
On Error Resume Next
Dim i As Integer, Rahmen As Frame
i = 1
For Each Rahmen In Me.Controls
Rahmen.Caption = "Haus " & CStr(i)
i = i + 1
Next
b = Array("Haus 1", "Haus 2")
For Each Rahmen In Me.Controls
If Rahmen.Caption = b Then
Rahmen.Caption = "Büro"
End If
Next

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Frames umbenennen
26.10.2021 16:13:30
Werner
Hallo,
ungetestet:

For i = LBound(b) To UBound(b)
Me.Rahmen(b).Caption = "Büro"
Next i
Gruß Werner
AW: Frames umbenennen
26.10.2021 16:22:09
Chris
Hallo Werner,
noch nicht ganz. In deinem Makro markiert Excel mir Me.Rahmen(b) (object nicht gefunden). Ich habe es daher abgeändert, siehe unten. Jetzt erhalte ich
den Fehler: Laufzeitfehelr 13: Typen unverträglich und markiert wird "next" unter i = i+1:
Dim i As Integer, Rahmen As Frame
i = 1
For Each Rahmen In Me.Controls
Rahmen.Caption = "Haus " & CStr(i)
i = i + 1
Next
b = Array("Haus 1", "Haus 2")
For i = LBound(b) To UBound(b)
Me.Controls(Rahmen(b)).Caption = "Büro"
Next i
Anzeige
AW: Frames umbenennen
26.10.2021 16:16:37
ChrisL
Hi Chris
Ein Vorschlag, damit du alles innerhalb der gleichen Schleife erledigen kannst. Im Beispiel wird Haus 1+3 zu Büro.

Dim i As Integer, Rahmen As Control
For Each Rahmen In Me.Controls
If TypeName(Rahmen) = "Frame" Then
i = i + 1
Select Case i
Case 1, 3
Rahmen.Caption = "Büro"
Case Else
Rahmen.Caption = "Haus " & i
End Select
End If
Next Rahmen
cu
Chris
AW: Frames umbenennen
26.10.2021 16:27:35
Chris
Hi Chris,
danke funktioniert bestens! Gruß Chris

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige