Ehilà... Non ho trovato nulla a riguardo... o forse sì...
Sia il comando CONCATENA che l'unione mediante "&" di fatto non funzionano come vorresti perchè in realtà uniscono solo i valori senza formattazioni di più celle in una sola cella.
Mi è venuta in mente ed ho buttato giù "bovinamente" una macro che può fare al caso tuo. Te la propongo qui sotto:
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
lcella1 = Len(Range("a1"))
lcella2 = Len(Range("b1"))
With Worksheets("Foglio1").Range("c1")
.Value = Range("a1") & Range("b1")
.Characters(1, lcella1).Font.Bold = Range("a1").Font.Bold
.Characters(1, lcella1).Font.Color = Range("a1").Font.Color
.Characters(1, lcella1).Font.Italic = Range("a1").Font.Italic
.Characters(lcella1 + 1, lcella2).Font.Bold = Range("b1").Font.Bold
.Characters(lcella1 + 1, lcella2).Font.Color = Range("b1").Font.Color
.Characters(lcella1 + 1, lcella2).Font.Italic = Range("b1").Font.Italic
End With
Application.ScreenUpdating = True
End Sub
Se nella cella A1 metti un testo scegliendo arbitrariamente l'italico, il grassetto e il colore e in A2 fai la stessa cosa ma con parametri differenti, automaticamente in A3 comparirà il risultato voluto...
Faccio un esempio:
se in A1 inserisco
ciao e in A2 inserisco
accio1965
il risultato sarà:
ciaoaccio1965
Non è il massimo (Excel tende a "sfarfallare") ma non ho altre idee a riguardo...
Saluti