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

Userform; altijd invoegen in dezelfde rij

Status
Niet open voor verdere reacties.

wlsandman

Gebruiker
Lid geworden
22 sep 2006
Berichten
71
Ik heb een userform gemaakt waar personen informatie in moeten invoeren.
Hij werkt in principe wel, maar zet de informatie niet op de goede plaats neer.

Code:
Private Sub CommandButton1_Click()
If Idatum.Text = "" Then
MsgBox ("Vul a.u.b. een datum in!")

Else
        If MsgBox("Wilt u deze ritgegevens toevoegen?", vbYesNo) = vbYes Then
    
        Sheets("Invoer").Activate
        Range("A" & Rows.Count).End(xlUp).Offset(1) = CDate(Idatum.Text)
        Range("B" & Rows.Count).End(xlUp).Offset(1) = Iauto.Text

        If Irit1.Value = True Then
        Range("D" & Rows.Count).End(xlUp).Offset(1) = "X"
        Else
        End If
        If Irit2.Value = True Then
        Range("E" & Rows.Count).End(xlUp).Offset(1) = "X"
        End If
        If Ibleiswijk.Value = True Then
        Range("H" & Rows.Count).End(xlUp).Offset(1) = Istw.Text
        Range("I" & Rows.Count).End(xlUp).Offset(1) = Idc.Text
        Else
        End If
        If Irijnsburg.Value = True Then
        Range("J" & Rows.Count).End(xlUp).Offset(1) = Istw.Text
        Range("K" & Rows.Count).End(xlUp).Offset(1) = Idc.Text
        End If
        Range("N" & Rows.Count).End(xlUp).Offset(1) = Ikweker.Text
        Range("O" & Rows.Count).End(xlUp).Offset(1) = Iklant.Text
        Range("P" & Rows.Count).End(xlUp).Offset(1) = Iextra.Text

Iauto.Text = ""
Irit1.Value = False
Irit2.Value = False
Ibleiswijk.Value = False
Irijnsburg.Value = False
Istw.Text = ""
Idc.Text = ""
Ikweker.Text = ""
Iklant.Text = ""
Iextra.Text = ""
End If
End If
End Sub

Als ik op OK drukt, dan moet hij alle gegevens wegschrijven in 1 rij, omdat niet alle gegevens hoeven ingevoerd te worden moet hij niet zoeken naar het laatste lege veld in de kolom (wat hij nu dus wel doet). In principe is kolom a altijd gevuld, dus hij moet dus kijken naar de laatste lege rij in kolom a, en daar vult hij dan alles in!
 
Probeer deze eens:
Code:
Private Sub CommandButton1_Click()
dim legeregel as long

If Idatum.Text = "" Then
MsgBox ("Vul a.u.b. een datum in!")

Else
        If MsgBox("Wilt u deze ritgegevens toevoegen?", vbYesNo) = vbYes Then
    
        legeregel = Range("A" & Rows.Count).End(xlUp).Offset(1).row
        
        Sheets("Invoer").Activate
        Range("A" & legeregel) = CDate(Idatum.Text)
        Range("B" & legeregel) = Iauto.Text

        If Irit1.Value = True Then
        Range("D" & legeregel) = "X"
        Else
        End If
        If Irit2.Value = True Then
        Range("E" & legeregel) = "X"
        End If
        If Ibleiswijk.Value = True Then
        Range("H" & legeregel) = Istw.Text
        Range("I" & legeregel) = Idc.Text
        Else
        End If
        If Irijnsburg.Value = True Then
        Range("J" & legeregel) = Istw.Text
        Range("K" & legeregel) = Idc.Text
        End If
        Range("N" & legeregel) = Ikweker.Text
        Range("O" & legeregel) = Iklant.Text
        Range("P" & legeregel) = Iextra.Text

Iauto.Text = ""
Irit1.Value = False
Irit2.Value = False
Ibleiswijk.Value = False
Irijnsburg.Value = False
Istw.Text = ""
Idc.Text = ""
Ikweker.Text = ""
Iklant.Text = ""
Iextra.Text = ""
End If
End If
End Sub

Groet,
Ferenc
 
Laatst bewerkt:
Zet de eerstvolgende lege eerst in een variabele. Declareer die variabele als Long. Gebruik vervolgens die variabele voor de overige kolommen.

Snap je?

Wigi
 
Zet de eerstvolgende lege eerst in een variabele. Declareer die variabele als Long. Gebruik vervolgens die variabele voor de overige kolommen.

Snap je?

Wigi

Zie bijdrage van Ferenc. Bedankt daarvoor.
 
Wigi,

Nette samenwerking.
Bedankt voor je uitleg.


Groet,
Ferenc
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan