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

Forumthread: Textboxen per Schleife ansprechen

Textboxen per Schleife ansprechen
Yusuf
Hallo,
ich habe da ein kleines Problem.
Wenn ich mehrere Textboxen ein einer Userform per Schleife nacheinander ansprechen moechte mache ich das folgendermaßen
For i = 1 To 20
Me.Controls("TextBox" & i).Visible = False
Next
Wie muesste der es den heissen wenn ich diese Textboxen nicht in einer Userform sind sondern direkt in einem Tabellenblatt (Sheet)?
Folgendes funktioniert nicht
For i = 7 To 120
Tabelle1.Controls("TextBox" & i).Visible = False
Next
Gruß
Yusuf
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Shapes statt Controls... owT
22.09.2010 09:47:19
Kawensmann
owT
AW: Shapes statt Controls... owT
22.09.2010 10:04:16
Yusuf
Hallo,
vielen Dank fuer deine schnelle Hilfe, jedoch funltioniert es mit Shapes auch nicht.
Komischerweise heisst es "Das Objekt unterstuetzt diese Eigenschaft oder Methode nicht"
MsgBox Tabelle1.Shapes("TextBox5") ergibt den o.g. Fehler
MsgBox Tabelle1.TextBox5 gibt mir den Eintrag aus der in der Textbox5 steht.
Gruß
Yusuf
Anzeige
AW: Shapes statt Controls... owT
22.09.2010 10:38:42
Kawensmann
Also bei mir (Office 2003, Textboxen aus der Steuerelement-Symbolleiste) geht's so.
Shapes funktioniert leider nicht
22.09.2010 10:48:53
Yusuf
Hm,
schade. Bei mir sind es auch Textboxen aus der Steuerelement-Toolbox aber ueber Shapes kann ich diese nicht "ansprechen", obwohl mir die Autovervollstaendigung von Excel die "Eigenschaft/Methode" Shapes anzeigt.
Trotzdem vielen Dank fuer deine Hilfe.
Eventuell kennt ja jemand anderes eine Loesung.
Gruß
Yusuf
Anzeige
AW: OLEObjects
22.09.2010 10:46:13
hary
Hallo
teste mal so.

Sub n()
Dim I As Long
For I = 7 To 120
Sheets("Tabelle1").OLEObjects("TextBox" & I).Visible = false
Next
End Sub

gruss hary
AW: OLEObjects
22.09.2010 11:00:52
Yusuf
Hallo Hary,
auf die Eigenschaft "Visible" kann ich so zugreifen, jedoch wenn ich irgendeine andere Eigenschaft des Textboxes veraendern moechte funktioniert das nicht.
Mit deiner Schleife kann ich die Textboxen verstecken und wieder anzeigen lassen.
Nun habe ich mal probiert den Inhalt der Textbox zu veraender ueber "Value" oder "Text" aber dann bekomm ich die Fehlermeldung "Objekt unterstuetzt diese Eigenschaft oder Methode nicht".
Gruß
Yusuf
Anzeige
AW: OLEObjects
22.09.2010 11:10:10
hary
Hallo
geht so.
Sheets("Tabelle1").OLEObjects("TextBox" & I).Object.Text = "hallo"
gruss hary
Vielen vielen Dank
22.09.2010 11:23:19
Yusuf
Super,
vielen Dank fuer deine Hilfe.
Ganz schoen umstaendlich an die Eigenschaften der Steuerelemente ranzukommen.
Hast mir sehr weitergeholfen.
Gruß
Yusuf
;

Forumthreads zu verwandten Themen

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

Textboxen in Excel per Schleife ansprechen


Schritt-für-Schritt-Anleitung

Wenn du Textboxen in einem Excel-Tabellenblatt per Schleife ansprechen möchtest, kannst du das mit OLEObjects tun. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne deine Excel-Datei und gehe zum VBA-Editor (Alt + F11).
  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" > Einfügen > Modul).
  3. Kopiere den folgenden Code in das Modul:
Sub TextboxenUnsichtbarMachen()
    Dim I As Long
    For I = 7 To 120
        Sheets("Tabelle1").OLEObjects("TextBox" & I).Visible = False
    Next I
End Sub
  1. Um die Textboxen wieder sichtbar zu machen, ändere False in True.
  2. Schließe den VBA-Editor und führe das Makro aus (Alt + F8 und dann das Makro auswählen).

Häufige Fehler und Lösungen

  • Fehler: "Das Objekt unterstützt diese Eigenschaft oder Methode nicht"

    • Dieser Fehler tritt häufig auf, wenn du versuchst, eine Eigenschaft einer Textbox anzusprechen, die nicht existiert. Stelle sicher, dass du den richtigen Namen der Textbox verwendest.
  • Fehler beim Zugriff auf Eigenschaften wie "Text" oder "Value"

    • Um den Text einer Textbox zu ändern, musst du wie folgt vorgehen:
Sheets("Tabelle1").OLEObjects("TextBox" & I).Object.Text = "Neuer Text"

Alternative Methoden

Wenn du mit Shapes arbeitest, kannst du die Textboxen auch folgendermaßen ansprechen:

Sub TextboxenMitShapesAnsprechen()
    Dim I As Long
    For I = 7 To 120
        Sheets("Tabelle1").Shapes("TextBox" & I).Visible = False
    Next I
End Sub

Beachte, dass Shapes und OLEObjects unterschiedliche Objekttypen sind. Du solltest also sicherstellen, dass du die richtige Methode für deinen Anwendungsfall verwendest.


Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen, die oben genannten Konzepte zu verstehen:

  1. Textboxen verstecken und anzeigen
Sub ToggleTextboxen()
    Dim I As Long
    For I = 7 To 120
        With Sheets("Tabelle1").OLEObjects("TextBox" & I)
            .Visible = Not .Visible
        End With
    Next I
End Sub
  1. Textboxen mit Text füllen
Sub TextboxenBefuellen()
    Dim I As Long
    For I = 7 To 120
        Sheets("Tabelle1").OLEObjects("TextBox" & I).Object.Text = "Text " & I
    Next I
End Sub

Tipps für Profis

  • Verwende Konstanten für die Textboxen-Namen: Anstatt die Namen der Textboxen hartkodiert in deinem Code zu verwenden, definiere sie als Konstanten. Das macht deinen Code flexibler und leichter wartbar.

  • Fehlerbehandlung einbauen: Implementiere eine Fehlerbehandlung, um sicherzustellen, dass dein Makro auch bei unerwarteten Fehlern nicht abstürzt.

On Error Resume Next
  • Makros regelmäßig testen: Teste deine Makros regelmäßig, um sicherzustellen, dass sie wie gewünscht funktionieren, insbesondere wenn du Änderungen vornimmst.

FAQ: Häufige Fragen

1. Wie kann ich Textboxen in einer Userform ansprechen?
Verwende einfach Me.Controls("TextBox" & i).Visible = False, während du dich in der Userform befindest.

2. Was ist der Unterschied zwischen OLEObjects und Shapes?
OLEObjects sind Steuerelemente, die aus der Toolbox stammen, während Shapes grafische Objekte sind, die du in Excel zeichnen kannst. Die Methoden zur Ansprache sind unterschiedlich.

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