Gegevens overzetten naar eerste lege cel in kolom B (vanaf B4)

Status
Niet open voor verdere reacties.

helenerachel

Nieuwe gebruiker
Lid geworden
29 mei 2023
Berichten
1
Hey

Ik vind in de andere conversaties niet onmiddellijk een oplossing voor mijn probleem. Het gaat om een bestaande macro die gegevens overzet naar een ander tabblad.

Uit het tabblad "inputblad per dag" wordt de info gekopieerd van cel D76 tot J78 naar het tabblad "8. Proeven". Het probleem is dat er niet altijd 3 rijen gegevens zijn voor die dag. Dit kan ook 1 lijn of zelfs geen info zijn.

Wanneer de data wordt overgezet, neemt hij niet de eerste lege cel in kolom B, maar slaat hij de overgezette LEGE LIJNEN ook over. Hoe kan ik dat verhelpen?

With Sheets("8. Proeven")
Set NextRow = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)
End With
Blad1.Range("B76:J78").Copy
NextRow.PasteSpecial Paste:=xlValues, Transpose:=False
Application.CutCopyMode = False
Set NextRow = Nothing
On Error Resume Next
Sheets("Inputblad per dag").Range("B76:J78").Cells.SpecialCells _
(xlCellTypeConstants, 23).ClearContents
On Error GoTo 0


(is maar deel van de volledige VBA, maar iedere keer gelijkaardig)

Alvast bedankt voor de tips!
 
Laatst bewerkt:
Een voorbeeld bestandje met wat dummy data en de juiste macro werkt véél beter en sneller. Of wil je dat we eerst de situatie nabouwen?
 
Je schrijft in de code: "Blad1.Range("B76:J78").Copy" en in de inleiding "inputblad per dag"

Ikzelf zou een for .. next lus gebruiken om de data van tab1 naar tab2 te kopieeren.
 
Handmatig gebruik je in zo'n gebal geen kopiëren maar knippen.
Waarom dan niet in VBA ?
Dan is 1 regel voldoence.
Het helpt ook als je kolommen telt vanaf 1. Dan is kolom B nooit 1.

Code:
Sub M_snb()
  Blad1.cells(76,2).currentregiion.Cut Sheets("8. Proeven").Cells(Rows.Count, 2).End(xlUp).Offset(1)
End Sub

En overigens sluit ik mij 130% aan bij de opmerkingen van @Octa (zeker gezien je 'overige code')
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan