Help

Mark_68

Gebruiker
Lid geworden
17 mei 2024
Berichten
54
Als ik de volgende code gebruik gaat hij niet naar de volgende regel met opslaan, maar vervangt hij steeds dezelfde cel

Code:
Private Sub cmdInvoeren_Click()

Dim le As Long
lr = Sheets("Data").Range("A" & Rows.Count).End(xlUp).Row + 1

With Sheets(cmbKeuze.Text)
.Cells(lr + 1, "A").Value = Me.cmbMaand.Value
.Cells(lr + 1, "C").Value = Me.txtBedrag.Value

End With

End Sub
 
Plaats een voorbeeld document.
Die code slaat niks op maar zet waarden in cellen.
Verder Dim je le en gebruik je lr.
Slordig, maar staat los van je probleem.
De lr + 1 is ook overbodig.
 
Laatst bewerkt:
Het werkblad Data is leeg.
Daar krijg je dus altijd regel 2 op terug.
 
Is er dan ook een mogelijkheid om de waardes direct naar het juiste tabblad op te slaan?
 
Uiteraard.
Plaats een relevant document en leg uit wat precies je bedoeling is.
 
Het document is hetzelfde.
Mijn bedoeling is als je voor Uitkering kiest dat het dan op het tabblad uitkering komt te staan, en zorgtoeslag op het tabblad zorgtoeslag enz.
 
Verwijder op de relevante werkbladen de lege regel 2 en gebruik dan dit:
Code:
Private Sub cmdInvoeren_Click()
    Dim lr As Long

    lr = Sheets(cmbKeuze.Text).Range("A" & Rows.Count).End(xlUp).Row + 1
    With Sheets(cmbKeuze.Text)
        .Cells(lr, "A").Value = Me.cmbMaand.Value
        .Cells(lr, "C").Value = Me.txtBedrag.Value
    End With
End Sub
Die Dim mag ook weg.
 
Er mag wel meer weg:

Code:
Private Sub cmdInvoeren_Click()
  Sheets(cmbKeuze).cells(rows.count,1).End(xlUp).offset(1).resize(,2)=array(cmbMaand,txtBedrag)
End Sub
 
Terug
Bovenaan Onderaan