• 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 en variabel bereik

Status
Niet open voor verdere reacties.

jolly01

Gebruiker
Lid geworden
12 apr 2009
Berichten
486
De macro "Doortrekken" trekt de formules in de cellen J2 en K2 naar beneden tot en met K664. Vervolgens kopieert de macro het bereik A3:K664.

Nou is het bereik onder de cellen A2 tot en met I2 iedere dag weer anders, variabel, met meer of minder regels. Ik zou graag willen dat de macro zichzelf automatisch aanpast aan dit variabel bereik, met andere woorden eerst kijkt tot en met welke regel er data aanwezig is.

Dus in dit geval wil ik dat de macro ziet dat er data staat tot en met de 23ste regel en de formules in J2 en K2 doortrekt tot en met regel 23 en vervolgens het bereik A3:K23 kopieert.


Iemand een idee hoe de code er uitziet als het aantal regels met data variabel is?
 

Bijlagen

Laatst bewerkt:
Code:
lRow = Sheets("Data dump").Range("A" & Rows.Count).End(xlUp).Row
    Range("J2:K2").AutoFill Range("J2:K" & lRow)
    Range("A3:K" & lRow).Copy
 
Bedankt voor je reactie Rudi. Waar in het VBA project plaats ik de code en hoe activeer ik de macro dan?
 
Alles wat je zelf opgenomen hebt vervangen door bovenstaande.
 
Dit werkt prima Rudi !
Nou wil ik een stap verder gaan.
In de bijlage heb ik tabblad "Data dump static" toegevoegd. De bedoeling is nu dat de macro het gekopieerde bereik plakt als waarde in tabblad "Data dump static" kolom A in de eerstevolgende witregel.

Ik wil dus dat de macro automatisch kijkt naar de eerstevolgende witregel in tabblad "Data dump static". In dit geval is dat regel 66 en het gekopieerde bereik uit tabblad "Data dump" plakt als waarde in dit geval cel A66. Ook hier is de witregel dus weer variabel.

Heb je een idee hoe de code er dan uitziet?
 

Bijlagen

Code:
Sub Formule_doortrekken()
    lRow = Sheets("Data dump").Range("A" & Rows.Count).End(xlUp).Row
    Range("J2:K2").AutoFill Range("J2:K" & lRow)
    With Sheets("Data dump static")
        nRow = .Range("A" & Rows.Count).End(xlUp).Row
        .Cells(nRow + 1, 1).Resize(lRow - 2, 11).Value = Sheets("Data dump").Range("A3:K" & lRow).Value
    End With
End Sub
Vergeet echter niet de celeigenschappen van kolommen A en B op Data dump static eerst aan te passen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan