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

Tekstkleur in formule

Status
Niet open voor verdere reacties.

SUVERMO

Gebruiker
Lid geworden
22 dec 2019
Berichten
481
Goede morgen iedereen

als een tekst in cellen verschillende kleuren heeft, kan het resultaat van een formule dan ook verschillende kleuren hebben.

zie plaatje
 

Bijlagen

Dat kan. Wat je er mee moet is dan weer de volgende vraag. Het vervelende in dit voorbeeld is dat er per teken de kleur vergeleken moet worden.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  With Target
    If .Address(0, 0) = "C12" Then
      If .Value = 0 Then
        .Offset(2) = .Offset(-4) & " " & .Offset(-3)
        For j = 1 To Len(.Offset(-4))
          .Offset(2).Characters(j, 1).Font.Color = .Offset(-4).Characters(j, 1).Font.Color
        Next j
        For j = 1 To Len(.Offset(-1))
          .Offset(2).Characters(j + Len(.Offset(-4)) + 1, 1).Font.Color = .Offset(-3).Characters(j, 1).Font.Color
        Next j
      Else
        .Offset(2) = ""
      End If
    End If
  End With
End Sub
 
waar komen in jouw geval de tekst1,tekst2 vandaan?
en hoe bepaal je de plek van de uitkomst?

of wil je een startknop om de makro te laten vragen om welke plekken het gaat?
 
Laatst bewerkt:
bedankt, werkt prima
ik begrijp wel niet hoe er naar c8, c9 en c14 verwezen wordt
 
Wat zal offset doen denk je? Als je VBA wil gebruiken dan zal je er wel een beetje moeite voor moeten doen.
 
klein beetje de sub van VenA aangepast.
zo zie je waar de teksten en zo vandaan komen.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Tekst1 As Range, Tekst2 As Range, Doel As Range
Set Tekst1 = [C8]
Set Tekst2 = [C9]
Set Doel = [C14]
    If Target.Address(0, 0) = "C12" Then
      If Target.Value = 0 Then
        Doel = Tekst1 & " " & Tekst2
        For j = 1 To Len(Tekst1)
          Doel.Characters(j, 1).Font.Color = Tekst1.Characters(j, 1).Font.Color
        Next j
        For j = 1 To Len(Tekst2)
          Doel.Characters(j + Len(Tekst1) + 1, 1).Font.Color = Tekst2.Characters(j, 1).Font.Color
        Next j
      Else
        Doel = ""
      End If
    End If
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan