컴퓨터/엑셀

1차원배열 여러셀 텍스트 한셀로 모으기, 한셀 텍스트 여러셀로 나누기

풍경소리^^ 2020. 7. 22. 07:32

텍스트쉼표여러행으로나누기.xls
0.12MB

sheet2

A열내용 C열 한개의 셀로 모으기(줄넘어가는 문장 없애기 위해서 우선 한개의 셀로 합치고) 

Sub vba_multicells_text_onecell_concat()

Dim rngS As Range
Dim s, c

Range("c1").CurrentRegion.Clear
Set rngS = Range("a1", Cells(Rows.Count, "a").End(xlUp))

For Each c In rngS
' s = s + (LTrim(c) & ",")
s = s + LTrim(c)
Next

Range("c1") = s
Set rngS = Nothing
End Sub

 

C열 한개의 셀 텍스트 여러행으로 다시 나누기(최종-정확한 품목 표시)

Sub vba_split_c_Col()
Dim dc As New Collection
Dim a()
Dim rngS As Range

Dim s, c, r
Dim i As Long

Range("h1").CurrentRegion.Clear
Set rngS = Range("c1", Cells(Rows.Count, "c").End(xlUp))

' On Error Resume Next
' For Each c In rngS
' dc.Add c
' Next c
' On Error GoTo 0
r = 0
For Each c In rngS
s = Split(c, ",")

ReDim Preserve a(r + UBound(s))
For i = 0 To UBound(s)
a(r + i) = s(i)

Next
r = r + UBound(s) + 1
Next

Range("h1").Resize(UBound(a) + 1, 1) = Application.Transpose(a)
' Cells("h1") = Application.Transpose(a)
' Range("h1").Resize(UBound(v, 1), UBound(v, 2)) = v

 

End Sub