Jeg har lavet en userform, men når der er fejl (fx postnr skal indeholde tal), så får jeg beskeden om at der er fejl, men data bliver stadig skrevet til excel. Hvad skal jeg tilføje af kode, for at der ikke bliver sendt noget af det data i userform, med mindre alt er korrekt?
Du skal ikke nødvendigvis tilføje ekstra kode. Før du skriver til Excel, skal du tjekke om de indtastede data er OK. Hvis ikke, giver du brugeren en fejlmeddelelse og hopper dernæst ud af proceduren (fx med "Exit Sub"), så brugeren kan rette fejlen.
'her har jeg tilføjet data validering, fx hvis der er tomme felter: If Me.txtFornavn.Value = "" Then MsgBox "Indtast venligst et Fornavn.", vbExclamation, "Nyt Medlem" Me.txtFornavn.SetFocus Exit Sub End If
If Me.txtEfternavn.Value = "" Then MsgBox "Indtast venligst et Efternavn.", vbExclamation, "Nyt Medlem" Me.txtEfternavn.SetFocus Exit Sub End If
If Me.cboDag.Value = "" Then MsgBox "Vælg venligst Dag.", vbExclamation, "Nyt Medlem" Me.cboDag.SetFocus Exit Sub End If
If Me.cboMåned.Value = "" Then MsgBox "Vælg venligst Måned.", vbExclamation, "Nyt Medlem" Me.cboMåned.SetFocus Exit Sub End If
If Me.cboÅr.Value = "" Then MsgBox "Vælg venligst År.", vbExclamation, "Nyt Medlem" Me.cboÅr.SetFocus Exit Sub End If
If Me.txtAdresse.Value = "" Then MsgBox "Indtast venligst Adresse.", vbExclamation, "Nyt Medlem" Me.txtAdresse.SetFocus Exit Sub End If
If Me.txtPostnr.Value = "" Then MsgBox "Indtast venligst Post Nummer.", vbExclamation, "Nyt Medlem" Me.txtPostnr.SetFocus Exit Sub End If
If Me.txtBy.Value = "" Then MsgBox "Indtast venligst din By.", vbExclamation, "Nyt Medlem" Me.txtBy.SetFocus Exit Sub End If
If Me.txtHoldnr.Value = "" Then MsgBox "Indtast venligst et Hold Nummer.", vbExclamation, "Nyt Medlem" Me.txtHoldnr.SetFocus Exit Sub End If
'her har jeg sørget for at feltet til Postnr skal indeholde tal: If Not IsNumeric(Me.txtPostnr.Value) Then MsgBox "Postnr skal indeholde tal!", vbExclamation, "Nyt Medlem" Me.txtPostnr.SetFocus Exit Sub End If
'lukker UserForm ned efter klik på OK: Unload Me
End Sub
'indstillinger for Ryd knappen: Private Sub cmdRyd_Click()
'lukker UserForm ned og genåbner den med tomme felter: Unload Me frmNyeMedlemmer.Show
End Sub
'indstillinger for Annullere knappen: Private Sub cmdAnnullere_Click()
'lukker UserForm ned når man trykker Annullere: Unload Me
End Sub
'indstillinger for combobox cboDag: Private Sub cboDag_Change() 'man kan kun indtaste eller vælge den data, der bliver hentet fra arket Data: cboDag.Style = fmStyleDropDownList
End Sub
'indstillinger for combobox cboMåned: Private Sub cboMåned_Change() 'man kan kun indtaste eller vælge den data, der bliver hentet fra arket Data: cboMåned.Style = fmStyleDropDownList
End Sub
'indstillinger for combobox cboÅr: Private Sub cboÅr_Change() 'man kan kun indtaste eller vælge den data, der bliver hentet fra arket Data: cboÅr.Style = fmStyleDropDownList
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.