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

Kako združiti stolpce celic in obdržati barvo besedila v Excelu?

Kot smo vsi vedeli, bo med združevanjem ali združevanjem stolpcev celic v en stolpec formatiranje celic (na primer barva pisave besedila, oblikovanje števil itd.) Izgubljeno. V tem članku bom predstavil nekaj trikov, kako združiti stolpce celic v enega in ohraniti barvo besedila čim lažje v Excelu.

Združite stolpce celic in obdržite barvo pisave besedila s kodo VBA


Združite stolpce celic in obdržite barvo pisave besedila s kodo VBA

Če želite to nalogo v Excelu dokončati, vam bo naslednja koda VBA morda naredila uslugo:

1. Držite tipko ALT + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. Kliknite Vstavi > Moduliin prilepite naslednjo kodo v Okno modula.

Koda VBA: združite stolpce celic in obdržite barvo besedila:

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. Nato pritisnite F5 tipko za zagon te kode in pojavilo se bo pozivno polje, ki vas bo opozorilo, da izberete obseg podatkov, ki ga želite združiti z barvo besedila, glejte sliko zaslona:

4. In nato kliknite OK, prikaže se drugo pogovorno okno, izberite celice, v katere želite prikazati kombinirane rezultate, glejte sliko zaslona:

5. Nato kliknite OK , so stolpci združeni, ne da bi izgubili barvo besedila, kot je prikazano na sliki spodaj:

Opombe: Če podatki, ki jih je bilo treba združiti, vključujejo številke, koda makra ne more delovati pravilno.


Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča vašo produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2021 in 365. Podpira vse jezike. Enostavna uvedba v vašem podjetju ali organizaciji. 30-dnevna brezplačna preizkusna različica vseh funkcij. 60-dnevna garancija vračila denarja.
zavihek kte 201905

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
dno pisarniške mize
Komentarji (9)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
Ta koda deluje zelo dobro. Toda kako dodam presledek pred ali za besedilom?
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo,
Ta metoda deluje dobro, dokler xRgLen ni višji od 255.
Videti je, da je ta parameter bajt :-(
Kako je mogoče to omejitev preseči?
Ta komentar je moderator na spletnem mestu minimiziral
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. Hvala lepa.
Ta komentar je moderator na spletnem mestu minimiziral
Habría manera de hacerlo con números?
Ta komentar je moderator na spletnem mestu minimiziral
Hvala za kodo.
Če ima besedilo "( )", na primer "paradajz (paradajz)". Prav tako ne deluje. Ali je treba kaj spremeniti za delo z "( ) "?
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni Rah,
kako si? Če ima besedilo "( )", nam kode VBA ni treba spreminjati. Oglejte si posnetek zaslona, ​​besedilo "paradižnik (paradižnik)" je mogoče uspešno združiti z drugimi stolpci celice v en stolpec. Upam, da vam lahko pomaga.
S spoštovanjem,
Mandy
Ta komentar je moderator na spletnem mestu minimiziral
hvala za kodo!
Ali je mogoče samodejno posodobiti povezani stolpec, če pride do kakršne koli spremembe?
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, Kathy,
Oprostite, trenutno ni dobrega načina za to. Po spremembi vsebine celice morate znova zagnati kodo. 😂
Hvala!
Ta komentar je moderator na spletnem mestu minimiziral
V redu, hvala za odgovor
Tu še ni objavljenih komentarjev
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL