• 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.

VBA Steekwoorden kleuren in cellen met tekst

Status
Niet open voor verdere reacties.
Beste snb, ik heb weer wat tijd gehad om te kijken naar het kleuren van de steekwoorden. Een verschil met de oorspronkelijke lange code en jouw code is dat wanneer binnen een cel een bepaald steekwoord meerdere keren voorkomt de oorspronkelijke code ze allemaal kleurt en jouw code alleen de eerste. Is dit op te lossen? Ik vrees dat mijn kennis VBA-onvoldoende is om dit zelf voor elkaar te krijgen. Het case insensitive maken is met wat hulp gelukt maar dit vereist vermoedelijk wat grotere aanpassingen aan de code.
 
probeer deze eens:
Code:
Sub test()
    Dim rg As Range, r As Range, sg As Range, s As Range, i As Integer
    Set rg = Range("Sheet1!A1").CurrentRegion
    Set sg = Sheets("steekwoorden").Cells(1).CurrentRegion
    rg.Characters.Font.ColorIndex = xlAutomatic
    For Each r In rg
        For Each s In sg
            Do
                i = InStr(i + 1, r, s, 1)
                If i > 0 Then r.Characters(i, Len(s)).Font.Color = vbRed
            Loop Until i = 0
        Next s
    Next r
End Sub
 

Bijlagen

Laatst bewerkt:
Moeten we maar geen tekstverwerking willen doen in een rekenprogramma:

Code:
Sub M_snb()
    sn = Sheets("steekwoorden").Cells(1).CurrentRegion.Resize(, 2)

    Sheet1.Cells(1).CurrentRegion.Copy
   
    With CreateObject("word.document")
       .Application.Selection.Paste
       .Content.Find.Replacement.Font.Color = 255
       For j = 1 To UBound(sn)
       .Content.Find.Execute sn(j, 1), , , , , , , , True, sn(j, 1), 2
       Next
       .Content.Copy
       .Close 0
    End With
    
    Sheet1.Paste Sheet1.Cells(1, 10)
End Sub
 
Beste Sylvester-ponte. Enorm bedankt voor je code. Hij draait als een zonnetje. En de code wordt alleen maar korter. Geweldig!

Beste snb, als ik de code goed begrijp maak je een uitstapje naar Word (creatief!) en maak je in Word de steekwoorden rood om het resultaat vervolgens weer in Excel terug te plakken. Ik heb de code in je eerste voorbeeld/bijlage geplakt maar wat er gebeurt is dat de oorspronkelijke teksten in kolom J worden geplakt ( Sheet1.Paste Sheet1.Cells(1, 10)) zonder dat de steekwoorden rood worden. Dat plakken in kolom J is een kwestie van 10 = 1 maar waarom kleuren ze niet rood. Moet ik nog iets aanpassen?
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan