• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Invoer via userform lukt niet

Status
Niet open voor verdere reacties.

Atwist

Terugkerende gebruiker
Lid geworden
24 jan 2006
Berichten
1.055
Besturingssysteem
Wndows 10
Office versie
2016
Hallo

Ik ben bezig om een userform te maken voor ons kantoor, het userform is niet het probleem.
De invoer die wil doen word niet in de lijst gezet.
als ik nieuwe layer naam opgeef op op invoer druk dan wordt deze niet op de eerst volgende lege regel gezet.

Zou iemand eens willen kijken

Bekijk bijlage Kopie van Layerlijst.zip
 
Dat komt omdat je steeds Exit Sub gebruikt als er in een Listbox geen keuze is gemaakt.
Ik zou trouwens sowieso niet scheutig zijn met Exit Sub want nu weet de gebruiker nog niet welke listbox nog ingevuld moet worden.
Met kleur en eventueel een melding wordt het als veel duidelijker.
Bovendien bestaat nu de kans dat als de gebruiker 2 listboxen niet invult, de code stopt omdat de 1e listbox niet is ingevuld en dus de overigen niet gecontroleerd worden.

Met vriendelijke groet,


Roncancio
 
In plaats van:
Code:
If Trim(Me.ListBox12.Value) = "" Then
Me.ListBox12.SetFocus
Exit Sub
End If
If Trim(Me.ListBox11.Value) = "" Then
Me.ListBox11.SetFocus
Exit Sub
End If
If Trim(Me.ListBox10.Value) = "" Then
Me.ListBox10.SetFocus
Exit Sub
End If
If Trim(Me.ListBox13.Value) = "" Then
Me.ListBox13.SetFocus
Exit Sub
End If
If Trim(Me.ListBox7.Value) = "" Then
Me.ListBox7.SetFocus
Exit Sub
End If
If Trim(Me.ListBox8.Value) = "" Then
Me.ListBox8.SetFocus
Exit Sub
End If
If Trim(Me.ListBox1.Value) = "" Then
Me.ListBox1.SetFocus
Exit Sub
End If
...zou je kunnen volstaan met ...
Code:
Dim ct As Control
    For Each ct In Me.Controls
        If TypeOf ct Is MSForms.ListBox Then
            If ct.ListIndex < 0 Then ct.BackColor = vbRed
        End If
    Next
Minder code en listboxen die niet ingevuld zijn, krijgen een rode achtergrond.

Met vriendelijke groet,


Roncancio
 
Goedemiddag!!!:shocked:

Dit scheelt een hoop tik werk.

Werkt grandioos.

Kan deze ook worden gebruikt voor comboBoxen?

Kan de rode kleur ook worden gereset?
Als ik namelijk de 2e invoer maak blijven de velden rood
 
Laatst bewerkt:
Beide vragen zitten in deze bijgewerkte code.

Code:
Dim ct As Control
    For Each ct In Me.Controls
        If TypeOf ct Is msforms.ListBox Or TypeOf ct Is msforms.combobox Then
            ct.BackColor = vbWhite
            If ct.ListIndex < 0 Then ct.BackColor = vbRed
        End If
    Next

Met vriendelijke groet,


Roncancio
 
Dankje Roncancio:thumb:
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan