Laatste regel wordt overschreven bij het overzetten van meerdere regels

Status
Niet open voor verdere reacties.

Excelletje100

Gebruiker
Lid geworden
21 mei 2022
Berichten
5
Hoi!

Als er 1 regel van het tabblad invoer naar het tabblad data wordt overgezet gaat het wel goed, maar als er meerdere regels worden overgezet wordt de laatste regel steeds overschreven....
Dit script moet zowel werken voor het overzetten van 1 regel als voor het overzetten van bijv. 1000 regels.

Ik hoop dat iemand mij kan helpen met dit VBA Excel probleempje:)


Dit is mijn script:

Code:
Sub KopieerGegevensNaarDataTabblad()
    Dim InvulBlad As Worksheet
    Dim DataBlad As Worksheet
    Dim LaatsteRijData As Long
    Dim LaatsteRijInvul As Long
    Dim Rij As Long
  
    ' Stel de werkbladen in
    Set InvulBlad = ThisWorkbook.Sheets("invul")
    Set DataBlad = ThisWorkbook.Sheets("data")


    ' Bepaal de laatste rij met gegevens in het datatablad
    LaatsteRijData = DataBlad.Cells(DataBlad.Rows.Count, 1).End(xlUp).Row + 1 ' Nieuwe rij toevoegen


    ' Bepaal de laatste rij met gegevens in het invulblad
    LaatsteRijInvul = InvulBlad.Cells(InvulBlad.Rows.Count, 1).End(xlUp).Row


    ' Loop door elke rij in het invulblad vanaf rij 2
   For Rij = 2 To LaatsteRijInvul
    ' Kopieer elke waarde naar het datatablad op basis van de kolom
    LaatsteRijData = LaatsteRijData
    DataBlad.Cells(LaatsteRijData, 21).Value = InvulBlad.Cells(Rij, 1).Value ' Kolom A


    LaatsteRijData = LaatsteRijData + 1
    DataBlad.Cells(LaatsteRijData, 23).Value = InvulBlad.Cells(Rij, 2).Value ' Kolom B


    LaatsteRijData = LaatsteRijData
    DataBlad.Cells(LaatsteRijData, 25).Value = InvulBlad.Cells(Rij, 3).Value ' Kolom C


    LaatsteRijData = LaatsteRijData
    DataBlad.Cells(LaatsteRijData, 26).Value = InvulBlad.Cells(Rij, 4).Value ' Kolom D


    LaatsteRijData = LaatsteRijData + 1
    DataBlad.Cells(LaatsteRijData, 31).Value = InvulBlad.Cells(Rij, 5).Value ' Kolom E


    LaatsteRijData = LaatsteRijData
    DataBlad.Cells(LaatsteRijData, 35).Value = InvulBlad.Cells(Rij, 6).Value ' Kolom F


    LaatsteRijData = LaatsteRijData + 1
    DataBlad.Cells(LaatsteRijData, 86).Value = InvulBlad.Cells(Rij, 7).Value ' Kolom G
  
    LaatsteRijData = LaatsteRijData + 1
    DataBlad.Cells(LaatsteRijData, 101).Value = InvulBlad.Cells(Rij, 8).Value ' Kolom H
Next Rij


Call VulLegeCellenMetNul


    ' Geef een melding wanneer het kopiëren is voltooid
    MsgBox "Gegevens zijn succesvol gekopieerd naar het datatablad.", vbInformation
End Sub
 
Laatst bewerkt door een moderator:
Probeer het zo eens:
Code:
LaatsteRijData = DataBlad.Cells(DataBlad.Rows.Count, 1[COLOR=#ff0000]01[/COLOR]).End(xlUp).Row + 1 ' Nieuwe rij toevoegen
Snap je waarom?
Verder lijkt mij
Code:
LaatsteRijData = LaatsteRijData
niet erg nuttig.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan