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

Formule doortrekken

Status
Niet open voor verdere reacties.

tkuiper

Gebruiker
Lid geworden
5 okt 2007
Berichten
5
Goedemorgen

ik heb een rij getallen onderelkaar in sheet 1 staan, en wil in sheet 2 een aantal van die getallen eruit pikken.
Dus ik heb een verwijzing gemaakt in sheet 2 cel A1, die verwijst =sheet1!A8. De cel daaronder wil ik laten verwijzen naar =sheet1!A12, die daaronder naar =sheet1!A16,
afijn, je ziet het patroon.

maar als ik m dan doortrek naar onderen (alle 3 cellen geselecteerd), dan telt de formule maar 1 stapje verder, dus =sheet1!A11, in plaats van =sheet1!A20

ik doe dus iets verkeerd, maar kan niet vinden wat.
Ik gebruik excel 2003.
Ik hoop dat iemand weet hoe dit moet.

Met vriendelijke groet,
Tom
 
Dag Tom,

Je informatie is erg summier, daarom de volgende vragen :

- Is het een eenmalige actie
- Kun je iets met VERT.ZOEKEN()

Erik
 
Hallo Erik,

dankje voor de reactie.

het is inderdaad een eenmalige actie

ik weet niet zo goed hoe VERT.ZOEKEN() zou kunnen helpen, ik wil de getallen opzoeken, niet woorden/letters.

ik heb het excel bestand in de bijlage gezet van dit bericht, hopelijk verhelderd dat de zaak
 

Bijlagen

Gewoon beginnen bij A1 en dan doortrekken, regels die je niet nodig bent daarna verwijderen is vlgs mij de snelste methode als het een eenmalig gebeuren is.

Erik
 
Met onderstaande macro lukt het heel goed:

Code:
Dim Aantalkeer As Long
    Dim Aantalregelsschuiven As Long
    Dim i As Long
    i = 1
    
    Aantalkeer = InputBox("Hoeveel keer naar beneden kopiëren?", "Aantal keer")
    Aantalregelsschuiven = InputBox("Hoeveel regels per keer schuiven?", "Aantal regels")
    
    For i = 1 To Aantalkeer
    'ActiveCell.Select
    Selection.Copy
    ActiveCell.Offset(rowOffset:=Aantalregelsschuiven, columnOffset:=0).Activate
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Selection.Cut
    ActiveCell.Offset(rowOffset:=(1 - Aantalregelsschuiven), columnOffset:=0).Activate
    ActiveSheet.Paste
    Next i

Ga op de cel staan die je naar beneden wilt kopiëren; activeer vervolgens de macro

Succes
 
Laatst bewerkt door een moderator:
geweldig marcel! de macro werkt perfect!
Erik ook bedankt voor het meedenken
 
Volgens mij kan het simpeler.

Zal eens even proberen.

Wigi
 
Volgens mij kan het simpeler.

Zal eens even proberen.

Wigi

Voilà

Code:
Sub Doortrekken()
    Dim Aantalkeer As Long, Aantalregelsschuiven As Long
    Dim i As Long
    Dim wsData As Worksheet
    
    Set wsData = Sheets("Sheet1")
    Const sBegincell As String = "A8"
    
    Aantalkeer = InputBox("Hoeveel keer naar beneden kopiëren?", "Aantal keer")
    Aantalregelsschuiven = InputBox("Hoeveel regels per keer schuiven?", "Aantal regels")
    
    For i = 1 To Aantalkeer
        Sheets("Sheet2").Range("A" & i).Formula = _
            "=" & wsData.Range(sBegincell).Offset((i - 1) * Aantalregelsschuiven).Address(0, 0, xlA1, True)
    Next

End Sub

Wigi
 
vervolg vraag

Hallo,

ik heb een vervolg vraag naar aanleiding van de eerdere tips die gegeven waren.
Ik heb de macro iets aangepast.

Waar het mij nu om gaat is dat hij van de selectie A1 t/m G1000, de laatste input neemt, en die naar de cellen eronder plaatst.

Ik heb nu in cellen A1 t/m G1 informatie staan. Als ik deze macro nu uitvoer maakt hij alleen de nieuwe gegevens aan voor A2 en niet B2,C2,D2 enz.

Hoe kan ik de selectie dus automatisch laten vallen op de nieuwste input van A1 t/m G1000?

Bedankt!

Code:
Sub Macro3()
'
' Macro3 Macro
' Macro recorded 15/10/2007 by tku
'
Dim Aantalkeer As Long
Dim Aantalregelsschuiven As Long
Dim i As Long
i = 1

Aantalkeer = 1
Aantalregelsschuiven = 14

For i = 1 To Aantalkeer
Worksheets("servicedegree").Activate
[B][U]ActiveSheet.range("A1:G1000").End(xlDown).Select[/U][/B]
'ActiveCell.Select
Selection.Copy
ActiveCell.Offset(rowOffset:=Aantalregelsschuiven, columnOffset:=0).Activate
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Cut
ActiveCell.Offset(rowOffset:=(1 - Aantalregelsschuiven), columnOffset:=0).Activate
ActiveSheet.Paste
Next i
End Sub
 
Laatst bewerkt door een moderator:
Formule doortrekken deel2

Beste T Kuiper, en andere geinteresseerden.

Ik hoop dat ik je vraag begrepen heb, want er zat geen voorbeeldbestandje bij.

In bijgaand bestandje. Ga op cel A1 staan en activeer de macro.

Ik heb de range voor dit voorbeeld even teruggebracht naar A1:G30.
Dit kun je zelf weer aanpassen.

m.vr.gr.
Marcel
 

Bijlagen

@Marcel Servaas VBA code tussen de codetags plaatsen sv.p. zo blijft het voor iedereen leesbaar, zie ook hier Idem tkuiper
 
Hey forumleden,

Ik zit met het zelfde probleem.

Ik wil in sheet 2 formules doortrekken maar dat gaat niet omdat hij dan steeds een stapje met 1 verder gaat en ik wil dat hij stappen van 131 maakt.

VB:

Sheet2:
D3 =(sheet1) D2
D4 =(sheet1) D133

maar ook L3 en T3 enz. enz. moet steeds met een stapje van 131 verder. Ik heb het geprobeerd met fill maar die kan geen formules verder trekken.
 
Laatst bewerkt:
Snakeman, Probeer deze formule maar 'ns...
Code:
=INDIRECT("Sheet1!D"&2+(ROW()-3)*131)
(vanaf cel D3 op sheet 2)

Groet, Leo
 
@Snakeman ik wil je verzoeken om de volgende keer een eigen topic te openen. Het is niet netjes om in iemand anders zijn/haar topic jou probleem aan de orde te stellen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan