09. april 2007 - 12:02Der 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 ?
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.
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.
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
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"
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
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?
Selv tak - skulle det være en anden gang - det får du så her...
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.