Avatar billede rotroc Nybegynder
09. april 2007 - 12:02 Der er 10 kommentarer og
1 løsning

Pivot table – kan ikke opdele enkeltdatoer i grupper af måneder.

Hej Eksperter

Mit problem er at jeg ikke kan gruppere en række datoer således de fremstår i måneder.

Jeg har for et antal måneder vist antal af tilbud der er lavet.
Da det ikke er interessant at se hvilken specifik dato tilbuddet er lavet ønsker jeg at gruppere disse pr måned.
- Jeg markere et tilfældigt datofelt i datorækken kaldet ”Tilbud oprettet den:”, -  højreklikker og vælger menuen ”Grupper”. Her efter kommer derefter fejlmeldingen: ” Kan ikke gruppere denne markering.”

Er der krav til hvorledes datoformatet skal være inden man forsøger at inddele datoer i grupper  ? Skal datoer først sorteres stigende eller faldende ? Skal man først vælge et bestemt celleformat for datoerne ?
Avatar billede supertekst Ekspert
10. april 2007 - 09:33 #1
Prøv at vise opstillingen og hvad du vil opnå...
Avatar billede rotroc Nybegynder
12. april 2007 - 18:14 #2
Der er flere kolonner og rækker. Jeg har klippet lidt ud.
Venstre kolonne er tilbudsnr - højre er hvilken dato disse er oprettet.
Jeg ønsker at min pivot skal kunne vise hvormange tilbudsnumre der er lavet pr måned og måske også hvilke. Mine dato angivelse er som udgangspunkt ikke sorteret som det fremgår af det lille udklip. Jeg er ikke helt sikker på at jeg indsætter "Tilbudsnummer" og "Dato" i de korrekte datafelter under dannelse af pivot vha guiden i Excel. Som sagt så mener jeg at det skulle være muligt at lave månedlig gruppering kan bare ikke få det til at fungere.


Tilbudsnummer    Dato
4118317    01.02.2007
4118478    05.02.2007
4121181    07.03.2007
4121181    07.03.2007
4121442    09.03.2007
4114852    11.12.2006
4115033    12.12.2006
4121674    13.03.2007
4121674    13.03.2007
Avatar billede rotroc Nybegynder
13. april 2007 - 08:01 #3
Hmm - det ser ud til at kilden til mine problemer er fundet. På enkelte rækker har jeg forsøgsvis ændret datoformatet fra ovenstående 01.02.2007 til 01-02-2007. Sidstnævnte format med bindestreg er en af valgmulighederne som Excel har ved højreklik og Format Cells. Der er nu mulighed for at inddele i måneder som ønsket.

Eneste problem er nu at jeg for alle rækker med dato formater i mit regneark manuelt skal rette til datoformat med bindestreg (eller til et af de andre der understøttes af Excel)... kan dette ikke gøres vha VBA?
Jeg har 3 kolonner benævnt "Gyldig fra" - "Gyldig til" og "Oprettet den"
Kan de tre kolonner ikke indsættes som elementer i Array. Hvis vi lader kode for dato format ændringen kører på alle rækker nedaf indtil den møder første tomme celle.
Avatar billede supertekst Ekspert
13. april 2007 - 08:46 #4
Vender tilbage...
Avatar billede supertekst Ekspert
13. april 2007 - 10:30 #5
Indsæt koden i Ark 1:

Sub FormaterDatoer()
    For r = 2 To 65500
        If Cells(r, 1) = "" Then
            Exit For
        End If
       
Rem Dato - skal evt. tilpasses
        Cells(r, 2) = datoFormat(r, 2)  'Kolonne B(2)
       
Rem Tilpasses m/kolonneNr ? & slet ' i begyndelsen af linie
Rem Gyldig fra
'        Cells(r, ?) = datoFormat(r, 2)  'Kolonne ??
Rem Gyldig til
'        Cells(r, ?) = datoFormat(r, 2)  'Kolonne ??
Rem Oprettet den
'        Cells(r, ?) = datoFormat(r, 2)  'Kolonne ??
   
    Next r
    MsgBox ("Formatering af datoerer afsluttet")
End Sub
Private Function datoFormat(række, kolonne)
    dato = Cells(række, kolonne)
    Cells(række, kolonne).Select
    Selection.NumberFormat = "mm/dd/yyyy"

    datoFormat = Left(dato, 2) + "-" + Mid(dato, 4, 2) + "-" + Right(dato, 4)
End Function
Avatar billede rotroc Nybegynder
13. april 2007 - 14:41 #6
OK der sker nu noget med dato i de rigtige kolonner dvs. 5 - 6 - og 14.
Dog indsættes dobbelt bindestreg og det er helt galt med datoformatet som vist her:
Gyldig fra    Gyldig til
10--1---10    10--1---10
10--1---10    10--1---10
10--1---10    10--1---10
20--2---20    20--2---20

Koden jeg har indsat er her - jeg er lidt i tvivl om jeg har indsat korrekt:

Sub FormaterDatoer()
    For r = 2 To 65500
        If Cells(r, 1) = "" Then
            Exit For
        End If
       
Rem Dato - skal evt. tilpasses
        Cells(r, 2) = datoFormat(r, 2)  'Kolonne B(2)
       

Rem Gyldig fra
Cells(r, 5) = datoFormat(r, 2) ' Gyldig fra kolonne nr 5
Rem Gyldig til
Cells(r, 6) = datoFormat(r, 2) ' Gyldig til kolonne nr 6
Rem Oprettet den
Cells(r, 14) = datoFormat(r, 2) ' Oprettet den kolonne nr 14
   
    Next r
    MsgBox ("Formatering af datoerer afsluttet")
End Sub
Private Function datoFormat(række, kolonne)
    dato = Cells(række, kolonne)
    Cells(række, kolonne).Select
    Selection.NumberFormat = "mm/dd/yyyy"
Avatar billede supertekst Ekspert
13. april 2007 - 17:37 #7
OBS - du havde ikke rettet kolonnerne for disse:

Cells(r, 5) = datoFormat(r, 5) ' Gyldig fra kolonne nr 5
Rem Gyldig til
Cells(r, 6) = datoFormat(r, 6) ' Gyldig til kolonne nr 6
Rem Oprettet den
Cells(r, 14) = datoFormat(r, 14) ' Oprettet den kolonne nr 14
Avatar billede rotroc Nybegynder
13. april 2007 - 20:35 #8
Det var lidt bedre - de rigtige kolonner formateres så formatet 01.02.2007 ikke
findes længere - dog er der stadigvæk 3 forskellige formater. Dette:  7/-/2-2007 samt de nedenfor viste:
Gyldig fra    Gyldig til
11/12/2006    11/01/2007
12/12/2006    12/01/2007
18-01-2007    19-02-2007
18-01-2007    19-02-2007
18-01-2007    19-02-2007
18-01-2007    19-02-2007

Formatet 18-01-2007 har vist sig OK mht til gruppering. Kan koden rettes så dette er det eneste der kommer?
Avatar billede supertekst Ekspert
13. april 2007 - 23:04 #9
Prøv evt. at sende din fil til pb@supertekst-it.dk
Avatar billede rotroc Nybegynder
17. april 2007 - 16:14 #10
Hej Supertekst

Mange tak for din vedholdende hjælp - resultatet er bare OK.
Smid et svar og du får point
Avatar billede supertekst Ekspert
17. april 2007 - 16:39 #11
Selv tak - skulle det være en anden gang - det får du så her...
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