• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Bepalen of tekst positief of negatief is

Status
Niet open voor verdere reacties.

HarryBee

Gebruiker
Lid geworden
8 jul 2008
Berichten
240
Beste helpers,

In een excelsheet heb ik twee kolommen. De een (kolom A) bevat tekst en de ander (kolom C) steekwoorden zoals "goed", "uitstekend", "voldoende" etc. Ik wil d.m.v. een VBA code de tekst in de cellen van kolom A controleren op de aanwezigheid van één van de woorden uit kolom C. Als resultaat wil ik in Cel D1 het aantal cellen laten verschijnen, waarin één van de woorden uit kolom C voorkomen.

Kortom: Als bijvoorbeeld in Cel A2 2x een woord uit kolom C voorkomt en Cel A3 3x een woord voorkomt uit kolom C, dat in Cel D1 het getal 2 verschijnt. (twee cellen bevatten één woord uit kolom C).

Ik kom er met een formule niet uit. Misschien dat iemand van jullie mij op het goede spoor kan brengen.

Alvast mijn dank voor het meedenken.

Groet Harry.
 
Een voorbeeldbestandje posten zal zeker de zaak vooruit helpen.
 
Code:
Sub Test()
With ActiveSheet
    LastRowA = .Cells(.Rows.Count, "A").End(xlUp).Row
    LastRowC = .Cells(.Rows.Count, "C").End(xlUp).Row
End With
Teller = 0
For Each Tekst In Range("A1:A" & LastRowA)
    For Each Woord In Range("C1:C" & LastRowC)
        If Tekst Like "*" & Woord & "*" Then
            Teller = Teller + 1
            Exit For
        End If
    Next Woord
Next Tekst
[D1] = Teller
End Sub
 
Cobbe,

Ik kan vanuit mijn werkplek geen documenten uploaden. Dit doe ik later vandaag vanaf huis. Dank.
Groeten Harry
 
Conseclusie,

Dank je wel. Dit werkt opzich wel. Het begin is er, maar het zou hoofdletter ongevoelig moeten werken. Wat kan ik aanpassen?

En stel dat ik het resultaat op een ander blad zou willen weergeven, wat moet er dan aangepast worden?

Groet Harry
 
Het begin is er, maar het zou hoofdletter ongevoelig moeten werken. Wat kan ik aanpassen?
Simpelweg je woordenlijst in kolom C uitbreiden met dezelfde woorden, maar dan met (of zonder hoofdletter). Zet bijvoorbeeld in C1:C10 10 woorden met kleine letters en gebruik in C11:C20 de functie BEGINLETTERS om dezelfde woorden met een hoofdletter te verkrijgen.
En stel dat ik het resultaat op een ander blad zou willen weergeven
[D1] vervangen door Sheets("jouwbladnaam").D1
 
Een formule-oplossing met een hulpkolom - laten we zeggen kolom B - en gedefinieerde namen:
Steekwoorden (over de steekwoorden in kolom C) en
TekstMetSteekwoord (over de waarden in de hulpkolom).

De formule in B2 invoeren en afsluiten met Ctrl+Shift+Enter (het is namelijk een matrixformule), en kopiëren naar beneden.

Code:
B2: =--OF(ISGETAL(VIND.SPEC(Steekwoorden;$A2)))
D1: =SOM(TekstMetSteekwoord)
 
Conseclusie,

De code werkt uitstekend met de aanpassingen. Hartelijk dank voor je hulp.

Groet Harry.
 
Marcelbeug,

De oplossing met de formule werkt inderdaad goed. Mijn dank is groot.

Groet Harry.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan