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

Een SOM(....) aanpassen in Macro VBA

Status
Niet open voor verdere reacties.

SHekkens

Gebruiker
Lid geworden
8 apr 2010
Berichten
24
Ik heb een probleempje, ik heb sommen gemaakt in macro's maar deze zijn tekort.
Heb ik gekeken naar de code: (voorbeeld) SUM(Product!R2C[-5]:R89C[-5]).
Deze wil ik graag zo verandere, zodat de SOM() alle getallen meepakt in die kolom.
De lengte van de kolom is variabel. in de bijlage loopt deze tot A13 door, maar bij de volgende keer loopt de kolom door tot bijvoorbeeld A 19.

Dus mijn vraag, hoe kan ik de SOM() in mijn macro aanpassen zodat hij alle getallen meeneemt in de berekening?

Al vast bedankt.

ps. kan er een kleine uitleg bij zodat ik het daarna zelf kan veranderen.
 

Bijlagen

Laatst bewerkt:
Som Kolom A VBA

Allereerst vermoed ik dat dit eigenlijk in de sectie programmeren>VBA hoort, maar dat terzijde.

In de bijlage heb ik het Excel bestand toegevoegd, waar de code in VBA te bezichtigen is. Het kan zijn dat de worksheetfunction.sum veranderd moet worden in som. Aangezien ik vermoed dat u een Nederlandse versie van Excel heeft, dit weet ik echter niet zeker. De code gaat er tevens van uit dat u altijd min 2 waarden in kolom A heeft staan. Anders neemt het de range mee van A2:A65536. Dit kan opgelost worden met een If statement. Bij vragen kunt u altijd contact opnemen.

Met vriendelijke groet'n

Tilly the Shark
 

Bijlagen

Hey dankje, Dit werkt goed op deze manier.

Maar ik heb ook SOM() in een formule staan, voorbeeld: =RC[-8]*(Gegevens!R21C[-6]/SUM(R2C[-8]:R89C[-8]))

Hoe vertaal ik dat in deze formule?
 
Laatst bewerkt:
Verder rekenen met de berekende som kan vrij eenvoudig door de som berekening weg te schrijven in een beschikbare range. Met deze range dient dan verder berekend te worden. De VBA code is iets aangepast, daardoor wordt nu de som weggeschreven naar cel C2.

Dit zou je probleem moeten oplossen volgens mij?
 

Bijlagen

Laatst bewerkt:
Graag gedaan. Vergeet trouwens niet om de topic op opgelost te zetten ;).

Alvast prettig weekend
 
Voor het bepalen van de laatste rij in een bereik vermijd je best xlDown want als er een lege cel in je bereik staat stopt het tellen daar. Daardoor kan je een verkeerd resultaat krijgen. Werk daarom steeds van onder naar boven.
Code:
Sub Som_KolomA()
[Blad1!C2].Value = WorksheetFunction.Sum(Sheets("Blad1").Range("A2:A" & _
        Sheets("Blad1").Cells(Rows.Count, 1).End(xlUp).Row))
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan