Du kan evt. lave en ny kolonne og beregne måneden v.h.a. =MÅNED() På baggrund af månedsværdien kan du så lave et avanceret filter for at få den måned du ønsker.
Du kan i VBA lave en periode som string, se nedenfor. Du laver er felt i excel hvor du indtaster start (B4) og slut dato (B6). I mit eksempel på worksheet SETUP B4 og B6.
Inden selve makroen laver du disse dim linier.
Dim Start_Date As String Dim End_Date As String Dim ACCStartDate As String Dim ACCEndDate As String
Sub Start() '*******Henter dato fra "setup" sheet ACCStartDate = Worksheets("Setup").Range("B4") ACCEndDate = Worksheets("Setup").Range("B6")
'*******Formatere cellerne ACCStartDate = "{d'" & Format(ACCStartDate, "yyyy-mm-dd") & "'}" ACCEndDate = "{d'" & Format(ACCEndDate, "yyyy-mm-dd") & "'}" Sub End
Sørg for at disse 2 linier er de før din makro Sub Opdater() Start_Date = ACCStartDate End_Date = ACCEndDate ***SÅ MAKROEN HER End Sub ***For at du får din afgrænsning til at virke skal du indsætte Start_Date og End_Date som range vist forneden. FX hvis jeg vil hente data fra Job Ledger Entry og Posting Date i perioden Start_Date og End_Date gør som vist nedenfor.
...& "WHERE (""Job Ledger Entry"".""Posting Date"" between " & Start_Date & " and " & End_Date & ")")
Dette vil tage date indefor den defineret periode.
janvogt/bak, Jeg har prøvet jeres forslag og det kan bruges, men når jeg opdaterer fra ODBC, skal jeg manuelt opdatere kolonnen med måned. min formel ser således ud: SUM((GIT!$B$3:$B$610=$A5)*(GIT!$D$3:$D$610>=P$2)*(GIT!$D$3:$D$610<=P$3)*-GIT!$C$3:$C$610) A5 = Varenr. P2 = 1/1 P3 = 31/1 GIT!$C$3:$C$610 = Antal
Jeg skal have salget fordelt på måneder. nu er vi i marts og jeg kan derfor opdatere februar. Jeg har ikke brug for at beregne januar igen, og heller ikke de kommende måneder. Salget og prisen skal jeg regne videre på, og lave en graf. Datamængden bliver større for hver måned, og den ekstra måneds kolonne skal derfor rettes hver gang, hvordan undgår jeg det?
Nej maui, du skal ikke kopiere formlen måned ned. Den skal bare eksistere i første linie af dine data. Højreklik på dataområdet og vælg "egenskaber for dataområde" Nederst i den form kan du sætte flueben i "Fyld formler nedad i tilgrænsende kolonner"
Prøv iøvrigt med sumprodukt istedet. Den er muligvis hurtigere. SUMPRODUKT((GIT!$B$3:$B$610=$A5)*(GIT!$D$3:$D$610>=P$2)*(GIT!$D$3:$D$610<=P$3)*-GIT!$C$3:$C$610) indtastes IKKE som arrayformel.
Jeg har arbejde lidt videre med pivot, men er løbet ind i et problem. Jeg prøved at lave en makro, der viste den relevante måned i pivot, men den ændrede bare navnet på måneden i pivot-tabellen.
Sub Macro3() Sheets("Sheet5").Select ActiveSheet.PivotTables("PivotTable5").PivotFields("Måned").CurrentPage = _ (Sheet5.Range("e1")) End Sub
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.