02. juni 2015 - 09:36Der er
6 kommentarer og 1 løsning
VBA til at tælle et udfald i bestemte celler i hele projektmappen
Hej Eksperter
Er det muligt at lave en makro der går ind og tæller automatisk de samme celler for et bestemt udfald, (i dette tilfælde skal jeg tælle antallet af "ferie" forekomster) for alle faner selvom der bliver oprettet nye faner.
Hvis alle arkene har et dataområde der inkluderer A1 kan nedenstående makro bruges:
Sub Tael() Dim Sht As Worksheet x = 0 For Each Sht In ActiveWorkbook.Worksheets x = Application.CountIf(Sht.Range("a1").CurrentRegion, "Ferie") + x Next MsgBox ("Ferie forekommer " & x & " gange") End Sub
Tænker lidt mere at det må skulle være en private sub der i celle "v7", tæller op hvor mange gange "ferie" fremkommer i celle "B4" "B25" osv. på alle fanebladene ( altså det er de samme celler der skal tælles i alle fanebladene )
Prøv med denne. Den tæller op hvad der er i området B4:B25 og lægger svaret i V7.
Sub Tael() Dim Sht As Worksheet For Each Sht In ActiveWorkbook.Worksheets Sht.Range("V7") = Application.CountIf(Sht.Range("B4:B25"), "Ferie") Next End Sub
Dog tænker jeg om man i stedet for at få antallet for hvert ark, i et felt, i stedet kan få den til at udregne det samlede antal for alle ark. Og så skrive resultatet ind i en celle i et bestemt ark ? lad os bare kalde arket "år"
Sub Tael() Dim Sht As Worksheet x = 0 For Each Sht In ActiveWorkbook.Worksheets x = Application.CountIf(Sht.Range("B4:B25"), "Ferie") + x Next Worksheets("År").Range("V7") = x End Sub
Sub Tael() Dim Sht As Worksheet x = 0 For Each Sht In ActiveWorkbook.Worksheets x = Application.CountIf(Sht.Range("B4"), "Ferie") + Application.CountIf(Sht.Range("B25"), "Ferie") + x Next Worksheets("År").Range("V7") = x End Sub
X=0 er strengt taget ikke nødvendigt da X ikke huskes fra gang til gang.
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.