Rijen verwijderen in excel bij bepaalde voorwaarden

Pagina: 1
Acties:
  • 8.624 views sinds 30-01-2008
  • Reageer

  • tjempjun
  • Registratie: Oktober 2002
  • Laatst online: 26-01-2016
Ik werk met een boekhoudprogramma waarin je alle grootboekrekeningen naar excel kan exporteren. Dit zijn ongeveer 10.000 rekeningen, waarvan er ongeveer 1000 een waarde hebben en de rest op 0 staat. In excel ziet het er dan ongeveer zo uit:

2002 2001 2000
autokosten: 520 300 400
boetes: 0 0 0
privé-autokosten: 300 250 0

Nu wil ik het zo maken dat ik op een bepaalde manier in 1 keer alle rijen verwijder, waarin 2002 en 2001 op 0 staat. Ik moet dus een functie(/macro?) hebben die controleerd of bijvoorbeeld cel d3 en e3 0 zijn en dan die rij verwijderen. Die functie moet dan alle 10.000 rijen aflopen om 2 cellen te controleren, daarna de rijen selecteren waarin beide waarden 0 zijn en dan al die rijen verwijderen. heb ik geen idee hoe ik dit eventueel moet programmeren. Iemand een idee?

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 11:18

Dido

heforshe

Als je dit eenmalig (of eens per jaar) moet doen, is het simpelste om de hele zooi te sorteren op di etwee kolommen die op nul moeten staan. Dan staan ze allemaal bij elkaar :)

Wat betekent mijn avatar?


  • tjempjun
  • Registratie: Oktober 2002
  • Laatst online: 26-01-2016
Ik moet een jaarverslag van die boekhouding maken en dan wil ik dus verwijzen naar die "vaste indeling" van de grootboekrekeningen, zodat ik niet elk jaar de verwijzingen hoef aan te passen wanneer er nieuwe kostenposten in dat jaar voorkomen. Ik wil dus 1 maal 10.000 verwijzingen maken in het jaarverslag, wat al opgemaakt is met kopjes als "autokosten" boven de grootboekrekeningen en pas daarna die "nul-rekeningen" eruit halen. Helaas kan ik dus niet de kolommen selecteren, want nadat de nullen eruit zijn, klopt de opmaak niet meer.

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 11:18

Dido

heforshe

Ik volg je probleem niet helemaal meer. In je TS geef je aan dat je op een gegeven ogenblik alle posten onder elkaar hebt staan, met daarachter de bedragen voor 3 jaren. Waarom kun je die niet sorteren op twee kolommen die nul kunnen zijn, om ze daarna weer te sorteren naar de oorspronkelijke volgorde :?

Wat betekent mijn avatar?


  • tjempjun
  • Registratie: Oktober 2002
  • Laatst online: 26-01-2016
Dido schreef op 05 februari 2004 @ 10:41:
Ik volg je probleem niet helemaal meer. In je TS geef je aan dat je op een gegeven ogenblik alle posten onder elkaar hebt staan, met daarachter de bedragen voor 3 jaren. Waarom kun je die niet sorteren op twee kolommen die nul kunnen zijn, om ze daarna weer te sorteren naar de oorspronkelijke volgorde :?
Ja sorry, misschien was dat inderdaad niet helemaal duidelijk. Er is 1 tabblad met een vaste indeling waar alle rekeningen onder elkaar van 1 t/m 10.000. Op een ander tabblad (toelichting op de winst- en verliesrekening voor de geinteresseerden ;) ) verwijs ik per kostensoort naar de vaste indeling. Op dit tabblad heb ik dan ook te maken met berekeningen (zoals optellen) en tekstkopjes. Probleem is dan dat ik in die toelichting heel veel nutteloze verwijzing heb, namelijk naar de nulrekeningen. Als ik dan in de vaste indeling ga verwijderen moet ik bij een nieuwe kostenpost, die eerst 0 was, zelf telkens de nieuwe verwijzingen aan gaan passen. Als ik ze in de toelichting ga verwijderen vermijd ik dit probleem. Maar volgens mij kom ik er dan niet onderuit om te programmeren, of denk ik je dat ik dan alsnog sorteren op de kolommen en dan terug sorteren?

Ben wat gaan zoeken, maar volgens mij moet het hierop lijken:

For i = 1 To 10000
If ActiveSheet.Cells(i, 1).Value = 0
And ActiveSheet.Cells(i, 2).Value = 0 Then
Rows(i).Delete
End If
Next i

ben ik op de goede weg?

[ Voor 10% gewijzigd door tjempjun op 05-02-2004 11:05 ]


  • Dido
  • Registratie: Maart 2002
  • Laatst online: 11:18

Dido

heforshe

Maar je verwijdert dan toch nog steeds je rijen gewoon hard? Waar je ze ook wilt verwijderen, als je in kolom a een omschrijving hebt staan, in kolom b een bedrag, dan zet je dsnoods in kolom c de waardes 1 tot 10000.
Vervolgens sorteer je de hele rotzooi op kolom b, verwijdert de nullen, sorteert de hele reut op kolom c, en je bent klaar.
Lijkt me echt de simpelste oplossing.

Of je dit nou doet in je ene tabblad, of in je andere, ik snap nog steeds niet wat het probleem is.

Wat betekent mijn avatar?


  • Coffeemonster
  • Registratie: Juli 2000
  • Laatst online: 14:49
Is AutoFilter geen oplossing? Hiermee kan je ook filteren op meerdere kolommen. Alles selecteren, Data > Filter > Autofilter, eerste kolom filteren op 0, tweede kolom filteren op 0 en rijen verwijderen.

Look for something long enough and you will find it; look for something without understanding, and it will find you.
A normal day at the stock exchange


  • tjempjun
  • Registratie: Oktober 2002
  • Laatst online: 26-01-2016
Coffeemonster schreef op 05 februari 2004 @ 11:42:
Is AutoFilter geen oplossing? Hiermee kan je ook filteren op meerdere kolommen. Alles selecteren, Data > Filter > Autofilter, eerste kolom filteren op 0, tweede kolom filteren op 0 en rijen verwijderen.
Ja dit lijkt me ook wel wat. Ga nadat ik klaar ben met werken met al het advies aan de slag. bedankt beiden!
Pagina: 1