컴퓨터/엑셀

vba 여러셀 기호 넣어 셀합치기, 셀나누기

풍경소리^^ 2022. 4. 14. 11:57

https://ko.extendoffice.com/documents/excel/1252-excel-combine-cells-with-space-commas-semicolon.html

 

Excel에서 공백, 쉼표 또는 기타 구분 기호를 사용하여 여러 셀을 셀에 결합하는 방법은 무엇입니

Excel에서 공백, 쉼표 또는 기타 구분 기호를 사용하여 여러 셀을 셀에 결합하는 방법은 무엇입니까? 여러 열 또는 행의 셀을 단일 셀로 결합하면 결합 된 데이터가 아무것도 분리되지 않을 수 있

ko.extendoffice.com

 

셀내용 기호","로 합치기

Function CombineCell(WorkRng As Range, Optional Sign As String = ",") As String
Dim Rng As Range
Dim OutStr As String
For Each Rng In WorkRng
    If Rng.Text <> "" Then
        OutStr = OutStr & Rng.Text & Sign
    End If
Next
CombineCell = Left(OutStr, Len(OutStr) - 1)
End Function

 

셀내용 기호"," 기준으로 나누기

Sub textToColumns_slash()
'출처: https://eggdrop.tistory.com/31 [에그드롭:티스토리]

    '텍스트 나누기할 영역 저장을 위한 Range 변수 선언
    Dim section As Range
    '텍스트 나누기한 결과를 입력할 첫 셀 지정을 위한 변수 선언
    Dim startSection As Range
    '텍스트 나누기할 영역의 행 길이를 저장할 변수 선언
    Dim rowNum As Long
    '텍스트 나누기할 영역의 데이터가 몇행에 걸쳐 있는지 계산
    
    If ActiveCell.Value = Empty Then
        MsgBox "데이터 시작 셀을 선택해주세요"
    Else
        rowNum = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
        '데이터가 있는 영역 지정
        Set section = ActiveSheet.Range(Cells(ActiveCell.Row, 1), Cells(rowNum, 1))
        '텍스트 나누기한 결과가 저장될 영역 지정
        Set startSection = ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column).Offset(, 1) ' 이동할 위치 Offset(행, 열) 여기 수정해서 사용하시면 됩니다
    '    Set startSection = ActiveSheet.Range("B1")
        '데이터 영역 선택
        section.Select
        '선택한 영영에 대한 텍스트 나누기 실행, 구분기호(/)사용
        section.TextToColumns Destination:=startSection, Other:=True, OtherChar:=",", DataType:=xlDelimited
        startSection.Select
    End If

End Sub

 

엑셀_여러셀기호넣어셀합치기셀나누기.xls
0.06MB