Che errore ti ha dato?
In sostanza per il corsivo basta fare la stessa cosa cambaindo il test
codice:
If .SelBold = True Then
in
codice:
If .SelItalic = True Then
...non sapendo che errore ti ha dato, provo a ipotizzare:
- probabilmente dipende da un mancato azzeramento di variabili, in questo caso ti conviene fare due sub separate (una per il corsivo e l'altra per il neretto) e chiamarle separatamente.

- quella routine, non funziona se ci sono piu' "pezzi" di testo da "convertire" in bold, nel senso che se tu hai due parole in neretto all'interno del testo da convertire distanziate tra loro anche solo da 1 carattere in testo normale, fa un po' di casino ( l'ho fatta al volo )

- hai ripetuto solo il pezzo di prg all'interno del With dimenticando di mettere le inizializzazioni delle variabili, queste per intenderci:
codice:
  ini = -1
  fin = 0
  bld = False