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

Macro loopt niet maar ik zie niet waar door!

Status
Niet open voor verdere reacties.

Atwist

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

Ik heb hier een macro maar deze loopt vast maar ik zie niet wat er mis is.

Bij de rode regel gaat het mis, hij loopt vast en krijg de fout melding 424 "object vereist"

Code:
Private Sub CommandButton4_Click()
 Range("A24").Select
Dim iRow As Long
'Vind de eerste lege rij in uw database
iRow = Sheets("Brand").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
'check op invoer

[COLOR="Red"]If TextBoxZonenr1.Value = "" Then[/COLOR]
  TextBoxZonenr1.SetFocus
  MsgBox "Voer het zone nummer in"
  Exit Sub
End If
If TextBoxVolgnr1.Value = "" Then
  TextBoxVolgnr1.SetFocus
  MsgBox "Voer het lus volgnummer in"
  Exit Sub
End If
If Trim(Me.ComboBox3.Value) = "" Then
Me.ComboBox3.SetFocus
Exit Sub
End If
If TextBoxLokatie1.Value = "" Then
  TextBoxLokatie1.SetFocus
  MsgBox "Voer de lokatie in"
  Exit Sub
End If
If Trim(Me.ComboBox4.Value) = "" Then
Me.ComboBox4.SetFocus
Exit Sub
End If
If TextBoxIDnr1.Value = "" Then
  TextBoxIDnr1.SetFocus
  MsgBox "Voer ID-nummer in"
  Exit Sub
End If
'copy the data to the database
With Sheets("Brand")
  .Cells(iRow, 1).Value = TextBoxZonenr1.Value
  .Cells(iRow, 2).Value = TextBoxVolgnr1.Value
  .Cells(iRow, 3).Value = ComboBox3.Value
  .Cells(iRow, 4).Value = TextBoxLokatie1.Value
  .Cells(iRow, 5).Value = ComboBox4.Value
  .Cells(iRow, 6).Value = TextBoxIDnr1.Value
  End With

'clear the data
TextBoxZonenr1.Value = ""
TextBoxVolgnr1.Value = ""
ComboBox3.Value = ""
TextBoxLokatie1.Value = ""
ComboBox4.Value = ""
TextBoxIDnr1.Value = ""
End Sub
 
Laatst bewerkt:
Bestaat er wel een besturingselement genaamd TextBoxZonenr1?
Inderdaad zal een (voorbeeld)bestand veel duidelijkheid scheppen.

Met vriendelijke groet,


Roncancio
 
Kijk eens wat vaker in dit forum:
Vermijd het lastigvallen van gebruikers met meldingen.
Doe controles op de achtergrond en gebruik visuele eigenschappen (zichtbaarheid/kleuren) om te laten zien of de gebruiker alles heeft ingevuld. Bijvoorbeeld door het wel/niet tonen van een vervolgknop.
Mt een handiger naamgeving van userformelementen kun je gemakkelijk lussen maken.

bijv.
Code:
for j=1 to 533
  cells(1,j)=Me("tekst" & j).Text
  Me("tekst" &j).Text="")
Next
 
Beste SNB,

:eek:
Kijk eens wat vaker in dit forum:
Vermijd het lastigvallen van gebruikers met meldingen.
:eek:

Mag ik hierover een uitleg??????

Ik zit heel veel op dit forum en haal hier heel veel voorbeelden weg om te gebruiken.
 
Beste Revdutchie & Roncancio,

Ik wil graag een voorbeeld sturen maar dat kan niet zonder gevoelige informatie dus laat ik dat liever.
 
Tja, ik denk dat foutopsporing dan wel heel lastig word. Voor mij wel in iedergeval.
 
@Atwist
SNB bedoelde eigenlijk dat je de gebruikers van je bestand niet moet lastigvallen met meldingen, niet de gebruikers hier op het forum
Bestaat er wel een besturingselement genaamd TextBoxZonenr1?
Op deze vraag heb ik echter nog geen antwoord gezien en overigens gebruik je voor een TextBox geen .Value maar .Text
 
bijv.

Code:
Private Sub txtZonenr1_afterUpdate()
  controle
End Sub

Private Sub txtVolgnr1_afterUpdate()
  controle
End Sub

Private Sub cmbCombobox3_afterUpdate()
  controle
End Sub

Private Sub txtLokatie1_afterUpdate()
  controle
End Sub

Private Sub cmbCombobox4_afterUpdate()
  controle
End Sub

Private Sub txtIDnr1_afterUpdate()
  controle
End Sub

Private Sub controle()
  knop_vervolg.visible=instr("|" & txtZonenr1.Text & "|" & txtVolgnr1.Text & "|" & trim(cmbCombobox3.value) & "|" & txtLokatie1.Text & "|" & trim(cmbCombobox4.Value) & "|" & txtIDnr1.Text & "|","||")=0
End Sub

Het niet-verschijnen van de vervolgknop is voor de gebruiker het signaal dat niet alle gegevens zijn ingevuld.
Zonodig kun je in de Caption van het Userform daarover nadere informatie zetten.
De enige reden voor jouw foutmelding is het ontbreken van dat userformelement.

@Rudi
Dank voor je tolk-funktie.
 
Laatst bewerkt:
Beste Warme bakkertje,

Quote:
Bestaat er wel een besturingselement genaamd TextBoxZonenr1?

De textboxzonenr1 is aanwezig in mijn userform
 
Macro loopt niet maar ik zie niet waar door

Probeer misschien eens:
Code:
If UserForm1.Controls("TextBoxZonenr1").Text = "" Then
in de plaats van de rode tekst in post #1.
 
Als je If Me. intikt krijg je een lijst met de beschikbare controls voor je Userform. Selecteer hier de juiste Textbox
 
Heb probleem gevonden

In plaats van TextboxZonenr1 zag ik na veel turen dat er TetxboxZonenr1 stond bij de eigenschappen van de Textbox.

Dus stomweg een tik fout van deze kant:eek:

Ik dank jullie voor het mee denken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan