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

Status
Niet open voor verdere reacties.

spree

Gebruiker
Lid geworden
23 sep 2007
Berichten
32
OPGELOST - laatste 50

OPGELOST!


Ik zit nu een aantal uur over dit vraagstuk te brainstormen, maar ik kom maar niet tot een oplossing.

Ik moet de 50 laatste cellen uit een kolom kopieren naar een nieuwe sheet. Als jullie me uit kunnen leggen hoe ik deze moet selecteren met een macro / vba code zou het al geweldig zijn.

Één probleem, er worden regelmatig nieuwe getallen toegevoegd aan deze kolom, dus handmatig selecteren en kopieren is niet mogelijk. Het moet echt automatisch gaan.

Alvast bedankt!

Jan-Willem Evenblij
 
Laatst bewerkt:
Code:
Sub laatste50()
Dim iRij As Integer
    iRij = Range("A65536").End(xlUp).Row
    Range("A" & iRij & ":A" & iRij - 49).Copy Worksheets(2).Range("A1")
End Sub

De laatste 50 van de A-kolom worden in de A-kolom van het 2e werkblad geplaatst.

Met vriendelijke groet,


Roncancio
 
Oeps, Roncancio heeft een veel betere oplossing. Maar ik was nog aan het typen.

De laatste regel van een bepaalde kolom kun je vinden met de formule (dank aan WiGi)

Code:
laatsteRegel = Range("K" & Rows.Count).End(xlUp).Row

in dit voorbeeld dus de laatste regel van kolom "K"

Doordat LaatsteRegel nu een waarde bevat, kun je er 50 vanaf trekken en weet je je startpunt.

Kom je hier verder mee?
 
Laatst bewerkt:
Doordat LaatsteRegel nu een waarde bevat, kun je er 50 vanaf trekken en weet je je startpunt.

Met End(xlUp) vindt Excel de laatste cel.
Aangezien die cel moet worden meegenomen naar de volgende werkblad moet je -49 doen ipv -50. Anders selecteer je 51 cellen.

De volgende keer sneller typen !:D:p

Met vriendelijke groet,


Roncancio
 
Code:
Sub laatste50()
Dim iRij As Integer
    iRij = Range("A65536").End(xlUp).Row
    Range("A" & iRij & ":A" & iRij - 49).Copy Worksheets(2).Range("A1")
End Sub

De laatste 50 van de A-kolom worden in de A-kolom van het 2e werkblad geplaatst.

Met vriendelijke groet,


Roncancio

Wow, te gek, bedankt!!!
 
Spree, Had je haast met een oplossing????:rolleyes: (www.worksheet.nl)

Maar goed....

@Roncancio, ff een opmerking over je code (goed bedoeld!)
Code:
Sub laatste50()
Dim iRij As Integer
    iRij = Range("A65536").End(xlUp).Row
    Range("A" & iRij & ":A" & iRij - 49).Copy Worksheets(2).Range("A1")
End Sub

De laatste 50 van de A-kolom worden in de A-kolom van het 2e werkblad geplaatst.

Met vriendelijke groet,


Roncancio
  • Declareer een rij-nummer ALTIJD als Long. Met een Integer loop je op een gegeven moment stuk. (integer-bereik is van -32768 tot +32767)
  • Als je nog niet bij regel 50 bent en je gaat copieren zal het op deze manier niet lukken. Je komt dan onder regel 1 uit en de code zal knallen.
  • Persoonlijk lijkt 't me mooier om de code in te zetten bij het Worksheet_Change-event waarbij je test of de Target in kolom 1 zit.

Groet, Leo
 
Spree, Had je haast met een oplossing????:rolleyes: (www.worksheet.nl)

Maar goed....

@Roncancio, ff een opmerking over je code (goed bedoeld!)

  • Declareer een rij-nummer ALTIJD als Long. Met een Integer loop je op een gegeven moment stuk. (integer-bereik is van -32768 tot +32767)
  • Als je nog niet bij regel 50 bent en je gaat copieren zal het op deze manier niet lukken. Je komt dan onder regel 1 uit en de code zal knallen.
  • Persoonlijk lijkt 't me mooier om de code in te zetten bij het Worksheet_Change-event waarbij je test of de Target in kolom 1 zit.

Groet, Leo

@Spree.
Onderaan de topic staat een knop om de vraag op opgelost te zetten.

@ Ginger.
Ad 1. Macht der gewoonte. Ik zal het meenemen.
Ad 2. Had gekund, maar ik ga/ging er vanuit dat er al 50 regels aanwezig zijn.
Ad 3. Dat kan inderdaad ook. Hangt ook een beetje af wat een TS wil.

Igg bedankt voor de feedback. :thumb:

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan