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

Laatste rij klopt niet

Status
Niet open voor verdere reacties.

stefano

Gebruiker
Lid geworden
22 mei 2004
Berichten
865
In het bestand in bijlage wil ik de laatste rij kennen.

Vertrekkend vanuit bv A1 doe ik een ctrl - end en kom ik bij rij 881 uit

Via onderstaande code kom ik bij rij 2000 uit.

Hoe komt dit? Hoe kan ik dit corrigeren?
 

Bijlagen

Welke code?

Hier iig al wat opties
VBA
Code:
Sub jvr()
a = Cells(1, 1).End(xlDown).Row
b = Cells(Rows.Count, 1).End(xlUp).Row
c = Range("A1:A5000").SpecialCells(2).Count
d = Application.CountA(Range("A1:A5000"))
End Sub

Formules
Code:
=AANTALARG(A1:A5000)
=VERGELIJKEN(1;--(A1:A5000="");0)-1
=MAX((A1:A5000<>"")*RIJ(1:5000))
=ZOEKEN(2;2/--(A1:A5000<>"");RIJ(1:5000))
 
Laatst bewerkt:
Fout bestand, excuus, ik moet de code opnieuw zoeken. Komt er strakjes aan :(
 
En nu met een bijlage en code, sorry :(

Bedoeling is de data in tabblad stock 2 te knippen en onder de data van tabblad stock te plakken.
 

Bijlagen

Bvb

Code:
Sub jvr()
  With Sheets("stock2").Cells(1, 1).CurrentRegion.Offset(1).Resize(, 1)
     Sheets("stock").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(.Cells.Count) = .Value
    .ClearContents
  End With
End Sub
 
Ojee, dank je wel!
Ik had ondertussen onderstaand in elkaar gebokst. Weinig aanvaardbaar denk ik dan :cool:

Code:
Sub test()

Dim laatsterijstock As Integer
Dim laatsterijstock2 As Integer

Worksheets("stock").Activate
laatsterijstock = Cells(1, 1).End(xlDown).Row + 1

Worksheets("stock2").Activate
laatsterijstock2 = Cells(1, 1).End(xlDown).Row

Worksheets("stock2").Range("A2:H" & laatsterijstock2).Copy Worksheets("stock").Range("A" & laatsterijstock)

End Sub
 
:)
Als de data op tabblad "stock2" niet verwijderd hoeft te worden kun je de .clearcontents weglaten.

Code:
Sub jvr()
  jv = Sheets("stock2").Cells(1, 1).CurrentRegion.Offset(1).Resize(, 1)
  Sheets("stock").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(UBound(jv)) = jv
End Sub

Activate/Select zijn niet nodig binnen VBA.
 
Laatst bewerkt:
Oeps JVeer

Jouw code knipt en kopieert alleen de gegevens in kolom a en niet de kolommen A.. tot I..

Wil je nog eens bekijken aub?

Code:
Sub jvr()
  With Sheets("stock2").Cells(1, 1).CurrentRegion.Offset(1).Resize(, 1)
     Sheets("stock").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(.Cells.Count) = .Value
    .ClearContents
  End With
End Sub
 
Bedoeling is de data in tabblad stock 2 te knippen en onder de data van tabblad stock te plakken.

Is niet slim. Je kunt beter die regel in een extra kolom markeren al 'klaar', 'afgehandeld' of 'stock2'.
Dat maakt je database veel stabieler, robuuster en meer analyseerbaar.
 
Laatst bewerkt:
Als je in cel B1 ook iets zet dan kan het zo


Code:
Sub jvr()
  jv = Sheets("stock2").Cells(1, 1).CurrentRegion.Offset(1)
  Sheets("stock").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(UBound(jv), UBound(jv, 2)) = jv
End Sub
 
ok, bedankt voor de tips!

Ik experimenteer ondertussen verder.

dank je wel !
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan