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

verplichten velden in te vullen macro

Status
Niet open voor verdere reacties.

avesoft

Gebruiker
Lid geworden
11 apr 2011
Berichten
186
beste forumleden

als ik via een msgbox een melding wil krijgen dat een veld niet ingevuld is en als voorwaarde de bepaalde gegevens weg wil schrijven naar sheet x als div txt,cbo velden niet ingevuld zijn , hoe krijg ik dat voor mekaar

kunnen jullie hiermee mij werderom mee helpen

Private Sub cmdOK_Click()

Dim iRow As Long
'Zoek de eerste lege rij
iRow = Sheets("ingevoerde gegevens").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
'check op factuurnummer

'copieër de data naar Blad14
With Sheets("ingevoerde gegevens")
.Cells(iRow, 2).Value = Me.cboklant.Value
.Cells(iRow, 3).Value = Me.cbocontactpersoon.Value
.Cells(iRow, 4).Value = Me.cboadres.Value
.Cells(iRow, 5).Value = Me.txtorderklant.Value
.Cells(iRow, 1).Value = Me.txtorderstork.Value
.Cells(iRow, 6).Value = Me.cbowerkzaamheden.Value
.Cells(iRow, 7).Value = Me.txteigenomschrijving.Value
.Cells(iRow, 8).Value = Me.cbooproep.Value
.Cells(iRow, 9).Value = Me.cbomonteurs.Value
.Cells(iRow, 10).Value = Me.cboweeknummers.Value
.Cells(iRow, 11).Value = Me.cboweekdag.Value
.Cells(iRow, 12).Value = Me.cbovast.Value
.Cells(iRow, 13).Value = Me.txturen.Value
End With

deze code gebruik ik

gr arie
 
Laatst bewerkt:
Zoiets?
Code:
Sub tst()
  With Sheets("Blad1")
    If .TextBox1 = "" Or .ComboBox1 = "" Then
  MsgBox "melding"
Else
   Sheets(2).Cells(.Rows.Count, 1).End(xlUp).Offset(1) = .TextBox1.Value
   Sheets(2).Cells(.Rows.Count, 2).End(xlUp).Offset(1) = .ComboBox1.Value
  End If
 End With
End Sub
 
Ga hiermee verder tot je alle objecten hebt benoemd.
Code:
If Me.cboklant = "" Or Me.cbocontactpersoon = "" Or .............  Or....  Then
msgbox "melding"
else
......jouw verder code
 
Code:
Dim Ctl As Control
    For Each Ctl In Me.Controls
        If TypeOf Ctl Is MSForms.TextBox Or TypeOf Ctl Is MSForms.ComboBox Then
            If Ctl = "" Then MsgBox "Melding": Exit Sub
        End If
    Next
 
Daar was ik juist naar op zoek Rudi. :thumb:
 
HSV

krijg het niet voor mekaar , die van Warme bakkertje werkt wel maar daar moet ik alles invullen

gr arie
 
Upload een .xls bestandje, dan hoeven we het niet na te bootsen.
 
HSV

Zo werkt het wel maar zet evengoed de gegevens in mijn lijst(sheet) als niet alles is ingevuld

dan krijg ik msgbox en het sluit dan geheel de userform

ik kan geen bestand sturen omdat dit in een groot bestand zit

Code:

Private Sub cmdOK_Click()

If Me.cboklant = "" Or Me.cboadres = "" Or Me.cboadres = "" Or Me.txtorderstork = "" Or Me.cbowerkzaamheden = "" Or Me.cbomonteurs = "" Or Me.cboweeknummers = "" Or Me.cbovast = "" Then
MsgBox "Gegevens niet geheel ingevuld"
End If

Dim iRow As Long
'Zoek de eerste lege rij
iRow = Sheets("ingevoerde gegevens").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
'check op factuurnummer

'copieër de data naar Blad14
With Sheets("ingevoerde gegevens")
.Cells(iRow, 2).Value = Me.cboklant.Value
.Cells(iRow, 3).Value = Me.cbocontactpersoon.Value
.Cells(iRow, 4).Value = Me.cboadres.Value
.Cells(iRow, 5).Value = Me.txtorderklant.Value
.Cells(iRow, 1).Value = Me.txtorderstork.Value
.Cells(iRow, 6).Value = Me.cbowerkzaamheden.Value
.Cells(iRow, 7).Value = Me.txteigenomschrijving.Value
.Cells(iRow, 8).Value = Me.cbooproep.Value
.Cells(iRow, 9).Value = Me.cbomonteurs.Value
.Cells(iRow, 10).Value = Me.cboweeknummers.Value
.Cells(iRow, 11).Value = Me.cboweekdag.Value
.Cells(iRow, 12).Value = Me.cbovast.Value
.Cells(iRow, 13).Value = Me.txturen.Value
End With

With Sheets("week 1")
.Range("B40").Value = cboklant.Value
.Range("D40").Value = txteigenomschrijving.Value
.Range("S40").Value = txtorderstork.Value
.Range("W40").Value = cbomonteurs.Value
End With

'Maak de data leeg
Me.cboklant.Value = ""
Me.cbocontactpersoon = ""
Me.cboadres.Value = ""
Me.txtorderklant.Value = ""
Me.txtorderstork.Value = ""
Me.cbowerkzaamheden.Value = ""
Me.txteigenomschrijving.Value = ""
Me.cbooproep.Value = ""
Me.cbomonteurs.Value = ""
Me.cboweeknummers.Value = ""
Me.cboweekdag.Value = ""
Me.cbovast.Value = ""
Me.cboweekdag.Value = ""
Me.txturen.Value = ""
Me.cboklant.SetFocus

End Sub

gr arie
 
Hierbij dan een klein voorbeeldje van mijn kant.
Met dank aan @Rudi.
 

Bijlagen

Code:
If Me.cboklant = "" Or Me.cboadres = "" Or Me.txtorderstork = "" Or Me.cbowerkzaamheden = "" Or Me.cbomonteurs = "" Or Me.cboweeknummers = "" Or Me.cbovast = "" Then
MsgBox "Gegevens niet geheel ingevuld" [COLOR="red"]:Exit sub[/COLOR]
End If
 
heren

heb het voor mekaar, maar krijg als ik op en grijs vlak buiten de velden klik krijg ik fout met naam fout 400 het userform word al weer gegeven

enig idee wat dat betekend

gr arie
 
Hoe wordt de UserForm aangeroepen.
 
HSV

ik denk dat ik het gevonden heb , tussen macro staat userform_click tussen denk ik

ik kijk dit moren even na

gr arie
 
HSV

id er stond Userform_click ergens tussen waar die niet moest staan

gr arie
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan