• 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.

Meerdere TextBoxen nalopen met code kan efficienter

Status
Niet open voor verdere reacties.

AadBakker

Gebruiker
Lid geworden
31 mrt 2014
Berichten
22
Beste Forumleden,

Ik heb een bestand met een UserForm en hier staan 40 Textboxen in.
Als er TextBoxen zijn ingevuld worden deze weggeschreven op sheet "Database" op de juiste regel.
Nu heb ik een code voor elke TextBox maar volgens mij kan dat wel een stuk korter.
Heeft iemand een idee hoe dit moet?

In sheet "Database" kolom A staan een reeks nummers

- 11777-11876
- 12024-12123
- 13100-13199
- 14100-14199

Nu wil ik graag een melding krijgen dmv een MsgBox als er een nummer in een TextBox word ingevoerd die niet in kolom A staat
is dit mogelijk? en zo ja heeft iemand hier een code voor.

Alvasr bedankt voor de hulp

Gr, Aad

Bekijk bijlage Werkmap1.xlsm
 
Laatst bewerkt:
Maak de textbox-nummers variabel:
Code:
Private Sub OkButton_Click()
For x = 1 To 40
    If Me("TextBox" & x).Value <> "" Then
        Range("B" & Cells.Find(Me("TextBox" & x), Cells(1)).Row).Resize(, 8) = Array(Datum, InOut, Bedrijf, Adres, Postcode, Plaats, Contactpersoon, Telefoonnummer)
    End If
Next x
Unload Me
End Sub
De textboxen waar de nummers ingevoerd moeten worden kun je beter vervangen door een keuzelijst (combobox).
 
Hoi Conseclusie

Bedankt voor je snelle hulp.
Het werkt inderdaad perfect.

Ik ga het zeker nog even proberen met ComboBoxen.

Had jij misschien ook nog een antwoord op mijn 2e vraag mbt de melding als er een verkeerde waarde word ingevuld

Hartelijk dank voor de hulp

Gr,

Aad
 
Ja:
Code:
Private Sub OkButton_Click()
For x = 1 To 40
    If Me("TextBox" & x).Value <> "" Then
        If Application.WorksheetFunction.CountIf(Range("A10:A409"), Me("TextBox" & x).Value) = 0 Then
            MsgBox Me("TextBox" & x).Value & " komt niet voor.", vbCritical, "Invoer foutief"
        Else:
            Range("B" & Cells.Find(Me("TextBox" & x), Cells(1)).Row).Resize(, 8) = Array(Datum, InOut, Bedrijf, Adres, Postcode, Plaats, Contactpersoon, Telefoonnummer)
        End If
    End If
Next x
Unload Me
End Sub
 
Hoi Conseclusie,

Wederom bedankt voor de snelle hulp werkt perfect

Gr,

Aad
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan