나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 dew (dewdrop)

추천:  2
파일:     조회:  2137
제목:   [RE]셀 병합 후 입력 내용 그대로 남게 하는 방법 문의
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007):

* 아래줄에 질문을 작성하세요 >>

안녕하세요

셀 병합에 대하여 문의사항이 있습니다.

예를 들어, 
A1열 "엑셀 사용부서" 
A2열 "총무부 김홍길"

이렇게 입력된 있는 상태에서 

A1열과 A2열 두 열을 셀병합하여 팝업 메시지 "셀을 병합하면 왼쪽 위의 값만 남고 나머지 값은 잃게 됩니다." 확인 단추를 클릭하면 A1열과 A2열 병합되면서 글자 내용은 "엑셀 사용부서"만 표시가 됩니다.

셀병합하고 A1열 이후에도 계속 "엑셀 사용부서" "총무부 김홍길" 글자가 남게 할 수 있는 방법은 어떻게 하면 되는지요?

주변 사람들에게 물어보면 셀 병합 한 후 =A1&A2 입력한 한후 복사-값붙여넣기 / 셀서식-자동 줄바꿈 방법을 알려 줍니다.

알려준 방법으로 하면 열 넓이가 변경된 경우 두 줄 입력이 안되고 1줄로 글자 내용 위치가 변경이 됩니다.

위 내용을 살펴봐주시고 도움을 요청드립니다.

감사합니다.
==============[박인호님 글에 대한 답변입니다]==============

병합하려는 셀을 선택한후 아래 매크로를 실행하세요.

Sub Multi_Murge()
    Static vGubun As Variant
    Static bGubun As Boolean
    Dim rEach As Range
    Dim vEach As Variant, vGubunja As Variant
    Dim sTemp As String
    Dim lRow As Long, lCol As Long
    
    With Application
        .ScreenUpdating = False
        .Calculation = xlCalculationManual
        .EnableEvents = False
        .DisplayAlerts = False
    End With
    
    On Error GoTo Err_Step
    sTemp = ActiveCell.Text
    If Not bGubun Then
        vGubun = "ChrW(10)"
    End If
    vGubun = Application.InputBox("텍스트를 묶을 구분자를 입력하세요." & vbCr & "(아스키문자는 ChrW(10) 처럼 입력하세요!!)", "구분자", vGubun)
    If VarType(vGubun) = vbBoolean Then
        GoTo Exit_Sub
    ElseIf LCase(Left$(vGubun, 5)) = "chrw(" Then
        vGubunja = ChrW(Val(Mid$(vGubun, 6)))
    Else
        vGubunja = vGubun
    End If
    
    For Each rEach In Selection.Areas
        sTemp = vbNullString
        vEach = rEach.Value
        If IsArray(vEach) Then
            For lRow = 1 To UBound(vEach, 1)
                For lCol = 1 To UBound(vEach, 2)
                    If vEach(lRow, lCol) <> "" Then
                        sTemp = sTemp & vEach(lRow, lCol) & vGubunja
                    End If
                Next lCol
            Next lRow
        Else
            sTemp = vEach & vGubunja
        End If
        With rEach
            .ClearContents
            .MergeCells = True
            If sTemp <> "" Then
                .Value = Left$(sTemp, Len(sTemp) - Len(vGubunja))
            End If
        End With
    Next rEach
    bGubun = True

Err_Step:
Exit_Sub:
    With Application
        .ScreenUpdating = True
        .Calculation = xlCalculationAutomatic
        .EnableEvents = True
        .DisplayAlerts = True
    End With
End Sub
 
[불량 게시물 신고]  
        
  

작성일 : 2019-12-19(11:27)
최종수정일 : 2019-12-19(11:27)
 


 ◎ 관련글

  제 목   작성자   날짜
셀 병합 후 입력 내용 그대로 남게 하는 방법 문의 박인호 2019-12-19
[RE]셀 병합 후 입력 내용 그대로 남게 하는 방법 문의 dew 2019-12-19