Cum se concatenează coloanele de celule și se păstrează culoarea textului în Excel?
Așa cum știam cu toții, în timp ce concatenați sau combinați coloane de celule într-o singură coloană, formatarea celulei (cum ar fi culoarea fontului textului, formatarea numărului etc.) se va pierde. În acest articol, voi introduce câteva trucuri pentru a combina coloanele de celule într-una și pentru a păstra culoarea textului cât mai ușor posibil în Excel.
Concatenează coloanele celulei și păstrează culoarea fontului textului cu codul VBA
Concatenează coloanele celulei și păstrează culoarea fontului textului cu codul VBA
Pentru a finaliza această sarcină în Excel, următorul cod VBA vă poate face o favoare, vă rugăm să procedați astfel:
1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.
2. Clic Insera > Moduleși lipiți următorul cod în Fereastra modulului.
Cod VBA: concatenează coloanele celulei și păstrează culoarea textului:
Sub MergeFormatCell()
'Updateby Extendoffice
Dim xSRg As Range
Dim xDRg As Range
Dim xRgEachRow As Range
Dim xRgEach As Range
Dim xRgVal As String
Dim I As Integer
Dim xRgLen As Integer
Dim xSRgRows As Integer
Dim xAddress As String
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xSRg = Application.InputBox("Please select cell columns to concatenate:", "KuTools For Excel", xAddress, , , , , 8)
If xSRg Is Nothing Then Exit Sub
xSRgRows = xSRg.Rows.Count
Set xDRg = Application.InputBox("Please select cells to output the result:", "KuTools For Excel", , , , , , 8)
If xDRg Is Nothing Then Exit Sub
Set xDRg = xDRg(1)
For I = 1 To xSRgRows
xRgLen = 1
With xDRg.Offset(I - 1)
.Value = vbNullString
.ClearFormats
.NumberFormat = "@"
Set xRgEachRow = xSRg(1).Offset(I - 1).Resize(1, xSRg.Columns.Count)
For Each xRgEach In xRgEachRow
.Value = .Value & Trim(xRgEach.Value) & " "
Next
For Each xRgEach In xRgEachRow
xRgVal = xRgEach.Value
With .Characters(xRgLen, Len(Trim(xRgVal))).Font
.Name = xRgEach.Font.Name
.FontStyle = xRgEach.Font.FontStyle
.Size = xRgEach.Font.Size
.Strikethrough = xRgEach.Font.Strikethrough
.Superscript = xRgEach.Font.Superscript
.Subscript = xRgEach.Font.Subscript
.OutlineFont = xRgEach.Font.OutlineFont
.Shadow = xRgEach.Font.Shadow
.Underline = xRgEach.Font.Underline
.ColorIndex = xRgEach.Font.ColorIndex
End With
xRgLen = xRgLen + Len(Trim(xRgVal)) + 1
Next
End With
Next I
End Sub
3. Apoi apăsați F5 pentru a rula acest cod și apare o casetă de prompt pentru a vă reaminti să selectați intervalul de date pe care doriți să îl combinați cu culoarea textului, vedeți captura de ecran:
4. Apoi faceți clic pe OK, apare o altă casetă de dialog, selectați celulele în care doriți să afișați rezultatele combinate, vedeți captura de ecran:
5. Apoi apasa OK , coloanele au fost concatenate fără a pierde culoarea textului, după cum se arată în următoarea captură de ecran:
Cele mai bune instrumente de productivitate de birou
Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp. Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...
Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!