Avatar billede tvc Seniormester
17. september 2006 - 20:51 Der er 6 kommentarer og
1 løsning

VBA - sum over flere ark med anvendelse af LOpslag

Hej

Jeg har forsøgt at udarbejde en funktion som kan foretage summering over flere ark (månedsark) udfra en given betingelse (i stil med LOpslag).

Det er ikke lykkets mig at få den til at virke.

Er der en der kan hjælpe mig med opbygningen og løsningen af funktionen?


Beskrivelse af funktionen:

Der findes - et totalark (Total) og 12 månedsark (Jan, Feb, Mar, Apr, Maj, Jun, Jul, Aug, Sep, Okt, Nov, Dec)

Jeg ønsker at kunne angive et månedsnummer i en celle i Totalarket, hvorefter funktionen skal kunne summere tallene fra Ark Jan til og med den angivne måned.

Summeringen skal ske udfra en betingelse om at der i kolonne A i månedsarket skal stå den valgte Opslagsværdi.

Med angivelse af KolonneIndeks bestemmes hvilken kolonne sumdata skal hentes fra.

Function SumSpeciel(Opslagsværdi As String, SumArk As Range, Måned As String, KolonneIndeks As String)

Opslagsværdi - er den værdi som programmet skal søge efter i kolonne A i de underliggende ark (SumArk)

SumArk - er de ark som data skal summeres fra hvis Opslagsværdien findes i kolonne A

Måned - er den måned der skal summeres til (der summeres fra Januar og til den angivne måned)


Håber der er en der kan hjælpe.

Med venlig hilsen

TVC
Avatar billede excelent Ekspert
17. september 2006 - 22:12 #1
det er vist nemmest at illustrere med et eksembelark

http://pmexcel.dk/SumFunktion.xls
Avatar billede excelent Ekspert
17. september 2006 - 22:15 #2
ups denne skulle virke

http://pmexcelent.dk/SumFunktion.xls
Avatar billede tvc Seniormester
17. september 2006 - 23:11 #3
Hej Excelent

Det er helt fantastisk!

Du er en problemløser - tak for hjælpen og den meget let forståelige løsning.

Smider du et svar så skal du få dine velfortjente point?

Hilsen

TVC
Avatar billede tvc Seniormester
17. september 2006 - 23:12 #4
Til alle andre kan jeg oplyse, at løsningen se således ud:

---------------------

Option Explicit

Function SumSpeciel(Opslagsværdi As String)
Dim t, rk, ws, mySum, Fra, Til

Application.Volatile

Fra = 2: Til = Sheets("Total").Range("Month").Value + 1

For ws = Fra To Til
    For t = 1 To Sheets(ws).Range("A65000").End(xlUp).Row
        If Sheets(ws).Cells(t, 1).Value = Opslagsværdi Then mySum = mySum + Sheets(ws).Cells(t, 2)
    Next
Next

SumSpeciel = mySum

End Function
Avatar billede excelent Ekspert
17. september 2006 - 23:17 #5
ok velbekom :-)
Avatar billede excelent Ekspert
18. september 2006 - 15:26 #6
glemte lige i farten - opslagskolonne - kunne se sådan ud:

Function SumSpeciel(Opslagsværdi As String,kol)
Dim t, rk, ws, mySum, Fra, Til
Application.Volatile
Fra = 2: Til = Sheets("Total").Range("Month").Value + 1
For ws = Fra To Til
    For t = 1 To Sheets(ws).Range("A65000").End(xlUp).Row
    If Sheets(ws).Cells(t, 1).Value = Opslagsværdi Then mySum = mySum + Sheets(ws).Cells(t, kol)
    Next
Next
SumSpeciel = mySum
End Function
Avatar billede excelent Ekspert
20. september 2006 - 20:45 #7
så skal du blot markere box med mit navn og klikke accepter
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Politiets Efterretningstjeneste

Configuration Manager til PET's IT-afdeling

Paychex Europe

Scrum Master

Netcompany A/S

IT Consultant

Rambøll Management Consulting

Senior AI Engineer