메인 컨텐츠로 가기
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 창.

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. 그런 다음 OK, 다른 대화 상자가 나타납니다. 결합 된 결과를 출력 할 셀을 선택하십시오. 스크린 샷을 참조하십시오.

5. 그런 다음 OK 버튼을 클릭하면 다음 스크린 샷과 같이 텍스트 색상을 잃지 않고 열이 연결되었습니다.


최고의 사무 생산성 도구

Kutools for Excel 대부분의 문제를 해결하고 생산성을 80% 증가시킵니다.

  • 재사용: 빠르게 삽입 복잡한 공식, 차트 그리고 이전에 사용한 모든 것; 셀 암호화 암호로; 메일 링리스트 생성 이메일 보내기 ...
  • 슈퍼 포뮬러 바 (여러 줄의 텍스트와 수식을 쉽게 편집 할 수 있습니다.) 레이아웃 읽기 (많은 수의 셀을 쉽게 읽고 편집합니다.) 필터링 된 범위에 붙여 넣기...
  • 셀 / 행 / 열 병합 데이터 손실없이; 셀 내용 분할; 중복 행 / 열 결합... 중복 셀 방지; 범위 비교...
  • 중복 또는 고유 선택 행; 빈 행 선택 (모든 셀이 비어 있음); 슈퍼 찾기 및 퍼지 찾기 많은 통합 문서에서; 무작위 선택 ...
  • 정확한 사본 수식 참조를 변경하지 않고 여러 셀; 참조 자동 생성 여러 시트에; 글 머리 기호 삽입, 확인란 등 ...
  • 텍스트 추출, 텍스트 추가, 위치 별 제거, 공간 제거; 페이징 부분합을 만들고 인쇄합니다. 셀 내용과 주석 간 변환...
  • 슈퍼 필터 (다른 시트에 필터 구성표 저장 및 적용) 고급 정렬 월 / 주 / 일, 빈도 등 특수 필터 굵은 기울임 꼴로 ...
  • 통합 문서와 워크 시트 결합; 키 열을 기반으로 테이블 병합; 데이터를 여러 시트로 분할; xls, xlsx 및 PDF 일괄 변환...
  • 300개 이상의 강력한 기능. Office / Excel 2007-2021 및 365를 지원합니다. 모든 언어를 지원합니다. 기업 또는 조직에서 쉽게 배포할 수 있습니다. 전체 기능은 30일 무료 평가판입니다. 60일 환불 보장.
kte 탭 201905

Office Tab Office에 탭 인터페이스를 제공하고 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
officetab 하단
코멘트 (12)
아직 평가가 없습니다. 가장 먼저 평가하세요!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이 코드는 정말 잘 작동합니다. 그러나 텍스트 앞이나 뒤에 공백을 어떻게 추가합니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요
이 방법은 xRgLen이 255보다 높을 때까지 잘 작동합니다.
이 매개변수는 바이트인 것 같습니다 :-(
이 제한을 어떻게 극복할 수 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
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. 무하스 그라시아스.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
Habría manera de hacerlo con numeros?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
코드를 보내 주셔서 감사합니다.
텍스트에 "( )"가 있는 경우, 예를 들어 "tomate(tomates)". 잘 작동하지 않습니다. "( ) "를 사용하기 위해 수정해야 할 사항이 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 라.
잘 지내고 있나요? 텍스트에 "( )"가 있으면 VBA 코드를 변경할 필요가 없습니다. 스크린샷을 참조하십시오. 텍스트 "토마토(토마토)"는 다른 셀 열과 성공적으로 결합하여 하나의 열로 만들 수 있습니다. 도움이 될 수 있기를 바랍니다.
감사합니다.
맨디
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
코드 주셔서 감사합니다!
변경 사항이 있는 경우 연결 열을 자동으로 업데이트할 수 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕, 캐시,
죄송합니다. 현재로서는 좋은 방법이 없습니다. 셀 내용을 변경한 후 코드를 다시 실행해야 합니다. 😂
감사합니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
알겠습니다. 답장을 보내주셔서 감사합니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
5. 참고: 결합해야 하는 데이터에 숫자가 포함되어 있으면 매크로 코드가 올바르게 작동하지 않습니다.

그러나 코드를 삽입하는 경우:
.NumberFormat = "@"
(후에:
.ClearFormats
) 24-25 줄 번호 사이, 작동할 수 있습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 마리우즈
귀하의 의견에 감사드립니다. 잘 작동합니다. 이 문서의 코드를 업데이트했습니다.
다시 한번 감사합니다! 👍
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
천만에요! 저는 🥰 이 사이트의 매우 다양하고 흥미로운 팁을 좋아합니다.
아직 코멘트가 없습니다