28. oktober 2009 - 06:44Der er
10 kommentarer og 1 løsning
subtotal efter filtrering
jeg har lidt problemer med at se hvordan man skal kunne lave en total efter en filtrering i VBA. subtotal gør normalvis arbejdet fint, men kan ikke gennemskue hvordan det skal kodes.
jeg kan ikke have subtotal i et fast felt da der løbende vil blive tilføjet data i det ark hvor der skal summeres fra.
Sheets("SQ").Activate Dim Dest, ns, Month As Integer Dest = 5 ns = 0 Month = 1
Dim SupplierName, Year, PeriodB, PeriodE, First, Second, PU, PL As Variant Set SupplierName = Sheets("SQ").Cells(3, 2) Set Year = Sheets("SQ").Range("F8") First = ">=" Second = "<=" PeriodB = "-01-" & Year PeriodE = "-31-" & Year PL = "-30-" & Year PF = "-28-" & Year
**lige pt har jeg bare sat min destination til at pege på en celle hvor jeg har lavet en fast subtotal, men det går ikke når der kommer mere data til. jeg ville jo ønsker at i stedet for at tage .value kan få den til at hente subtotal i stedet?
ja hov det kan du selvfølgelig ikke se. Jeg indtaster manuelt ind i kolonnerne "H" og "M" på ark "total", og det er i disse kolonner jeg har brug for subtotal. I koden starter jeg først i H4 og M4 da jeg har nogle overskrifter der selvfølgelig ikke skal tælles med.
Indsæt manuelt SUBTOTAL-formlerne 1 linie under sidste række med tal, så der er en tom linie imellem dine data og totalen. Formlen skal dække fra række 4 til sidste række med tal.
Højreklik på ark Total og vælg Vis programkode Indsæt følgende kode der.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 8 Then Exit Sub Application.EnableEvents = False If Left(Target.Offset(1, 0).Formula, 4) = "=SUB" Then Target.Offset(1, 0).EntireRow.Insert Target.Offset(0, 1).Select End If Application.EnableEvents = True End Sub
koden tester for input i den tomme celle i kolonne H Hvis du indtaster noget, indsættes automatisk en ny linie.
Du anvender blot din kode til autofilter som du plejer skulle der opstå problemer, så sig til. Gem evt. som en kopi til det kører som planlagt.
koden virker fint, dog kan jeg desværre ikke bruge den direkte i forbindelse med min kode som den er lige pt. jeg bruger xldown til at lokalisere subtotal'en men den går jo kun til sidste celle med værdi, og da der er en tom celle imellem sidste række og subtotal'en så vælger xldown den forkerte celle.
Men istedet for koden kunne du prøve med Liste, som tillige gir nogle flere muligheder (der får du iøvrigt også en tom imellem)
Fjern først Autofilter I menuen Data vælger du Opret liste Marker dit område med data, hvor øverste linie er den linie hvor du før havde dine dropdown-pile Sæt flueben i "Listen indeholder overskrifter" og klik ok
Klik et sted i Listen og vælg Data/Liste/Rækken Total som opretter en linie nederst hvor du kan vælge mellem SUM Middel osv..
Mange tak for hjælpen har fået det til at virke. Liste er blevet til table i excel 2007 men derudover så ændre det på min opsætning og det går ikke, desværre. Så det blev ikke liste metoden.
Hvis du gider sende et svar så skal jeg med glæde give dig dine point.
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.