Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: mehrere Label in schleife ansprechen

mehrere Label in schleife ansprechen
08.10.2006 17:02:02
tina
hallo,
ich möchte in einer schleife mehrere label ansprechen.
ich habe diesen code

Private Sub CommandButton2_Click()
Dim i As Integer
Sheets("tabelle1").Select
i = 1
For i = 1 To 10
If [D1] = i Or [D2] = i Or [D3] = i Then
Label & i.Visible = True
End If
Next i
End Sub

bei dieser zeile hängt der code:
Label & i.Visible = True
wo ist da der fehler?
LG Tina
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: mehrere Label in schleife ansprechen
08.10.2006 17:12:09
Peter
Hallo Tina,
schreib anstelle von Label & i.Visible = True
Controls("Label" & i).Visible = True
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: mehrere Label in schleife ansprechen
08.10.2006 17:12:18
Daniel
Hallo Tina
der Fehler ist, daß man eine direkte Objektbezeichnung nicht aus aus Variablen zusammenbauen kann.
So müsste es gehen:
userform1.Controls("label" & i).visible = true
Gruß, Daniel
(userformnamen natürlich entsprechend anpassen)
Anzeige
Danke euch beiden. o.t.
08.10.2006 17:15:18
tina
LG Tin@
AW: mehrere Label in schleife ansprechen
08.10.2006 17:16:12
K.Rola
Hallo,
liest sich, als wären die Label in einer Tabelle? Falls ja:

Private Sub CommandButton2_Click()
Dim i As Integer
Sheets("tabelle1").Select
For i = 1 To 10
If [D1] = i Or [D2] = i Or [D3] = i Then
Sheets("tabelle1").OLEObjects("Label" & i).Visible = True
End If
Next i
End Sub

gruß K.Rola
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Mehrere Labels in Schleife ansprechen in Excel VBA


Schritt-für-Schritt-Anleitung

Um mehrere Labels in einer Schleife anzusprechen, kannst Du den folgenden VBA-Code verwenden. Dieser Code macht es möglich, Labels sichtbar zu setzen, basierend auf bestimmten Werten in den Zellen D1, D2 und D3.

Private Sub CommandButton2_Click()
    Dim i As Integer
    Sheets("tabelle1").Select
    For i = 1 To 10
        If [D1] = i Or [D2] = i Or [D3] = i Then
            Controls("Label" & i).Visible = True
        End If
    Next i
End Sub

Dieser Code geht davon aus, dass Du eine UserForm mit zehn Labels hast, die von „Label1“ bis „Label10“ benannt sind. Stelle sicher, dass die Namen der Labels und die Anzahl übereinstimmen.


Häufige Fehler und Lösungen

  1. Fehler: Label & i.Visible = True

    • Lösung: Ändere den Code zu Controls("Label" & i).Visible = True. So wird das Label korrekt referenziert.
  2. Fehler: „Objekt nicht gefunden“

    • Lösung: Überprüfe, ob die Labels tatsächlich in der UserForm existieren und die Benennung korrekt ist.
  3. Fehler: Userform1.Controls("label" & i).Visible = true funktioniert nicht

    • Lösung: Stelle sicher, dass Du den korrekten Namen der UserForm verwendest. Der Name muss exakt mit dem übereinstimmen, wie er im VBA-Editor angegeben ist.

Alternative Methoden

Wenn Du Labels in einer Excel-Tabelle ansprichst, kannst Du OLEObjects verwenden:

Private Sub CommandButton2_Click()
    Dim i As Integer
    Sheets("tabelle1").Select
    For i = 1 To 10
        If [D1] = i Or [D2] = i Or [D3] = i Then
            Sheets("tabelle1").OLEObjects("Label" & i).Visible = True
        End If
    Next i
End Sub

Diese Methode funktioniert gut, wenn die Labels als OLEObjects in einer Tabelle eingefügt wurden.


Praktische Beispiele

Hier ist ein praktisches Beispiel, wie Du den Code einsetzen kannst:

  1. Schritt 1: Füge eine UserForm in dein Excel-Projekt ein und füge zehn Labels hinzu.
  2. Schritt 2: Benenne die Labels von „Label1“ bis „Label10“.
  3. Schritt 3: Füge den oben genannten Code in das Code-Fenster der UserForm ein.
  4. Schritt 4: Teste den Code, indem Du Werte in die Zellen D1, D2 und D3 eingibst und dann den Button drückst.

Tipps für Profis

  • Debugging: Nutze die Debugging-Funktionen von Excel VBA, um Probleme schnell zu identifizieren. Setze Haltepunkte und überprüfe die Variablenwerte während der Ausführung.
  • Benennungskonventionen: Halte dich an klare Benennungskonventionen für Deine Labels und Controls, um den Überblick zu behalten.
  • Performance: Bei größeren Datenmengen kann es sinnvoll sein, die Sichtbarkeit aller Labels vor der Schleife auf False zu setzen, um die Performance zu verbessern.

FAQ: Häufige Fragen

1. Kann ich auch andere Controls ansprechen?
Ja, Du kannst den gleichen Ansatz für andere Controls wie TextBoxen oder Buttons verwenden, indem Du einfach den Typ in der Controls-Sammlung änderst.

2. Welche Excel-Version wird benötigt?
Der Code sollte in Excel ab Version 2007 funktionieren, da die VBA-Umgebung seitdem stabil geblieben ist.

3. Was mache ich, wenn mein Code nicht funktioniert?
Überprüfe alle Variablen und stelle sicher, dass die Namen der Labels und die Arbeitsblätter korrekt sind. Debugging-Tools können helfen, den Fehler zu finden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige