Avatar billede sleeper Nybegynder
23. juni 2008 - 08:20 Der er 4 kommentarer og
1 løsning

Tilrettelse af Macro - Excel 2007

Hej

Jeg har indspillet denne macro, som danner en pivottabel
Den skal rettes, så antal rækker er variabel.

Hvordan laves dette?
Avatar billede kabbak Professor
23. juni 2008 - 10:06 #1
ja, den var ikke lang, må vi se mere
Avatar billede sleeper Nybegynder
23. juni 2008 - 10:17 #2
Flot klaret, nu med koden

Sub Makro2()
'
' Makro2 Makro
'

'
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "DATA!R1C1:R4688C12", Version:=xlPivotTableVersion12).CreatePivotTable _
        TableDestination:="Ark5!R3C1", TableName:="Pivottabel2", DefaultVersion:= _
        xlPivotTableVersion12
    Sheets("Ark5").Select
    Cells(3, 1).Select
    Range("B6").Select
    With ActiveSheet.PivotTables("Pivottabel2")
        .InGridDropZones = True
        .RowAxisLayout xlTabularRow
    End With
    With ActiveSheet.PivotTables("Pivottabel2").PivotFields("Varenr")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("Pivottabel2").PivotFields("Lokation")
        .Orientation = xlRowField
        .Position = 2
    End With
    Range("A5").Select
    ActiveSheet.PivotTables("Pivottabel2").PivotFields("Varenr").Subtotals = Array( _
        False, False, False, False, False, False, False, False, False, False, False, False)
End Sub
Avatar billede kabbak Professor
23. juni 2008 - 11:13 #3
Hvis der altid er data i L kolonnen, burde denne virke.

NB. ikke testet

Sub Makro2()
'
' Makro2 Makro
Dim RK As Long
RK = Range("L65536").End(xlUp).Row ' ret  kolonne L til en anden, hvis der ille altid er data i sidste celle
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "DATA!R1C1:R" & RK & "C12", Version:=xlPivotTableVersion12).CreatePivotTable _
        TableDestination:="Ark5!R3C1", TableName:="Pivottabel2", DefaultVersion:= _
        xlPivotTableVersion12
    Sheets("Ark5").Select
    Cells(3, 1).Select
    Range("B6").Select
    With ActiveSheet.PivotTables("Pivottabel2")
        .InGridDropZones = True
        .RowAxisLayout xlTabularRow
    End With
    With ActiveSheet.PivotTables("Pivottabel2").PivotFields("Varenr")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("Pivottabel2").PivotFields("Lokation")
        .Orientation = xlRowField
        .Position = 2
    End With
    Range("A5").Select
    ActiveSheet.PivotTables("Pivottabel2").PivotFields("Varenr").Subtotals = Array( _
        False, False, False, False, False, False, False, False, False, False, False, False)
End Sub
Avatar billede sleeper Nybegynder
23. juni 2008 - 19:33 #4
Det virker.
Tak

Ligger du et svar?
Avatar billede kabbak Professor
24. juni 2008 - 11:52 #5
et 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
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