Woorden tellen in een cel, maar met een uitzondering

Status
Niet open voor verdere reacties.

bascas

Gebruiker
Lid geworden
18 mei 2006
Berichten
441
Beste helpers,

In de sheet heb ik een stukje VBA geplakt wat ik op internet heb gevonden. Dit zorgt ervoor dat het aantal woorden (in mijn geval namen) in een cel geteld wordt.
Is het mogelijk om excel (vba) wel de namen met een "1" erachter te laten tellen, maar namen met een "2", "3", "4", enz enz niet te tellen.

Het allermooiste is, als het excel het woord pas ziet na de komma en niet na een spatie. Maar wellicht is dit te hoog gegrepen van mijn wensenlijstje:d

Groet Bas
 

Bijlagen

  • Woorden tellen in een cel.xls
    34,5 KB · Weergaven: 23
Laatst bewerkt:
Zoiets:

Code:
Function intWordCount(rng As Range) As Integer
[COLOR=#008000]'Update by Extendoffice 2018/3/7[/COLOR]
    Dim tekst As String
    Dim aTekst
    tekst = Trim(rng.Value)
    If Right(tekst, 1) = "," Then tekst = Left(tekst, Len(tekst) - 1)
    aTekst = Split(tekst, ",")
    intWordCount = UBound(aTekst) + 1
    For i = 0 To UBound(aTekst)
        If Val(Right(aTekst(i), 1)) > 1 Then
        intWordCount = intWordCount - 1
        End If
    Next
End Function
 
Hier een variant met Regular Expression

Code:
Function jec(cell As String) As Long
 With CreateObject("vbscript.regexp")
   .Global = True
   .Pattern = "[a-z](?=(,|1,))"
    jec = .Execute(cell & ",").Count
 End With
End Function


of

Code:
Function jec(cell As String) As Long
 Dim it
 For Each it In Split(cell, ",")
   If it Like "*[a-z]" Or it Like "*1" Then jec = jec + 1
 Next
End Function
 
Laatst bewerkt:
Code:
Function F_snb(c00)
  F_snb = UBound(Filter(Split(c00, ","), " ")) + 1
End Function

cellen eindigen met spatie of komma lijkt me slordig.
 
Deze geeft niet de juiste uitkomsten
 
Het is mij volstrekt onduidelijk wat de 'juiste' uitkomsten zijn.
 
@snb
Misschien helpt het als je bericht #1 eens leest en het voorbeeldbestand in dat bericht bekijkt.
 
Het staat eenieder vrij de door mij getoonde methode aan te passen.
 
Allen bedankt voor de geboden oplossingen.
De code van Ahulpje bood de oplossing die ik nodig had.:thumb:

Tja of de code dan compacter of netter kan, kan ik niet beoordelen, ik was er blij mee

Groeten Bas
 
Beste helpers,
Ik heb toch nog een vervolgwens.

In de voorbeeld sheet werkt de geboden oplossing in kolom C. Kan in dezelfde sheet het volgende dan ook nog draaien?
In kolom E zou de uitkomst moeten zijn. Als in Kolom B een naam staat met een 1 (direct aan de naam of met een spatie)dan levert dit als uitkomst een 2, anders een 1. Zie voorbeeldsheet.

Groetjes Bas
 

Bijlagen

  • Woorden tellen in een cel vs2.xls
    36 KB · Weergaven: 9
Laatst bewerkt:
Je voorbeelddocument is hetzelfde als in je openingspost en wat je nu wilt is mij volstrekt onduidelijk.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan