Petua: Bahasa lain diterjemahkan Google. Anda boleh melawat English versi pautan ini.
Log masuk
x
or
x
x
Daftar Sekarang
x

or

Bagaimana untuk menggabungkan ruang sel dan mengekalkan warna teks dalam Excel?

Seperti yang kita semua ketahui, semasa menggabungkan atau menggabungkan lajur sel ke satu lajur, pemformatan sel (seperti warna font teks, pemformatan nombor, dll) akan hilang. Artikel ini, saya akan memperkenalkan beberapa helah untuk menggabungkan ruang sel ke dalam satu dan mengekalkan warna teks semudah mungkin dalam Excel.

Lajur sel concatenate dan simpan warna font teks dengan kod VBA


Lajur sel concatenate dan simpan warna font teks dengan kod VBA


Untuk menyelesaikan tugas ini dalam Excel, kod VBA yang berikut mungkin memberi kebaikan anda, sila lakukan seperti ini:

1. Tahan ALT + F11 kunci untuk membuka Microsoft Visual Basic untuk Aplikasi tingkap.

2. Klik Memasukkan > Modul, dan tampal kod berikut dalam Modul Window.

Kod VBA: menggabungkan ruang sel dan mengekalkan warna teks:

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. Kemudian tekan F5 kunci untuk menjalankan kod ini, dan kotak petanda muncul untuk mengingatkan anda untuk memilih julat data yang anda ingin bergabung dengan warna teks, lihat tangkapan skrin:

4. Kemudian klik OK, satu lagi kotak dialog muncul, sila pilih sel-sel di mana anda ingin output hasil gabungan, lihat tangkapan skrin:

5. Kemudian klik OK butang, lajur telah disatukan tanpa kehilangan warna teks seperti tangkapan skrin berikut:

Nota: Jika data yang diperlukan untuk menggabungkan termasuk nombor, maka kod makro tidak dapat berfungsi dengan betul.



Cadangan Alat Produktiviti untuk Excel

Kutools untuk Excel Membantu Anda Selalu Menyelesaikan Kerja di Hadapan Masa, dan Berdiri Daripada Orang

  • Lebih daripada ciri-ciri canggih 300 yang canggih, yang direka untuk senario kerja 1500, meningkatkan produktiviti oleh 70%, memberi anda lebih banyak masa untuk menjaga keluarga dan menikmati kehidupan.
  • Tidak perlu lagi menghafal formula dan kod VBA, berikan rehat dari otak anda sekarang.
  • Menjadi pakar Excel dalam minit 3, Operasi yang rumit dan berulang boleh dilakukan dalam beberapa saat,
  • Mengurangkan beribu-ribu operasi papan kekunci & tetikus setiap hari, mengucapkan selamat tinggal kepada penyakit pekerjaan sekarang.
  • 110,000 orang yang sangat berkesan dan pilihan syarikat 300 + yang terkenal di dunia.
  • Ciri-ciri penuh 60-hari adalah percubaan percuma. Jaminan wang balik 60 hari. Tahun 2 peningkatan dan sokongan percuma.

Membawa Browsing Tab dan Editing ke Microsoft Office, Jauh Lebih Berkuasa Daripada Tab Penyemak Imbas

  • Tab Pejabat direka untuk Aplikasi Pejabat Word, Excel, PowerPoint dan Lain-lain: Penerbit, Akses, Visio dan Projek.
  • Buka dan buat beberapa dokumen dalam tab baharu pada tetingkap yang sama, dan bukannya dalam tetingkap baru.
  • Meningkatkan produktiviti anda oleh 50%, dan mengurangkan beratus-ratus klik tetikus untuk anda setiap hari!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    fridlack · 3 months ago
    Habría manera de hacerlo con números?
  • To post as a guest, your comment is unpublished.
    Antoni · 7 months ago
    Fantástica la macro de concatenar cadena de texto conservando formato de origen. En mi caso no funcionaba con F5, pero en la pestaña macro, modificar y opciones me permite entrar el modo de ejecucion con CTRL+letra y funciona de maravilla. Muchas gracias.
  • To post as a guest, your comment is unpublished.
    sirmasiang · 7 months ago
    Hello,
    This methods works well, until xRgLen is higher than 255.
    It looks this parameter is a byte :-(
    How can this limitation been overtaken ?
  • To post as a guest, your comment is unpublished.
    Sheila · 1 years ago
    This code works really well. But, how do I add space before or after the text?