Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mehrere TextBoxen auf einmal ansprechen

Mehrere TextBoxen auf einmal ansprechen
Das
Hallo Excelfreunde,
gestern habe ich hier im Forum gelernt, dass man mit "Union" mehrere Zellbereiche auf einmal ansprechen kann.
Jetzt stell ich mir die Frage, ob es so etwas wie "Union" auch für UF Textboxen gibt? Dann könnte man z.B. auf eine Ereignis hin alle TextBoxen einer UF einen anderen Hintergrund geben.
Gruß Holger
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: nein...
23.06.2010 10:37:10
Tino
Hallo,
, musst Du über eine Schleife lösen, wenn Deine Textboxen richtig benannt sind.
Sind diese nicht richtig benannt (Textbox1,Textbox2 usw...) kannst Du Dir ein Array mit den Namen zusammenbauen und dieses in einer Schleife durchlaufen.
Gruß Tino
Schade...
23.06.2010 10:40:51
Das
Hallo Tino,
danke für die schnelle Antwort!
Gruß Holger
Anzeige
Frage dazu...
23.06.2010 10:57:42
Das
Hallo Tino,
wie sähe denn der Code aus, wenn ich in meiner UF der TextBox1 bis TextBox7 mit einem Rutsch die Hintergrundfarbe &H00C0C0C0& geben möchte?
Gruß Holger
AW: Frage dazu...
23.06.2010 11:15:00
Peter
Hallo,
das könnte so aussehen:
Option Explicit
Private Sub UserForm_Initialize()
Dim iIndx  As Integer
For iIndx = 1 To 7
Controls("TextBox" & iIndx).BackColor = &HC0C0C0
Next iIndx
End Sub

Gruß Peter
Anzeige
Danke!
23.06.2010 12:04:40
Das
Hallo Tino und Peter,
vielen Dank für eure Beispiele, jetzt weiß ich wie es geht!
Gruß Holger
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Mehrere TextBoxen in Excel VBA ansprechen


Schritt-für-Schritt-Anleitung

  1. UserForm erstellen: Öffne Excel und gehe zu den Entwicklertools. Klicke auf "Einfügen" und wähle eine UserForm aus.

  2. TextBoxen hinzufügen: Füge sieben TextBoxen hinzu und benenne sie von TextBox1 bis TextBox7.

  3. Code einfügen: Klicke mit der rechten Maustaste auf die UserForm und wähle "Code anzeigen". Füge den folgenden VBA-Code ein:

    Private Sub UserForm_Initialize()
        Dim iIndx As Integer
        For iIndx = 1 To 7
            Controls("TextBox" & iIndx).BackColor = &HC0C0C0
        Next iIndx
    End Sub
  4. UserForm testen: Starte die UserForm, um zu sehen, ob die Hintergrundfarbe der TextBoxen korrekt geändert wurde.


Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden"
    Lösung: Stelle sicher, dass die TextBoxen richtig benannt sind (TextBox1, TextBox2, ...). Überprüfe auch, ob du den richtigen Code in das richtige Modul eingefügt hast.

  • Fehler: Hintergrundfarbe ändert sich nicht
    Lösung: Überprüfe, ob die UserForm tatsächlich initialisiert wird. Stelle sicher, dass der Code im UserForm_Initialize-Ereignis steht.


Alternative Methoden

Eine alternative Methode, um mehrere TextBoxen anzusprechen, ist die Verwendung eines Arrays:

  1. Erstelle ein Array mit den Namen der TextBoxen.
  2. Durchlaufe das Array in einer Schleife, um die Eigenschaften zu ändern.

Beispiel:

Private Sub UserForm_Initialize()
    Dim TextBoxNames As Variant
    TextBoxNames = Array("TextBox1", "TextBox2", "TextBox3", "TextBox4", "TextBox5", "TextBox6", "TextBox7")

    Dim i As Integer
    For i = LBound(TextBoxNames) To UBound(TextBoxNames)
        Controls(TextBoxNames(i)).BackColor = &HC0C0C0
    Next i
End Sub

Praktische Beispiele

Hier sind einige praktische Anwendungsbeispiele:

  1. Hintergrundfarbe ändern: Wie im obigen Code gezeigt, kannst du die Hintergrundfarbe aller TextBoxen auf einmal ändern.
  2. Textfarbe ändern: Du kannst auch die Textfarbe ändern, indem du Controls("TextBox" & iIndx).ForeColor = &H0000FF hinzufügst.

Tipps für Profis

  • Verwende Konstanten: Statt Farbwerte direkt im Code zu verwenden, definiere Konstanten für die Farben, um den Code leserlicher zu machen.

    Const cGray As Long = &HC0C0C0
  • Ereignisgebundene Programmierung: Du kannst auch andere Ereignisse wie Click oder Change nutzen, um die TextBoxen dynamisch zu steuern.


FAQ: Häufige Fragen

1. Frage
Wie kann ich die TextBoxen dynamisch ansprechen, wenn ich mehr oder weniger als 7 TextBoxen habe?

Antwort: Du kannst die Anzahl der TextBoxen dynamisch ermitteln, indem du die Controls.Count-Eigenschaft der UserForm verwendest.

2. Frage
Kann ich die Hintergrundfarbe der TextBoxen basierend auf einem bestimmten Wert ändern?

Antwort: Ja, du kannst Bedingungen in deiner Schleife einfügen, um die Hintergrundfarbe je nach Wert anzupassen.

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