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

Cellen automatisch doorvoeren

Status
Niet open voor verdere reacties.

Robbedoes1

Gebruiker
Lid geworden
31 mei 2015
Berichten
9
Hallo,

Hopelijk kan iemand mij helpen met het volgende...
Uit een tekstbestand van zo'n +200000 lijnen importeer ik gegevens om ze op een bepaalde manier te sorteren.

Na importeren van gegevens uit een tekstbestand ziet mijn excel bestand er uit zoals in het voorbeeld kolom A-B
Deze gegevens wil ik nu omzetten zoals voorbeeld kolom F-G.
De functie die ik wil gebruiken zou dus alle lege cellen van kolom B automatisch moeten aanvullen met de waarde uit de hogerliggende cel die <>van 0
 

Bijlagen

Welkom op Helpmij :D

Druk maar op de knop :)
Bekijk bijlage voorbeeld.xlsm

Of met een formule in bijvoorbeeld kolom D. Dan dit in D3:
=ALS(B3="";D2;B3)
 
Laatst bewerkt:
Bedankt Edmoor, je helpt me al een heel stuk op weg.
Met de formule ga ik zo dadelijk uitproberen maar met de knop werkt het alleen als het aantal regels beperkt blijft tot ??? zo'n 20000??
Ik krijg een overflow foutmelding. Vermoedelijk wordt de integer variabele i te groot

Is wel al een hele stap vooruit.
Misschien lukt het met de formule wel, dat probeer ik nog even uit

Alvast bedankt voor je supersnelle reactie
 
Met de knop werkt het tot het maximum van Excel. Die i is inderdaad een foutje. Deze is gedeclareerd als Integer. Maak daar maar een Long van.
 
Met de formule lukt het uitstekend.
ik had ook in die richting gezocht (met een als functie) maar kwam er niet uit

Bedankt
 
Dat komt omdat 'ie veel te simpel is waarschijnlijk :P
 
Als je veel gegevens op een blad wil bewerken dan kan je dat beter even op de 'achtergrond' laten doen.

Zet deze onder de knop van edmoor en je zal zien dat het wat sneller gaat. Omdat de code wat lastig te lezen is heb ik er wat comments bijgezet.

Code:
Sub VenA()
With Sheets("blad1")
    ar1 = .Cells(3, 1).CurrentRegion 'vul een array met alle aaneengesloten gegevens vanaf A3
    ReDim ar2(UBound(ar1), 1) 'maak een tweede array met dezelfde grootte
    For j = 1 To UBound(ar1) 'voor alle rijen uit ar1
        ar2(j - 1, 0) = ar1(j, 1) 'zet de eerste kolom uit ar1 in ar2
        If ar1(j, 2) = "" Then ar2(j - 1, 1) = ar2(j - 2, 1) Else ar2(j - 1, 1) = ar1(j, 2)
        'als er niets in de 2e kolom staat neem dan waarde over van de rij erboven
    Next j 'naar de volgende rij
    .Cells(3, 1).Resize(UBound(ar2), 2) = ar2 'schrijf de gegevens terug
End With
End Sub
 
Code:
Sub hsv()
With Range("B3:B" & Cells(Rows.Count, 1).End(xlUp).Row)
  .SpecialCells(4) = "=R[-1]C"
  .Value = .Value
 End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan