Funktion/Makro til at tælle antallet af forskellige værdier/tekster
Hej Eksperter,
Jeg har et regneark hvor der bliver noteret hver gang jeg selv eller en studiekammerat har fortaget en prøve. Arket er nu vokset og det er efterhånde svært at holde styr på hvad der er tage og hvor mange prøver vi i alt er oppe på.
Derfor kunne jeg godt tænke mig lidt hjælp til en funktion/makro, som kan hjælpe med at optælle hvor mange forskellige udfyldte celler der er.
Her er et eksempel på hvordan arket er bygget op (i en mini udgave:
A 1 820A-1 2 1423A-3 3 FVR.005 4 Ikke udført 5 820A-1 6 1024A-2 7 Ikke udført 8 9 1423A-3 10 FVR.005
Det funktionen/makroen så gerne skulle komme frem med er et antal, som i ovenstående tilfælde er = 5. Da den ikke skal medregne tomme celler.
Jeg har forsøgt mig med denne, men den virker ikke :(
Med en makro kan man gennemløbe et defineret område og føje celleværdierne til en collection. Man benytter sig så af, at navnene i en collection skal være unikke, og derfor skrives "On Error Resume Next", da forsøg på at tilføje en dublet ellers ville give en fejl. I nedenstående har jeg sat området til A1:D200, men det står dig selvfølgelig frit for.
'**************** Sub AntalUnikke() Dim rCell As Range Dim rRange As Range Dim sTekst As String Dim colTests As New Collection
Set rRange = Range("A1:D200") 'Området som skal gennemsøges
On Error Resume Next
For Each rCell In rRange sTekst = Trim$(rCell.Value) 'Fjerner blanke foran og bagefter If Len(sTekst) > 0 Then colTests.Add sTekst, sTekst End If Next
MsgBox colTests.Count & " prøver"
Set colTests = Nothing Set rCell = Nothing Set rRange = Nothing End Sub '****************
Hvis du ændrer linjen:
If Len(sTekst) > 0 Then
til:
If Len(sTekst) > 0 And rCell.value <> "Ikke udført" Then
tælles kun de gennemførte prøver.
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.