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

Bagaimana cara menggabungkan kolom sel dan mempertahankan warna teks di Excel?

Seperti yang kita semua ketahui, saat menggabungkan atau menggabungkan kolom sel menjadi satu kolom, pemformatan sel (seperti warna font teks, pemformatan angka, dll) akan hilang. Artikel ini, saya akan memperkenalkan beberapa trik untuk menggabungkan kolom sel menjadi satu dan menjaga warna teks semudah mungkin di Excel.

Gabungkan kolom sel dan pertahankan warna font teks dengan kode VBA


Gabungkan kolom sel dan pertahankan warna font teks dengan kode VBA

Untuk menyelesaikan tugas ini di Excel, kode VBA berikut mungkin membantu Anda, lakukan seperti ini:

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

2. Klik Menyisipkan > Modul, dan tempel kode berikut di Jendela Modul.

Kode VBA: gabungkan kolom sel dan pertahankan 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. Lalu tekan F5 kunci untuk menjalankan kode ini, dan kotak prompt muncul untuk mengingatkan Anda untuk memilih rentang data yang ingin Anda gabungkan dengan warna teks, lihat tangkapan layar:

4. Dan kemudian klik OK, kotak dialog lain muncul, pilih sel di mana Anda ingin menampilkan hasil gabungan, lihat tangkapan layar:

5. Lalu klik OK tombol, kolom telah digabungkan tanpa kehilangan warna teks seperti gambar berikut yang ditampilkan:

Note: Jika data yang perlu digabungkan berisi angka, maka kode makro tidak dapat bekerja dengan benar.


Alat Produktivitas Kantor Terbaik

Kutools for Excel Memecahkan Sebagian Besar Masalah Anda, dan Meningkatkan Produktivitas Anda hingga 80%

  • Reuse: Masukkan dengan cepat rumus, bagan yang kompleks dan apa pun yang pernah Anda gunakan sebelumnya; Enkripsi Sel dengan kata sandi; Buat Milis dan mengirim email ...
  • Bilah Formula Super (dengan mudah mengedit beberapa baris teks dan rumus); Membaca Tata Letak (membaca dan mengedit sel dalam jumlah besar dengan mudah); Tempel ke Rentang yang Difilter...
  • Gabungkan Sel / Baris / Kolom tanpa kehilangan Data; Pisahkan Konten Sel; Gabungkan Baris / Kolom Duplikat... Mencegah Sel Duplikat; Bandingkan Rentang...
  • Pilih Duplikat atau Unik Baris; Pilih Baris Kosong (semua sel kosong); Temukan Super dan Temukan Fuzzy di Banyak Buku Kerja; Pilih Acak ...
  • Salinan Tepat Beberapa Sel tanpa mengubah referensi rumus; Buat Referensi Otomatis ke Beberapa Lembar; Sisipkan Poin, Kotak Centang, dan lainnya ...
  • Ekstrak Teks, Tambahkan Teks, Hapus berdasarkan Posisi, Hapus Space; Membuat dan Mencetak Subtotal Paging; Konversi Konten Antar Sel dan Komentar...
  • Filter Super (simpan dan terapkan skema filter ke sheet lain); Penyortiran Lanjutan menurut bulan / minggu / hari, frekuensi dan lainnya; Filter Khusus dengan huruf tebal, miring ...
  • Gabungkan Workbooks dan WorkSheets; Gabungkan Tabel berdasarkan kolom kunci; Pisahkan Data menjadi Beberapa Lembar; Konversi Batch xls, xlsx dan PDF...
  • Lebih dari 300 fitur canggih. Mendukung Office / Excel 2007-2021 dan 365. Mendukung semua bahasa. Penerapan yang mudah di perusahaan atau organisasi Anda. Fitur lengkap Uji coba gratis 30 hari. Jaminan uang kembali 60 hari.
tab kte 201905

Tab Office Membawa antarmuka Tab ke Office, dan Membuat Pekerjaan Anda Jauh Lebih Mudah

  • Aktifkan pengeditan dan pembacaan tab di Word, Excel, PowerPoint, Publisher, Access, Visio, dan Project.
  • Buka dan buat banyak dokumen di tab baru di jendela yang sama, bukan di jendela baru.
  • Meningkatkan produktivitas Anda sebesar 50%, dan mengurangi ratusan klik mouse untuk Anda setiap hari!
officetab bawah
Urutkan komentar berdasarkan
komentar (9)
Belum ada peringkat. Jadilah yang pertama memberi peringkat!
Komentar ini diminimalkan oleh moderator di situs
Kode ini bekerja dengan sangat baik. Tapi, bagaimana cara menambahkan spasi sebelum atau sesudah teks?
Komentar ini diminimalkan oleh moderator di situs
Halo,
Metode ini berfungsi dengan baik, hingga xRgLen lebih tinggi dari 255.
Tampaknya parameter ini adalah byte :-(
Bagaimana batasan ini bisa diambil alih?
Komentar ini diminimalkan oleh moderator di situs
Fantástica la macro de concatenar cadena de texto conservando format de origen. En mi caso no funcionaba con F5, pero en la pestaña macro, modificar y opciones me permite el modo de ejecucion con CTRL+letra y funciona de maravilla. Terima kasih banyak.
Komentar ini diminimalkan oleh moderator di situs
Bagaimana cara membuat angka dengan angka?
Komentar ini diminimalkan oleh moderator di situs
Terima kasih atas kodenya.
Jika teks memiliki "( )", misalnya "tomate (tomates)". Ini tidak bekerja dengan baik. Apakah ada sesuatu untuk dimodifikasi agar berfungsi dengan "( ) "?
Komentar ini diminimalkan oleh moderator di situs
Halo Rah,
Apa kabar? Jika teks memiliki "( )", kita tidak perlu mengubah kode VBA. Silakan lihat screenshot, teks "tomat (tomat)" dapat berhasil digabungkan dengan kolom sel lain menjadi satu kolom. Semoga dapat membantu Anda.
Hormat kami,
Mandy
Komentar ini diminimalkan oleh moderator di situs
terima kasih untuk kodenya!
Bisakah secara otomatis memperbarui kolom gabungan jika ada perubahan?
Komentar ini diminimalkan oleh moderator di situs
Hai, Kathy,
Maaf, saat ini, tidak ada cara yang baik untuk melakukan itu, Anda perlu menjalankan kode lagi setelah mengubah konten sel. 😂
Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Baiklah, terima kasih atas balasan Anda
Belum ada komentar yang diposting di sini
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan

Ikuti kami

Hak Cipta © 2009 - www.extendoffice.com. | Seluruh hak cipta. Dipersembahkan oleh ExtendOffice. | Peta Situs
Microsoft dan logo Office adalah merek dagang atau merek dagang terdaftar dari Microsoft Corporation di Amerika Serikat dan / atau negara lain.
Dilindungi oleh Sectigo SSL