• 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 optellen (som) dmv macro

Status
Niet open voor verdere reacties.

riendevries

Gebruiker
Lid geworden
20 apr 2007
Berichten
36
Hoi allemaal,

Uit ons systeem rollen dagelijks lijsten in de vorm van Excel documenten. Aangezien dit management rapporten zijn, moeten deze documenten nog aardig wat bewerkingen ondergaan. Een macro biedt in die zin een uitkomst.

Ik gebruik een sjabloon waarbij ik de gegevens uit het Excel document overhaal dmv van een macro. Het opmaken van het sheet is ook geen probleem.

Echter het optellen van bepaalde kolommen wel. Het is namelijk zo dat de kolom met waardes elke de ene keer 300 records bevat en de andere keer 400. Mijn macro kijkt alleen naar de reeks die ik heb geselecteerd bij de opname.

Wie o wie kan mij een voorbeeld geven?

Alvast bedankt
 
Dag Rien,
dit is een optie:

Code:
Sub optellen()
Dim Bereik As Range
Set Bereik = Range(Range("a1"), Range("a65536").End(xlUp))
'aanpassen voor jouw kolom
Range("a65536").End(xlUp).Offset(1, 0).Value = WorksheetFunction.Sum(Bereik)
'maakt de som onder de laatst gevulde cel
End Sub
 
Dag Rien,
dit is een optie:

Code:
Sub optellen()
Dim Bereik As Range
Set Bereik = Range(Range("a1"), Range("a65536").End(xlUp))
'aanpassen voor jouw kolom
Range("a65536").End(xlUp).Offset(1, 0).Value = WorksheetFunction.Sum(Bereik)
'maakt de som onder de laatst gevulde cel
End Sub

En hoe zit het als ik er gelijk een opmaak in mee wil geven. Dus dan niet direct onder de laatst gevulde cel, maar bijvoorbeeld twee eronder + vetgedrukt + celkleur blauw
 
Hoe zit het met opmaak

Dank voor het goede antwoord. Hier kan ik wat mee.

Nu rest mij nog de vraag. Hoe kan ik een opmaak meegeven. Dus ik wil bijvoorbeeld voor de netheid de som niet direct onder de laatst gevulde cel, maar juist twee eronder, de kleur blauw meegeven en de vetgedrukte cijfers.

Ik hoor het graag
 
Code:
With Range("a65536").End(xlUp).Offset(2)
     .Value = WorksheetFunction.Sum(Bereik)
     .Font.Bold = True
     .Font.ColorIndex = 5
End With

Wigi
 
Laatste vraag

Dank Wigi!!

Ik heb nog een laatste vraag. Ik snap de macro. Hij telt gewoon cellen op binnen een bepaalde range en maakt een som op de aangegeven locatie. Hoe kan ik nu bijvoorbeeld op record niveau een sommetje maken

Stel ik heb twee kolommen te noemen A en B. De som van A en de som van B komen met het gebruik van jouw marco netjes onderaan te staan (op gelijke hoogte). Maar nu wil ik B delen door A. Hoe doe ik dit geautomatiseerd?
 
Dus elk element uit kolom B delen door elk overeenkomstig element uit A?
 
antwoord

Nee, alleen de som van A en B

Dus:

A B C
1 1
1 1
1 1
1 1

4 4 =4/4

de van A en van B komen allebei tot stand door de macro. Maar omdat de range elke keer variabel is, weet ik niet hoe ik de formule van C op de juiste plek moet krijgen
 
Je weet toch in welke cel je de sommen hebt gezet. Die kun je dus verder gebruiken in de deling.
 
Ja een deling kan ik wel maken. Handmatig in ieder geval.

Dit is jouw macro die de som in A genereert. Ik heb deze ook voor B gebruikt. Ik gebruik deze macro omdat de range variabel is en de som telkens twee cellen onder de laatste gevulde cel moet komen.

With Range("a65536").End(xlUp).Offset(2)
.Value = WorksheetFunction.Sum(Bereik)
.Font.Bold = True
.Font.ColorIndex = 5
End With

Nu heb ik twee resultaten de som in A en de som in B. Deze wil ik ook geautomatiseerd delen dmv van een macro.

Alvast bedankt voor de moeite
 
Dit is de cel in kolom A met de som erin:

Code:
Range("A65536").End(xlUp).Offset(2)

Dit is de cel in kolom B met de som erin:

Code:
Range("B65536").End(xlUp).Offset(2)

De eigenschap .Value geeft de inhoud van die cel. Dus kan je beide door mekaar delen.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan