Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
252to256
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
252to256
252to256
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Inhalt von TextFeld löschen

Inhalt von TextFeld löschen
09.05.2003 08:11:54
Tom
Hallo,

Wie kann ich auf Textfelder zugreifen, die auf einer Mappe sind?

In VB kann ich z.B. durch die Controls collection loopen:

dim C as Control
for each C in Me
debug.print C.Name
next C

Ich hab's mit Application.ActiveWorkSheet versucht aber
dann krieg ich Error 438.

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

Betreff
Datum
Anwender
Anzeige
Re: Inhalt von TextFeld löschen
09.05.2003 08:29:04
Thomas Risi

Hallo

Du mußt die Controls vor dem 'Loopen' in eine Collection einlesen. Nachfolgend ein kleines Beispiel (weitere auf meiner Webseite) ...



' Hier werden alle 'Textbox'-Steuerelemente in eine Collection
' eingelesen um sie indiziert ansprechen zu können.
'
Dim TextBoxes As New Collection

Sub TBCollection()

    Dim As Object

    For Each In Worksheets("Tabelle1").OLEObjects
        If i.ProgId = TEXTBOX Then
            TextBoxes.Add i
        End If
    Next i
    
    IndexTest
    
End Sub

' Jetzt ist jedes Element mit einem Index versehen.
'
Sub IndexTest()

    Dim As Long
    
    For i = 1 To TextBoxes.Count
        MsgBox TextBoxes(i).Name
    Next i
    
End Sub



     Code eingefügt mit Syntaxhighlighter 2.1

Gruß
Thomas

Risi Thomas Softwareentwicklung



Anzeige
Re: Inhalt von TextFeld löschen
09.05.2003 09:08:53
Tom

Hallo Thomas (Namensvetter)

Vielen dank für deine Antwort! .OLEObjects zu brauchen hat's
gebracht. Warum ich aber eigentlich gefragt habe, ich wollte
den Inhalt der TextBox löschen, also z.B.:

ich hab's mit deinem Code versucht aber dann krieg ich wieder
einen 438er. Hast du noch eine Idee?

Nochmal Danke!

Tom

BTW:
Mit "If i.ProgId = TEXTBOX Then"
hat's nicht geklappt, hab den Code geändert in

oder hab ich da wieder was falsch verstanden?

BTW2:
Wo ist denn deine Webseite?




Anzeige
Re: Inhalt von TextFeld löschen
09.05.2003 09:10:23
Tom

Hab mich vertipp, meinte natürlich ohne die MsgBox:



Re: Inhalt von TextFeld löschen
09.05.2003 09:33:22
Thomas Risi

Hallo Tom

Versuch's mal etwa so ...



Dim TextBoxes As New Collection

Private Sub CommandButton1_Click()
    
    Dim As Object
    Dim As Object

    For Each In Worksheets("Tabelle2").OLEObjects
        If i.ProgId = "Forms.TextBox.1" Then
            TextBoxes.Add i
        End If
    Next i

    For Each In TextBoxes
        j.Object.Text = ""
    Next j
    
End Sub


     Code eingefügt mit Syntaxhighlighter 2.1

Gruß
Thomas

Risi Thomas Softwareentwicklung



Anzeige
Re: Inhalt von TextFeld löschen
09.05.2003 10:00:19
Tom

Ja, so hat's geklappt. Danke für den tip mit der
Collection, werd' ich mir merken!

Danke!

Tom

Re: Inhalt von TextFeld löschen
09.05.2003 11:19:18
Thomas Risi

Noch eine kleine Verbesserung ...


Dim TextBoxes As New Collection

Private Sub CommandButton1_Click()
    
    Dim As Object
    Dim As MSForms.TextBox

    For Each In Worksheets("Tabelle2").OLEObjects
        If i.ProgId = "Forms.TextBox.1" Then
            TextBoxes.Add i.Object
        End If
    Next i

    For Each In TextBoxes
        j.Text = ""
    Next j
    
End Sub



     Code eingefügt mit Syntaxhighlighter 2.1

Gruß
Thomas

Risi Thomas Softwareentwicklung



Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige