Discussion:
formules doorkopiëren tot einde range
(te oud om op te antwoorden)
Jan
2007-03-07 09:33:05 UTC
Permalink
Hallo,

hulp gezocht bij kopiëren formules dmv VBA.

In blad1 kolom A1 t/m Sxxxx staan gegevens

In kolom T t/m AN staan op rij 10 de formules

Deze formules wil ik doorkopiëren tot aan de laatste regel waar in kolom S
nog gegevens staan

Probleem is dat A t/m S niet altijd hetzelfde aantal regels is.

Handmatig is dit uiteraard geen probleem, maar wil dit graag dmv een macro
laten doen.

Bvd,
--
Jan
Krijn
2007-03-07 09:40:50 UTC
Permalink
Met een Do While lus en testen of cel Sx niet leeg is.
Post by Jan
Hallo,
hulp gezocht bij kopiëren formules dmv VBA.
In blad1 kolom A1 t/m Sxxxx staan gegevens
In kolom T t/m AN staan op rij 10 de formules
Deze formules wil ik doorkopiëren tot aan de laatste regel waar in kolom S
nog gegevens staan
Probleem is dat A t/m S niet altijd hetzelfde aantal regels is.
Handmatig is dit uiteraard geen probleem, maar wil dit graag dmv een macro
laten doen.
Bvd,
--
Jan
Krijn
2007-03-07 09:47:16 UTC
Permalink
Onderstaande code kopieert de inhoud van cell B1 in de cel eronder zolang de
inhoud van cel Ax niet leeg is:

Public Sub KopieerRegel()
Cells(2, 2).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Post by Krijn
Met een Do While lus en testen of cel Sx niet leeg is.
Post by Jan
Hallo,
hulp gezocht bij kopiëren formules dmv VBA.
In blad1 kolom A1 t/m Sxxxx staan gegevens
In kolom T t/m AN staan op rij 10 de formules
Deze formules wil ik doorkopiëren tot aan de laatste regel waar in kolom S
nog gegevens staan
Probleem is dat A t/m S niet altijd hetzelfde aantal regels is.
Handmatig is dit uiteraard geen probleem, maar wil dit graag dmv een macro
laten doen.
Bvd,
--
Jan
Krijn
2007-03-07 09:50:37 UTC
Permalink
Public Sub KopieerRegel()
Cells(2, 2).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Post by Krijn
Met een Do While lus en testen of cel Sx niet leeg is.
Post by Jan
Hallo,
hulp gezocht bij kopiëren formules dmv VBA.
In blad1 kolom A1 t/m Sxxxx staan gegevens
In kolom T t/m AN staan op rij 10 de formules
Deze formules wil ik doorkopiëren tot aan de laatste regel waar in kolom S
nog gegevens staan
Probleem is dat A t/m S niet altijd hetzelfde aantal regels is.
Handmatig is dit uiteraard geen probleem, maar wil dit graag dmv een macro
laten doen.
Bvd,
--
Jan
Jan
2007-03-07 10:14:08 UTC
Permalink
Kopieren werkt goed Krijn, maar dit is nog niet helemaal wat ik zoek.

Ik wil nml. de formules in de bovenliggende cellen doorkopiëren.
Nu wordt in iedere cel de waarde van de bovenliggende cel gezet.
Alles is dus gelijk aan B1
--
Jan
Post by Krijn
Public Sub KopieerRegel()
Cells(2, 2).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Post by Krijn
Met een Do While lus en testen of cel Sx niet leeg is.
Post by Jan
Hallo,
hulp gezocht bij kopiëren formules dmv VBA.
In blad1 kolom A1 t/m Sxxxx staan gegevens
In kolom T t/m AN staan op rij 10 de formules
Deze formules wil ik doorkopiëren tot aan de laatste regel waar in kolom S
nog gegevens staan
Probleem is dat A t/m S niet altijd hetzelfde aantal regels is.
Handmatig is dit uiteraard geen probleem, maar wil dit graag dmv een macro
laten doen.
Bvd,
--
Jan
Krijn
2007-03-07 10:38:14 UTC
Permalink
Misschien dit:
Public Sub KopieerRegel()
Cells(2, 2).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).FormulaR1C1
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Post by Jan
Kopieren werkt goed Krijn, maar dit is nog niet helemaal wat ik zoek.
Ik wil nml. de formules in de bovenliggende cellen doorkopiëren.
Nu wordt in iedere cel de waarde van de bovenliggende cel gezet.
Alles is dus gelijk aan B1
--
Jan
Post by Krijn
Public Sub KopieerRegel()
Cells(2, 2).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Post by Krijn
Met een Do While lus en testen of cel Sx niet leeg is.
Post by Jan
Hallo,
hulp gezocht bij kopiëren formules dmv VBA.
In blad1 kolom A1 t/m Sxxxx staan gegevens
In kolom T t/m AN staan op rij 10 de formules
Deze formules wil ik doorkopiëren tot aan de laatste regel waar in
kolom
S
nog gegevens staan
Probleem is dat A t/m S niet altijd hetzelfde aantal regels is.
Handmatig is dit uiteraard geen probleem, maar wil dit graag dmv een macro
laten doen.
Bvd,
--
Jan
Jan
2007-03-08 08:28:00 UTC
Permalink
Deze werkt wel! Bedankt.

Ik heb ´m nu aangepast aan de ranges in mijn werkblad.

Cells(10, 20).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).FormulaR1C1
ActiveCell.Offset(1, 0).Select
Loop
Cells(10, 21).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).FormulaR1C1
ActiveCell.Offset(1, 0).Select
Loop
Cells(10, 22).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).FormulaR1C1
ActiveCell.Offset(1, 0).Select
Loop


etc...

heb dus loops gemaakt voor 21 kolommen
het gaat in dit blad om 5900 regels

heb Application.ScreenUpdating = False in de macro gezet
maar nog duurt het te lang.

Is er wellicht een mogelijkheid bovenstaande in 1 loop

te vangen?
--
Jan
Post by Krijn
Public Sub KopieerRegel()
Cells(2, 2).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).FormulaR1C1
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Post by Jan
Kopieren werkt goed Krijn, maar dit is nog niet helemaal wat ik zoek.
Ik wil nml. de formules in de bovenliggende cellen doorkopiëren.
Nu wordt in iedere cel de waarde van de bovenliggende cel gezet.
Alles is dus gelijk aan B1
--
Jan
Post by Krijn
Public Sub KopieerRegel()
Cells(2, 2).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Post by Krijn
Met een Do While lus en testen of cel Sx niet leeg is.
Post by Jan
Hallo,
hulp gezocht bij kopiëren formules dmv VBA.
In blad1 kolom A1 t/m Sxxxx staan gegevens
In kolom T t/m AN staan op rij 10 de formules
Deze formules wil ik doorkopiëren tot aan de laatste regel waar in
kolom
S
nog gegevens staan
Probleem is dat A t/m S niet altijd hetzelfde aantal regels is.
Handmatig is dit uiteraard geen probleem, maar wil dit graag dmv een macro
laten doen.
Bvd,
--
Jan
Krijn
2007-03-08 09:25:11 UTC
Permalink
Volgens mij kan de formule nog korter door gebruik te maken van een for next
lus. bv

Public Sub KopieerRegel()
Cells(10, 20).Select

Do While ActiveCell.Offset(0, -1).Value <> ""

For i = 0 To 10
ActiveCell.Offset(0, i).Value = ActiveCell.Offset(-1, i).FormulaR1C1
Next

ActiveCell.Offset(1, 0).Select
Loop

End Sub

Krijn
Post by Jan
Deze werkt wel! Bedankt.
Ik heb Žm nu aangepast aan de ranges in mijn werkblad.
Cells(10, 20).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).FormulaR1C1
ActiveCell.Offset(1, 0).Select
Loop
Cells(10, 21).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).FormulaR1C1
ActiveCell.Offset(1, 0).Select
Loop
Cells(10, 22).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).FormulaR1C1
ActiveCell.Offset(1, 0).Select
Loop
etc...
heb dus loops gemaakt voor 21 kolommen
het gaat in dit blad om 5900 regels
heb Application.ScreenUpdating = False in de macro gezet
maar nog duurt het te lang.
Is er wellicht een mogelijkheid bovenstaande in 1 loop
te vangen?
--
Jan
Post by Krijn
Public Sub KopieerRegel()
Cells(2, 2).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).FormulaR1C1
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Post by Jan
Kopieren werkt goed Krijn, maar dit is nog niet helemaal wat ik zoek.
Ik wil nml. de formules in de bovenliggende cellen doorkopiëren.
Nu wordt in iedere cel de waarde van de bovenliggende cel gezet.
Alles is dus gelijk aan B1
--
Jan
Post by Krijn
Public Sub KopieerRegel()
Cells(2, 2).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Post by Krijn
Met een Do While lus en testen of cel Sx niet leeg is.
Post by Jan
Hallo,
hulp gezocht bij kopiëren formules dmv VBA.
In blad1 kolom A1 t/m Sxxxx staan gegevens
In kolom T t/m AN staan op rij 10 de formules
Deze formules wil ik doorkopiëren tot aan de laatste regel waar in
kolom
S
nog gegevens staan
Probleem is dat A t/m S niet altijd hetzelfde aantal regels is.
Handmatig is dit uiteraard geen probleem, maar wil dit graag dmv
een
macro
laten doen.
Bvd,
--
Jan
Jan
2007-03-13 07:20:03 UTC
Permalink
Dit werkt Krijn. Bedankt voor je hulp!
--
Jan
Post by Krijn
Volgens mij kan de formule nog korter door gebruik te maken van een for next
lus. bv
Public Sub KopieerRegel()
Cells(10, 20).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
For i = 0 To 10
ActiveCell.Offset(0, i).Value = ActiveCell.Offset(-1, i).FormulaR1C1
Next
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Krijn
Post by Jan
Deze werkt wel! Bedankt.
Ik heb ´m nu aangepast aan de ranges in mijn werkblad.
Cells(10, 20).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).FormulaR1C1
ActiveCell.Offset(1, 0).Select
Loop
Cells(10, 21).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).FormulaR1C1
ActiveCell.Offset(1, 0).Select
Loop
Cells(10, 22).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).FormulaR1C1
ActiveCell.Offset(1, 0).Select
Loop
etc...
heb dus loops gemaakt voor 21 kolommen
het gaat in dit blad om 5900 regels
heb Application.ScreenUpdating = False in de macro gezet
maar nog duurt het te lang.
Is er wellicht een mogelijkheid bovenstaande in 1 loop
te vangen?
--
Jan
Post by Krijn
Public Sub KopieerRegel()
Cells(2, 2).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).FormulaR1C1
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Post by Jan
Kopieren werkt goed Krijn, maar dit is nog niet helemaal wat ik zoek.
Ik wil nml. de formules in de bovenliggende cellen doorkopiëren.
Nu wordt in iedere cel de waarde van de bovenliggende cel gezet.
Alles is dus gelijk aan B1
--
Jan
Post by Krijn
Public Sub KopieerRegel()
Cells(2, 2).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Post by Krijn
Met een Do While lus en testen of cel Sx niet leeg is.
Post by Jan
Hallo,
hulp gezocht bij kopiëren formules dmv VBA.
In blad1 kolom A1 t/m Sxxxx staan gegevens
In kolom T t/m AN staan op rij 10 de formules
Deze formules wil ik doorkopiëren tot aan de laatste regel waar in
kolom
S
nog gegevens staan
Probleem is dat A t/m S niet altijd hetzelfde aantal regels is.
Handmatig is dit uiteraard geen probleem, maar wil dit graag dmv
een
macro
laten doen.
Bvd,
--
Jan
Loading...