Behålla teckenfärg vid
textsammanfogning


I detta tips visas hur vi kan behålla all teckenfärgsättning vid sammanfogning av text.

Exemplet har sin utgångspunkt och sin lösning i följande bild:
 

 

Not: Lösningen fungerar endast med Excel 2000 och senare.

 

Om ett felmeddelande erhålls vid kopiering till VBA-modul så läs mer här»
 

 

(© 2002 - 2003 All rights Colo - Used by permission)

Option Base 1

Option Explicit

 Sub Text_Teckenfarg_Format()

   '© 2003 Alla rättigheter XL-Dennis

   Dim stData(1 To 6) As String

   Dim lnTeckenF(1 To 6) As Long

   Dim rnData As Range

   Dim stText As String

   Dim i As Long, lnStart As Long, lnSlut As Long

 

   With ActiveSheet

      Set rnData = .Range("A1:A6")

   End With

 

   With rnData

      For i = 1 To .Cells.Count

         With rnData(i, 1)

            stData(i) = .Value

            lnTeckenF(i) = .Font.ColorIndex

         End With

      Next i

   End With

 

   With ActiveSheet.Range("C3")

      .Clear

      'Här tilldelas cellen textsträngen.

      .Value = Join(stData, " ")

      'Här tilldelas textsträngen sina teckenfärger.

      For i = LBound(stData) To UBound(stData)

         lnStart = lnSlut + 1

         lnSlut = lnSlut + Len(stData(i)) + 1

         .Characters(Start:=lnStart, Length:=lnSlut).Font.ColorIndex = lnTeckenF(i)

      Next i

   End With

 End Sub