Здравствуйте!
Есть задача объединить строки с сохранением форматирования.
Нашёл решение а интернете, но пропадает знак % при объединении. Своих знаний не хватает. был бы признателен за помощь.
Есть задача объединить строки с сохранением форматирования.
Нашёл решение а интернете, но пропадает знак % при объединении. Своих знаний не хватает. был бы признателен за помощь.
Код |
---|
Sub mergeStuff() Dim arrColors(1 To 5, 1 To 3) As Long Dim rIndex As Long Dim cIndex As Long Dim StartColor As Long Dim strOutput As String Dim i As Long For rIndex = 3 To Cells(Rows.Count, "H").End(xlUp).Row StartColor = 1 strOutput = vbNullString For cIndex = Columns("H").Column To Columns("L").Column strOutput = strOutput & "," & Cells(rIndex, cIndex).Value arrColors(cIndex - Columns("H").Column + 1, 1) = StartColor arrColors(cIndex - Columns("H").Column + 1, 2) = Len(Cells(rIndex, cIndex).Value) arrColors(cIndex - Columns("H").Column + 1, 3) = Cells(rIndex, cIndex).Font.Color StartColor = StartColor + Len(Cells(rIndex, cIndex).Value) + 1 Next cIndex With Cells(rIndex, "M") .Value = Mid(strOutput, 2) 'Remove beginning comma For i = 1 To UBound(arrColors, 1) .Characters(arrColors(i, 1), arrColors(i, 2)).Font.Color = arrColors(i, 3) Next i End With Next rIndex End Sub |