Avatar billede spoi Nybegynder
08. juni 2007 - 13:26 Der er 4 kommentarer

opdatering af pivot tabel

Jeg har en masse data jeg henter fra nogle tekstfiler og smider og behandler i nogle excel ark. det drejer sig pla om salgstal nogle uger frem.

Af disse tabeller laver jeg pivot tabeller.

Teskfilerne opdateres løbende og ligeledes mine tabeller.
Jeg ville således også gerne på en enkelt måde opdatere pivot tabellerne.

Men da data området kan variere fungerer det ikke rigtigt.
Lige nu har jeg bare oprettet pivottabellerne manuelt.
Dvs der er ikke altid det samme antal rækker og kolonner i de tabeller jeg danner fra tekstfilen.

En ide - som måske ikke er smart??. Oprette en pivot med makro der læser til sidste kolonne og sidste række. Dette i stedet for bare at kunne opdatere pivoten. Tror det måske bliver for tungt

LN
Avatar billede bak Forsker
09. juni 2007 - 10:14 #1
Makro er nok den bedste måde at gøre det på. Det bliver ikke tungere end før.

Her er en ide du kan arbejde videre med. Makro tager udgangpunkt i det aktive arks celle A2 og Navngiver så hele det sammenhængende område (Ligesom ctrl-shift-*)

Navnet bliver så "DATA_" + arknavnet.

Sub Make_Data_Name()
    Dim N As String
    N = "DATA_" & ActiveSheet.Name
    ActiveSheet.Range("A2").CurrentRegion.Name = N
End Sub
Avatar billede hjertet Nybegynder
12. juni 2007 - 14:42 #2
Hej spoi. Fik du det til at virke?

Jeg har ikke kunnet få Bak's 'Make_Data_Name()' til at virke.

Jeg har hidtil brugt nedenstående med held.

Kan det bruges? - Venlig hilsen fra Hjertet

Sub PivotTabel_til_Tidsark()
'
' PivotTabel Makro

    Dim Kildedata As String
    Dim C As Long 'kolonnetæller - til at finde sidste kolonne i 'kildearket'
    Dim R As Long 'rækketæller - til at finde sidste celle i 'kildearket'
    Dim Arknavn As String
   
    Arknavn = ActiveSheet.Name ' Hovedarkets navn gemmes
   
' Pivottabel "startes", der vælges rækker og kolonner
' Tabellens overskrift ændres til Antal sager/fejl - nederst i modulet
   
   
    R = ActiveSheet.UsedRange.Rows.Count
    C = ActiveSheet.UsedRange.Columns.Count
   
    Kildedata = Arknavn
    Kildedata = Kildedata & "!" & "R2C1" & ":" & "R" & R - 1 & "C" & C
   
' Min udgave af navneopbygning af ark
        ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        Kildedata).CreatePivotTable _
        TableDestination:="", TableName:="Pivottabel1", DefaultVersion:= _
        xlPivotTableVersion10
    ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
    ActiveSheet.Cells(3, 1).Select
    ActiveSheet.PivotTables("Pivottabel1").AddFields RowFields:= _
        "Til arbejdsgruppe  ", ColumnFields:="Løsnings prioritet"
    ActiveSheet.PivotTables("Pivottabel1").PivotFields( _
        "Beskrivelse (Tekst til kunden)").Orientation = xlDataField
    ActiveSheet.PivotTables("Pivottabel1").DataPivotField.PivotItems( _
        "Antal af Beskrivelse (Tekst til kunden)").Caption = "Antal sager/fejl"

' *************************
' Har på dette sted en del linier med diverse formattering af kolonner og fremhævning
'    af bestemte ord
' *************************
   
' I første celle i Pivottabellen indsættes datering plus antal sager
'  - arvet fra Hovedarket
    Range("A1").Formula = Arknavn
   
' PivotArket navngives
' Der kunne evt. vælges en inputboks, der spørger om navnet på arket
    ActiveSheet.Name = "PivotTabel"
    ActiveWindow.SelectedSheets.PrintPreview
End Sub
Avatar billede spoi Nybegynder
27. juni 2007 - 06:34 #3
beklager jeg ikke har svaret. Blev lige hevet væk til en anden hasteopgave - he he men nu er jeg tilbage til denne her hasteopgace igen ;O)
Forsøger mig frem i dag.
LN
Avatar billede spoi Nybegynder
31. januar 2008 - 08:34 #4
tak for hjælpen
Jeg fik det til at virke - ikke optimalt - men ok

point til dig

LN
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