[vb/excel2000] autosom

Pagina: 1
Acties:

  • degroot
  • Registratie: December 2003
  • Niet online
misschien voor jullie heel makkelijk maar ik kom er niet echt uit vandaar dat ik het maar kom vragen.

het zit zo
ik ben een verkoopoverzicht aan het maken in excel.
er zijn een 150 tal verschillende modellen.
waarvan iedere klant er natuurlijk een verschillend aantal verkoopt
die niet door de klant gekocht worden blijven op 0 staan
deze filter ik eruit doormiddel van autofilter en verwijder ze.

nu komt dus het gedeelte waar ik op vastloop.
de ene keer heb ik 10 rijen over en de andere keer heb ik 50 rijen(model = rij).
maar ik wil netjes 2 regeltjes onder het aantal verkochte per model een autosom hebben van het totale verkochten.

ik heb dat doormiddel van de volgende codes geprobeerd:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub deleterow()

'alle niet verkochten stylenr's filteren
    Selection.AutoFilter Field:=24, Criteria1:="0 pcs"
    Range("A3:AJ142").Select
    Selection.EntireRow.Delete
    Selection.AutoFilter Field:=24
    
'2e lege cel selecteren van kolom X en daar autosom invullen
   
   Cells(3, 24).Select
   Range(Selection, Selection.End(xlDown)).Select
   aant = Selection.Cells.Count
   
   Selection.End(xlDown).Select
   
   ActiveCell.Offset(1, 0).Range("A1").Select
   
   ActiveCell.FormulaR1C1 = "=SUM(aant)"

end sub( )

en doormiddel van deze code, maar dan heb je altijd (als je de macro opneemt). een bepaald gedeelte wat ie selecteer. dus bijv: X3:X10 terwijl ie soms wel tot X34 ofzo moet gaan.
code:
1
2
3
Sub deleterow()
  
   ActiveCell.FormulaR1C1 = "=SUM(X3:X10)"


nu was het me al wel eens gelukt met CONCETANATE(tekst samenvoegen) maar dat is toch heel anders dan een som uit iets halen.

ik hoop dat ik duidelijk ben geweest voor jullie en dat jullie me opweg kunnen helpen

www.degroot-it.nl


Verwijderd

Visual Basic:
1
2
3
4
5
6
Sub totaalkolx()
  Dim LaatsteRij As Long
  LaatsteRij = Range("x65536").End(xlUp).Row
  Range("x" & CStr(LaatsteRij + 2)).FormulaR1C1 = _
      "=sum(r2c:r" & CStr(LaatsteRij) & "c)"
End Sub

  • degroot
  • Registratie: December 2003
  • Niet online
nee sorry dat werkte ook niet
tenzij ik iets verkeerds heb gedaan???
maar die code voert opzich niks uit helaas:(

www.degroot-it.nl


Verwijderd

ws wel, laat eens het volledig stukje relevante code zien na integratie van mijn voorstel. het komt er eigenlijk alleen maar op neer dat je het 2de blokje code uit je startpost vervangt door de code aangegeven in mijn post.

het kan ook dat er in kolom x bijna helemaal onderaan nog iets staat of zo (de laatste rij wordt immers gevonden door van beneden naar boven te gaan ipv gewoonlijk andersom) met als gevolg dat de formule ergens in de onderste regionen van kolom x geplaatst wordt. om dat te testen kan je ook eens
LaatsteRij = Range("x65536").End(xlUp).Row
vervangen door
LaatsteRij = Range("x1").End(xldown).Row

  • degroot
  • Registratie: December 2003
  • Niet online
ik zal morgen de code even in zijn totaliteit laten zien
ben nu namelijk weer thuis. en heb het document helaas niet bij de hand
morgen rond een uurtje of 9 staat hier dan de code

www.degroot-it.nl


  • degroot
  • Registratie: December 2003
  • Niet online
hahah sorry had een foutje gemaakt in het overtype van de code
8)7
zie dat dus net en nu werkt ie wel
bedankt ik kan nu weer een heel stukkiej vooruit

www.degroot-it.nl

Pagina: 1