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

lay-out wisselen in TEKST.SAMENVOEGEN

Status
Niet open voor verdere reacties.

HenkBakker

Gebruiker
Lid geworden
9 nov 2006
Berichten
165
Hoe kan ik een gedeelte van een tekst in TEKST.SAMENVOEGEN wijzigen?
Gedeeltelijk rood, gedeeltelijk zwart. Of gedeeltelijk Trebuchet en gedeeltelijk Arial. Of gedeeltelijk vet, cursief of onderstreept.
 
Met VBA zal dit geen probleem zijn. Maar maak je vraag wat concreter; wélk deel van de cel moet precies aangepast worden? En is dat een vast deel of een variabel deel?
 
Met VBA zal dit geen probleem zijn. Maar maak je vraag wat concreter; wélk deel van de cel moet precies aangepast worden? En is dat een vast deel of een variabel deel?

In deze formule <="gemiddeld verbruik 2019: "&ALS(E4<>"";"1:"&AFRONDEN(J78;2)&" --> € "&AFRONDEN(K78;3)&"/km";"nog geen gegevens")>
wil ik " --> " vervangen door een symbool van een pijl; en ik wil deze vet en wat groter.
Zo'n pijl vind ik in het 'lettertype' Wingdings. Dus het gedeelte " --> " moet worden vervangen door Wingdings 3: 34 (Tekencode 0022). Tekengrootte mag van 12 naar 20 pt.
 
Deze macro vervangt de inhoud van de formule door je gewenste resultaat. (vervang D9 door de cel waar je formule in staat)
Code:
Sub HelpMij()
Range("D9").Value = Range("D9").Value
Positie = InStr([D9], "-->")
[D9] = Replace([D9], "-->", 34)
With Range("D9").Characters(Start:=Positie, Length:=2).Font
    .Name = "Wingdings 3"
    .FontStyle = "Vet"
    .Size = 20
End With
End Sub
 
Deze macro vervangt de inhoud van de formule door je gewenste resultaat. (vervang D9 door de cel waar je formule in staat)
Code:
Sub HelpMij()
Range("D9").Value = Range("D9").Value
Positie = InStr([D9], "-->")
[D9] = Replace([D9], "-->", 34)
With Range("D9").Characters(Start:=Positie, Length:=2).Font
    .Name = "Wingdings 3"
    .FontStyle = "Vet"
    .Size = 20
End With
End Sub

Dankjewel!
Het werkt wel, maar de formule gaat verloren. Is hier nog iets aan te doen?
 
Je kan het "werk" van de formule ook door de macro laten doen.
Dus de cel met de formule leegmaken en de macro als volgt aanpassen:
Code:
Sub HelpMij()
Verhouding = "1:" & Format(Round([J78], 2), "0.00")
Km = Format(Round([K78], 3), "€ 0.00") & "/km"
If [E4] = "" Then
    Range("D9").Value = "gemiddeld verbruik 2019: nog geen gegevens"
    Else:
        Range("D9").Value = "gemiddeld verbruik 2019: " & Verhouding & " --> " & Km
End If
Positie = InStr([D9], "-->")
[D9] = Replace([D9], "-->", 34)
With Range("D9").Characters(Start:=Positie, Length:=2).Font
    .Name = "Wingdings 3"
    .FontStyle = "Vet"
    .Size = 20
End With
End Sub
Heel veel meer zal niet mogelijk zijn; een macro kan niet in het resultaat van een functie aanpassingen doen, zonder de functie intact te laten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan