Functie 'Alle velden leegmaken' op een userform in een module

Status
Niet open voor verdere reacties.

xenium

Gebruiker
Lid geworden
1 jul 2007
Berichten
148
Hey,

Ik probeer hier iets in mekaar te steken, maar kom al direct een probleem tegen.

In Excel kan je alle velden op je userform snel leegmaken door onderaan te noteren:

Code:
 Dim cCont as Control
        For Each cCont In Me.Controls
            If TypeName() = "TextBox" Then
                Me.ccont.text = ""
            End If
        Next

Dit werkt ook perfect in VB.NET, in een formulier, maar wou nu deze in een module zetten.

Dus de code die ik nu heb in een module in VB.NET is:

Code:
Public Sub leegmaken()

        Dim cCont As Control

        For Each cCont In Me.Controls
            If TypeName() = "TextBox" Then
                Me.ccont.text = ""
            End If
        Next
    End Sub

Hij geeft de foutmelding: "'Me' is not valid within a Module."
Ik heb dan me. weggelaten.
Nu krijg ik de volgende foutmelding: "'Controls' is not declared. It may be inaccessible due to its protection level."

Kan er mij hier iemand mee verder helpen?

Alvast bedankt.
 
"me" valt nu buiten de context van je userform en is in die module dus niet beschikbaar.
Deze zul je dus op een andere manier bekend moeten maken. Ik kan het even niet testen nu maar probeer het eens zo:

Code:
Public Sub leegmaken(FormNaam As Object)

        Dim cCont As Control

        For Each cCont In FormNaam.Controls
            If TypeName() = "TextBox" Then
                FormNaam.cCont.text = ""
            End If
        Next

End Sub

Vervolgens vanuit een formulier event:
Call leegmaken(me)
 
Laatst bewerkt:
Hallo,

Het heeft het eerste probleem opgelost. Echter nu krijg ik de volgende foutmelding bij TypeName: (Argument not specified for parameter 'VarName' of 'Public function TypeName (VarName as object) as string'.

Code:
 Public Sub leegmaken(ByVal FormNaam As Object)

        Dim cCont As Control

        For Each cCont In FormNaam.controls
            If TypeName() = "TextBox" Then
                FormNaam.cCont.text = ""
            End If
        Next
    End Sub

Weet er hier iemand raad mee? Het is voor mij te lang geleden dat ik echt geprogrammeerd heb en wil er mij nu terug mee bezig houden... Alvast bedankt.
 
Laatst bewerkt door een moderator:
Dag ReneDirks, werkt perfect.. Ik zat al een hele tijd naar het scherm te kijken en het schoot me niet te binnen wat ik er nu moest schrijven.


Heel hard bedankt :)
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan