Avatar billede arentoft Nybegynder
06. december 2007 - 09:46 Der er 14 kommentarer og
1 løsning

Generering af tabel fra flere faneblade?

Jeg har et regneark med x antal faneblade, der hver repræsentere et givent budgetark i tabelformat, der bl.a. indeholder en dato-information for en postering samt et beløb.

På tværs af disse faneblade vil jeg gerne have et faneblad der samler alle posteringer for en given måned i en ny tabel, med én række pr. postering.

Hvordan gør jeg det? (Se nedenstående eksempel)

[eksempel]
Budget 1 (Faneblad 1)
06-11-2007  50,00 kr.
06-12-2007 750,00 kr.

Budget 2 (Faneblad 2)
05-12-2007 500,00 kr.

Budget 3 (Faneblad 3)
05-11-2007  50,00 kr.

November (Faneblad 4)
06-11-2007  50,00 kr. Budget 1
05-11-2007  50,00 kr. Budget 3

December (Faneblad 5)
06-12-2007 750,00 kr. Budget 1
05-12-2007 500,00 kr. Budget 2
[eksempel]

På forhånd tak!

/arentoft
Avatar billede jlemming Nybegynder
06. december 2007 - 10:34 #1
Hej

Der er flere måder enten via links, som udføres manuel eller via VBA
Hvis det skal være VBA/makro skal vi vide følgende

Antal ark?, er det alle ark i filen, undtagen hovedfilen?
hvor ligger din dataer? (celler)
Avatar billede arentoft Nybegynder
06. december 2007 - 10:55 #2
Hej

Jer er størst tilhænger af automatisering :-) så gerne en VBA/Makro.

Der er 48 budget faneblade, og herudover en række andre faneblade, så det er ikke alle ark i filen. Budgetfanebladene adskiller sig ved at være navngivet i en bestemt nummer rækkefølge fra "1000" til "1306".

Hver enkelt budgetark er opbygget på samme måde med kolonnerne: Element, Leverandør, Fakturanr., Kontonr., Dato, Fritekst, Budget, Faktura. Selve tabellens rækker starter i C14 og slutter i J51. Dato-kolonnen ligger i kolonne G.

Håber dette gav dig de svar du behøvede?

/arentoft
Avatar billede jlemming Nybegynder
06. december 2007 - 11:07 #3
Har du et eksemple på et ark navn (Budget)
Avatar billede arentoft Nybegynder
06. december 2007 - 11:12 #4
Ja - "1000"
Avatar billede jlemming Nybegynder
06. december 2007 - 11:15 #5
OK !, :o)  Jeg kigger på det
Avatar billede jlemming Nybegynder
06. december 2007 - 11:31 #6
Prøv dette, skal ligge på det ark du ønsker opdateret
Så finpudser jeg i mellemtiden

Private Sub CommandButton1_Click()
       
    rk = 2                              ' start række
    For Each Skema In Worksheets      ' for hver skema med 1
        If Left(Skema.Name, 1) = "1" Then
            ActiveSheet.Range("C" & rk & ":J" & rk + 37).Value = Skema.Range("C14:J51").Value
            rk = rk + 37
        End If
    Next Skema
End Sub
Avatar billede jlemming Nybegynder
06. december 2007 - 11:47 #7
37 skal ændres til 38
Avatar billede arentoft Nybegynder
06. december 2007 - 11:58 #8
Det begynder at ligne noget - hvordan får jeg det så månedskontrollen med?
Avatar billede jlemming Nybegynder
06. december 2007 - 12:18 #9
øøøh, hvilken månedskontrollen? :o)

Hvor ligger den?, og hvor skal den hen?
Avatar billede arentoft Nybegynder
06. december 2007 - 12:29 #10
I mit første indlæg skrev jeg: "På tværs af disse faneblade vil jeg gerne have et faneblad der samler alle posteringer for en given måned i en ny tabel, med én række pr. postering."

Altså vil jeg lave et faneblad pr. måned det samler alle posteringer på tværs af alle budgetfaneblade for en given måned, ud fra den datokolonne der er i budgetarkene.

Som det fungerer lige nu syntes jeg den også kopiere tomme linjer med - jeg vil kun have de linjer med der opfylder den rette måned.

/arentoft
Avatar billede jlemming Nybegynder
06. december 2007 - 12:40 #11
Har du mulighed for at sende en kopi af filen?

Jacob,lemming(a)Honeywell,com
,=.
(a)=@
Avatar billede arentoft Nybegynder
06. december 2007 - 12:51 #12
Den er på vej ... :-)
Avatar billede jlemming Nybegynder
12. december 2007 - 08:45 #13
Resulatet blev:

Sub FindPoster()
    manedtabel = Array("", "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec")
    rk = 4 ' start række i modtager ark
    rkdata = 14 'start række i data ark
    rkdataslut = 51 'slut række i data ark
   
    For Each Skema In Worksheets ' for hver skema med 1
        If Left(Skema.Name, 1) = "1" Then
            For manednr = 1 To 12  ' Find måned
                If manedtabel(manednr) = Left(ActiveSheet.Name, 3) Then Exit For
            Next manednr
            For t = rkdata To rkdataslut    ' find rækker og flyt
            If Month(Skema.Cells(t, "G")) = manednr And Skema.Cells(t, "G") <> Empty Then
                ActiveSheet.Range("A" & rk & ":J" & rk).Value = Skema.Range("D5").Value
                ActiveSheet.Range("B" & rk & ":I" & rk).Value = Skema.Range("C" & t & ":J" & t).Value
                rk = rk + 1
            End If
            Next t
        End If
    Next Skema
End Sub
Avatar billede arentoft Nybegynder
12. december 2007 - 09:00 #14
Tak for hjælpen!
Avatar billede jlemming Nybegynder
12. december 2007 - 09:20 #15
Husk at accepter mit svar :-)
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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