Note: The other languages of the website are Google-translated. Back to English

如何連接單元格列並在Excel中保持文本顏色?

眾所周知,將單元格列連接或組合為一列時,單元格格式(例如文本字體顏色,數字格式等)將丟失。 本文,我將介紹一些技巧,以將單元格列合併為一個,並在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
            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。 然後點擊 OK,出現另一個對話框,請選擇要輸出合併結果的單元格,請參見屏幕截圖:

5。 然後點擊 OK 按鈕,這些列已被串聯,而不會丟失文本顏色,如以下屏幕截圖所示:

備註:如果需要組合的數據包含數字,則宏代碼將無法正常工作。


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (9)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
這段代碼工作得很好。 但是,如何在文本之前或之後添加空格?
網站主持人對此評論進行了最小化
你好,
這種方法效果很好,直到 xRgLen 高於 255。
看起來這個參數是一個字節:-(
這個限制如何被超越?
網站主持人對此評論進行了最小化
Fantástica la macro de concatenar cadena de texto conservando formato de origen。 En mi caso no funcionaba con F5, pero en lapestaña macro, modificar y opciones me permite entrar el modo de ejecucion con CTRL+letra y funciona de maravilla。 非常感謝。
網站主持人對此評論進行了最小化
Habría manera de hacerlo con números?
網站主持人對此評論進行了最小化
感謝您的代碼。
如果文本中有“( )”,例如“tomate (tomates)”。 它也不起作用。 為了與“()”一起工作,有什麼需要修改的嗎?
網站主持人對此評論進行了最小化
你好拉,
你好嗎? 如果文本有“( )”,我們不需要更改 VBA 代碼。 請看截圖,文字“tomato(西紅柿)”可以成功與其他單元格列合併為一列。 希望它可以幫助你。
此致,
曼迪
查看附件 (1 / 5)
網站主持人對此評論進行了最小化
感謝您的代碼!
如果進行任何更改,是否可以自動更新連接列?
網站主持人對此評論進行了最小化
嗨,凱西,
抱歉,目前還沒有什麼好的辦法,需要在更改單元格內容後再次運行代碼。 😂
感謝您!
網站主持人對此評論進行了最小化
好的,謝謝你的回复
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護