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
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
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
' 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
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
tak for hjælpen Jeg fik det til at virke - ikke optimalt - men ok
point til dig
LN
Synes godt om
Ny brugerNybegynder
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.