20. juni 2003 - 16:14Der er
31 kommentarer og 1 løsning
Hvordan udelades nogle celler i optælling?
Jeg spurgte tidligere i dag om, hvordan man tæller, hvor mange gange et ord forekommer i en kolonne og får dette vist i en anden kolonne (http://www.eksperten.dk/spm/367115). Som et "tillægsspørgsmål" hertil, mangler jeg nu hjælp til, hvordan jeg kan få funktionen til ikke at tælle visse kolonner med, for eksempel alle de kolonner, der er markeret med en bestemt farve eller lignende?? /magger
Nå ikke helt det du skal bruge, men jeg har modificeret ovenstående til dette.
Function WordAndColorCount(rRange As Range, rColor As Range, Ord As String) As Variant Dim rCell As Range Dim dCount As Double C = rColor.Interior.ColorIndex dCount = 0 Application.Volatile For Each rCell In rRange If rCell = Ord And rCell.Interior.ColorIndex = rColor.Interior.ColorIndex Then dCount = dCount + 1 End If Next rCell WordAndColorCount = Ord & " = " & dCount & " stk."
Du sætter det ind i et modul I det aktive regneark og kalder det ved at Klikke ind på en tom celle, tryk på funktioner/brugerdefinerede der kan du se den.
RRange = det område der skal søges igennem RColor = klik på en celle med den farve cellen skal have Ord = klik på en af de celler der indeholder det der skal søges efter.
NB. den kikker kun på hele indholdet ikke en del af det og kun på den baggrundsfarve du har valgt.
OK, det prøvede jeg og det virker egentlig helt fino - bortset fra, at det ikke helt er den funktion, jeg er ude efter. Måske skal jeg forklare lidt bedre: I kolonne A har jeg en masse forskellige ord, mens jeg i kolonne D gerne vil have vist, hvor mange gange hvert ord optræder i kolonne A. Altså fx står der "biler" både i A1 og A23. I D1 og D23 vil jeg så gerne have vist tallet "2". Samtidig er der nogle af rækkerne, der ikke skal tælles med, fx alle de rækker der er blå eller markeret på en eller anden måde. Det vil sige, at hvis der også står "biler" i A42, skal tallet i D1, D23 og D42 stadig kun være "2" (og ikke 3, fordi celle A42 ikke tælles med) Giver det mening? /magger
Joh meeen... det er selve funktionen der er gal. I ovennævnte funktion skal jeg angive det ord, der skal tælles - det er jeg ikke interesseret i, da jeg har ca. 400 ord, der alle skal tælles, og der kommer hele tiden flere. Funktionen =COUNTIF(A:A;A1) virker til dels, men den udelader jo ikke de markerede rækker. Er der ikke en nem måde at udvide denne funktion på, så den ikke tæller de rækker med, der er markeret på en eller anden måde, fx med blå farve eller på en anden måde?? /magger
Det gør den også, men kun på baggrundsfarven ikke skriftfarven. Du skal jo ikke skrive ordet den kikker jo på cellen i A kolonnen i den række funktionen står i.
WordAndColorCount($A$1:$A$45;A1;A1)
hvis denne trækkes nedad fra D1 til D45 vil den skrive ud for hver enkelt celle hvor mange gange det findes fra A1 til A45.
OK, så tror jeg den er på plads... en mindre ting, jeg kunne tænke mig at få rettet er, at den gør forskel på store og små bogstaver - altså "Biler" og "biler" er to forskellige ting. Kan det ændres?? /magger
ARGH, det virkede fint da jeg prøvede det i et test-ark, men nu kan jeg ikke få lov at indsætte en brugerdefineret funktion... hjælphjælp! Jeg har smidt funktionen ind i et modul (ved hjælp af alt+F11) og gemt det. Stiller mig i en tom celle, klikker på menuen Insert og herunder på Function og leder efter "user defined", men kan ikke finde den. Hvad gør jeg galt?? /magger
jep, det gør den. Til venstre i modulvinduet (hvor jeg indsætter funktionen) under Project - VBAProject er "Sheet 3 (sheet 3)" markeret. Er det korrekt, at den skal være markeret?
Under Insert kan jeg kun vælge Cell, Rows, Columns, Worksheet, Chart, Symbol, Page break, Function, Name, Comment, Picture, Diagram, Object og Hyperlink - ikke noget med modul...
OK, nu er det vist ved at være på plads. Jeg bliver spugt om RRange (det område, der skal tælles igennem - det er kolonne A), er det rigtigt at skrive A:A her?
jojo, jeg kan sagtens nøjes med mindre... jeg mente nu også i den lille boks, der popper op, som jeg skal udfylde med RRAnge, RColor og Ord... hvordan siger jeg der at den kun skal tælle de første 1000 rækker?
Btw, funktionen opdateres ikke automatisk. Når jeg farver et ord i kolonne A med den farve, der indikerer at ordet ikke skal tælles med, opdateres tallet i kolonne D ikke. Er det muligt at få funktionen til at opdatere automatisk, ligesom med =COUNTIF(A:A;A1) /magger
Magger-> det er ikke muligt, da en farvelægning af en celle ikke tvinger excel til at genberegne arket. Prøv istedet at trykke F9, det giver en genberegning.
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.