Avatar billede fnatic Nybegynder
11. august 2010 - 10:43 Der er 8 kommentarer og
1 løsning

Dynamisk sum over flere ark

Hej Eksperter!

Bruger excel 2003 sp3.

Jeg har et regneark med en masse ark i. jan10, feb10, mar10, apr10 osv.

Jeg skal så bruge summen af en bestemt celle over flere ark. Her bruger jeg lige nu funktionen: =(SUM(jan10:jul10!E44)).

Jeg har i mit excelark lavet en funktion der gør at jeg kan skrive =arknavn og så skriver den arknavnet ud. Dette vil jeg gøre i celle A1. Så i ark jul10 i celle A1 står der jul10. I ark aug10 i celle A1 står der aug10 osv...

Jeg vil have en funktion der i teorien virker som =(SUM(jan10:A1!E44)) eller for den sags skyld =(SUM(A1:A2!E44)). Denne funktion virker ikke, men jeg skal bruge en der har den tiltænkte virkning.

Håber I kan hjælpe mig!
Avatar billede Ialocin Novice
11. august 2010 - 11:47 #1
Hej fnatic

Er ikke helt med ??

Hvorfor er det, at du ikke kan bruge  =(SUM(jan10:jul10!E44)) ??
Det fungerer jo eller gør det ??

Når du skriver: "Skriver arknavnet ud!, hvad mener du så ?

Mvh Nicolai
Avatar billede fnatic Nybegynder
11. august 2010 - 12:04 #2
Hej Nicolai

Jo den virker fint, men denne funktion skal være i hvert ark. Hver gang der kommer en ny måned laver jeg et nyt ark og kopierer det forrige.

Hvis funktionen hedder: =(SUM(jan10:jul10!E44)) skal jeg derfor gå ind og manuelt rette jul10 til f.eks. aug10 i alle de celler hvor jeg bruger denne funktion. Feltet hvor der i funktionen står jul10 er egentlig blot det aktuelle arknavn. Dette skulle gerne ændre sig automatisk.

Dette kunne jeg forestille mig kunne gøres ved at skrive =arknavn i celle A1 hvilket returnere det aktuelle arknavn. Så hvis jeg er i ark "jul10" ville funktionen være: =(SUM(jan10:a1!E44)),hvilket egentlig er det samme som =(SUM(jan10:jul10!E44)) men sådan kan man ikke gøre.


Til det med arknavnet:
Jeg har defineret et navn (Indsæt --> Navn --> Definér) som hedder arknavn. Til dette har jeg koblet formlen =HØJRE(HENT.DOKUMENT(1);LÆNGDE(HENT.DOKUMENT(1))-FIND("]";HENT.DOKUMENT(1))).

Dvs. at når jeg skriver =arknavn i en celle så bliver resultatet navnet på det ark jeg er i. Dvs. jul10 hvis jeg er i arket jul10 osv.

Håber du er med nu..
Avatar billede Ialocin Novice
11. august 2010 - 14:57 #3
Hej fnatic

Måske dette kan bruges ...

Jeg har oprettet en kommandoknap og i dens click_hændelse har jeg skrevet følgende kode, som ved et klik, tæller alle værdier fra celle "E44" på alle ark sammen og efterfølgende skriver den samlede værdi til alle ark´s celle "A1" .... ?

Private Sub cmdTælSammen_Click()
Dim ark As Object
Dim arknavn As String
Dim resultat As Variant


    'tælle celleværdien fra celle "E44" sammen fra alle ark
    For Each ark In ActiveWorkbook.Sheets
       
        arknavn = ark.Name
   
        resultat = resultat + Sheets(arknavn).Range("E44").Value

         
    Next



    'skriv resultat af celleværdierne i celle "A1" på alle ark
    For Each ark In ActiveWorkbook.Sheets
       
        arknavn = ark.Name
           
        Sheets(arknavn).Range("A1").Value = resultat

         
    Next

End Sub


Hvis du ikke ønsker at opsummere ved hjælp af knappen ??
Skal vi så bare lige ha´ over i en hændelse i den aktive workbook, hvorfra den så bliver aktiveret.

Håber det ramte nogenlunde plet ??

mvh Nicolai
Avatar billede Ialocin Novice
11. august 2010 - 15:00 #4
Ups .... Sættenissen var stukket af med ordet: KODEN!

Her er den rigtige tekst:
Hvis du ikke ønsker at opsummere ved hjælp af knappen ??
Skal vi så bare lige ha´ KODEN over i en hændelse i den aktive workbook, hvorfra den så bliver aktiveret.


mvh Nicolai
Avatar billede fnatic Nybegynder
11. august 2010 - 15:32 #5
Hej, mange tak for indsatsen ,men jeg ved ikke helt om det er knapper der er brug for... for lige at skære det helt ud i pap.

Dokumentet er ret stort.

Ark'ene strækker sig fra Jan01, feb01... helt til ...aug10.

Det jeg skal bruge er summen af alle "E44" fra jan10 til nu (jul10, da det er oversigten til og med juli jeg er i gang med) ergo funktionen:

=SUM(jan10:jul10!E44)

Det vil sige at der er en masse ark's som IKKE skal inkluderes.

Men det er ikke kun E44 det drejer sig om. Har en hel masse kolonner hvor summerne skal lægges sammen for året hidtil. Dvs. at der også er:

=SUM(jan10:jul10!I44)
=SUM(jan10:jul10!M44)
=SUM(jan10:jul10!Q44)
=SUM(jan10:jul10!U44)  osv...

Jeg skal bare have noget der ved hver ny måned(nyt ark) er et script/funktion/etc der automatisk opdaterer hvor jeg ikke skal ind i alle funktionerne og rette jul10 til aug10 eller måneden efter aug10 til sep10..

mvh
Avatar billede Ialocin Novice
11. august 2010 - 15:41 #6
Hej fnatic

Indtil videre, pas !

mvh Nicolai
Avatar billede Slettet bruger
11. august 2010 - 17:11 #7
En amerikaner ved navn David Hager kom helt tilbage i 1999 med en metode som jeg gengiver herunder, oversat til dansk i nødvendigt omfang.

Opret en navngiven formel:
Navn: shtPos
Refererer til: =HENT.DOKUMENT(87)

Opret en navngiven formel:
Navn: wsNames
Refererer til: =HØJRE(HENT.PROJEKTMAPPE(1);LÆNGDE(HENT.PROJEKTMAPPE(1))-FIND("]";HENT.PROJEKTMAPPE(1)))

Opret en navngiven formel:
Navn: shtName
Refererer til: =INDEKS(wsNames;shtPos)

Opret en navngiven formel:
Navn: RunningTotal
Refererer til: =EVALUER("SUM(Jan10:"&shtName&"!A"&RÆKKE()&")")+NU()*0

Formlen returnerer summen for cellen i kolonne A for hvert ark fra og med ark Jan10 til det ark hvor formlen findes. Hvis for eksempel det aktive ark er Apr10 og formlen indtastes i B2 (som: =RunningTotal) vil det svare til formlen: Jan10:Apr10!A2.

Thanks to David Hager.

Hans
Avatar billede fnatic Nybegynder
12. august 2010 - 12:24 #8
SÅDAN HANS!!

Mange tak! Det var den rigtige løsning! Modificerede den lidt så den virkede nøjagtig men du gav skubbet i den rigtige retning, så post et svar så får du point.

Igen, mange tak!

MVH
Avatar billede Slettet bruger
12. august 2010 - 13:21 #9
OK
Hans
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