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

Macro tbv doorvoeren

Status
Niet open voor verdere reacties.

Michaelxg

Gebruiker
Lid geworden
2 aug 2011
Berichten
41
Beste mensen,

Ik heb hier een macro, waar de cellen B2 tot O2 doorgevoerd moeten worden. Deze dienen doorgesleept te worden in dit geval tot O102885. Nou is het zo dat de aantal records variabel zijn, dus de volgende keer kunnen het minder rijen zijn en de volgende keer meer rijen. Hoe dient nu de macro ingevuld te worden om dit variabel te maken afhankelijk of er iets ingevoerd is in kolom A.

Range("B2:O2").Select
Selection.AutoFill Destination:=Range("B2:O102884")
Range("B2:O102884").Select


Bij voorbaat dank,

Gr.
Michael
 
Vervang deze 3 regels
Code:
Range("B2:O2").Select
Selection.AutoFill Destination:=Range("B2:O102884")
Range("B2:O102884").Select
door deze ene regel:
Code:
Range("B2:O2").AutoFill Destination:=Range("B2:O" & Range("A65536").End(xlUp).Row)
 
=Range("B2:O" & Range("A65536")

Wat betekend & range A65536. De oudere Excel maakte altijd gebruik van deze aantal cellen? Verder kan ik de code aangegeven niet invoeren. Ik krijg een foutmelding.
 
=Range("A65536").End(xlUp) is de laatste cel in kolom A waarin wat staat.
=Range("A65536").End(xlUp).row is het rijNUMMER van die laatste cel.
 
Ik heb een voorbeeldbestand bijgevoegd.
Er wordt standaard een lijst gekopieerd uit een ander programma, in dit voorbeeld kolom A,B en C. Kolom D dient berekend te worden. Nu kan het de ene keer om 31 regels gaan, zoals in dit voorbeeldbestand. De volgende keer kan het om 100.000 regels gaan of om 2.000.

Welke macro past nu zo toe, dat cel D2 doorgesleept wordt naar de laatste regel afhankelijk van de aantal records van het ingeladen bestand.
 

Bijlagen

Je moet je bestand posten als een Excel97-2003-bestand, anders kunnen velen (waaronder ik) je macro niet inzien.
(dat heb ik al vele malen op dit forum geschreven).
 
ik heb de macro even gemaakt. Deze kan nu uitgevoerd worden, en dan berekend hij kolom D.

Kolom D loopt nu tot 32, maar wat als mijn waarden nu gewijzigd worden en hij loopt de volgende keer tot 40. Dan werkt deze macro al niet.
 

Bijlagen

Michael,

je zou je macro zo kunnen maken:
Code:
Sub uitvoeren()
'
' uitvoeren Macro
'
regels = [a1].CurrentRegion.Rows.Count
'
    Selection.AutoFill Destination:=Range("D2:D" & regels)

End Sub

variabele regels bevat het regelnummer van de laatste cel in kolom A
 
geweldig! hiermee kan ik aan de slag.

Bedankt als ik er nog vragen over heb laat ik het weten.

Bedankt. gr.
 
ik heb de macro even gemaakt.
maar i n het bestand dat je postte, staat niet MIJN code !
Uit mijn tekst hoerboven had je eenvoudig kunnen afleiden dat je die moet wijzigen als volgt:
Code:
Range("D2").AutoFill Destination:=Range("D2:D" & Range("A65536").End(xlUp).Row)
Zie de bijlage en druk Ctrl-q om de macro te starten.
 
Bedankt zapatr maar de formule van Haije loopt ook goed. Nu voor jullie nog een korte vraag hier op aansluitend. Nu passen we het toe op kolom D. Maar wat als er ook nog berekeningen staan in E, en dus D en E tegelijk doorgesleept moeten worden.
 
Uit je tekst maak ik op dat je vooraf niet weet hoeveel kolommen er doorgevoerd moeten worden.
Als dat zo is, zie de bijlage en druk Ctrl-q
 
ik krijg een foutmelding wanneer ik hem uitvoer. Het ist trouwens wel mooi bedacht om ook de kolommen variabel te maken, maar het betreft kolom D tm O
 
ik krijg een foutmelding wanneer ik hem uitvoer.
Heb je de macro uitgevoerd in het bestand dat ik postte?
Bij mij geeft die macro geen foutmelding.
Waarom vermeldt je niet WELKE foutmelding, ik ben geen helderziende.

Je laatse vraag is dezelfde als je eerste, met dien verstande dat je vanaf kolom D wil doorvoeren en niet vanaf kolom B. In de code die ik in mijn eerste bericht postte, hoef je dus enkel die letter aan te passen. Niet aan gedacht...?
Zie de bijlage en druk Ctrl-q .
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan