如何在 Excel 中合并单元格列并保留原有的文本颜色?
作者:互联网
2026-04-14
众所周知,将多列单元格合并为一列时,原有的单元格格式(如字体颜色、数字格式等)通常会丢失。本文将为您介绍一些实用技巧,助您在 Excel 中更轻松地合并单元格列,同时尽可能保留文本颜色。
使用 VBA 代码合并单元格列并保留文本字体颜色
使用 VBA 代码合并单元格列并保留文本字体颜色
要在 Excel 中完成此任务,以下 VBA 代码或许能帮到您,请按如下操作:
1. 按住 ALT + F11 键,即可打开 Microsoft Visual Basic for Applications 窗口。
2. 单击插入 > 模块,然后将以下代码粘贴到模块窗口中。
VBA 代码:合并单元格列并保留文本颜色:
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. 然后按 F5 键运行此代码,此时将弹出提示框,提醒您选择要合并并保留文本颜色的数据区域,请参见截图:

4. 然后单击确定,将弹出另一个对话框,请选择您要输出合并结果的单元格位置,参见截图:

5. 然后单击确定按钮,各列已成功合并,且文本颜色完整保留,如下图所示:

借助 KUTOOLS AI 解锁 Excel 的神奇功能
- 智能执行:只需输入简单命令,即可执行单元格操作、分析数据并创建图表。
- 自定义公式:生成量身定制的公式,助您优化工作流程!
- VBA 编码:轻松编写并运行 VBA 代码。
- 公式解析:轻松掌握复杂公式,一目了然!
- 文本翻译:轻松打破电子表格中的语言障碍!
相关标签:
Excel技巧
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
如何在 Excel 中将行快速转换为列?
04/15
在 Excel 中重命名工作表的简单方法
04/15
如何在 Excel 中导入纯文本文件或工作表?
04/15
如何在 Excel 中更新数据透视表的数据范围?
04/15
如何在 Excel 中计算债券价格?
04/15
如何在 Excel 中快速将 mm/dd/yyyy 日期格式转换为 yyyymmdd?
04/15
如何在 Excel 中判断某个值是否存在于指定范围内,并返回对应的值?
04/15
如何在 Excel 中将数据复制并粘贴到多个工作表?
04/15
获取并在单元格中插入创建时间和修改日期时间
04/15
如何在 Excel 工作表中插入可自由移动的浮动表格或文本框?
04/15
AI精选
