찾고자 하는 파일이 있는 폴더가 여러개인 경우 모두 같은 셀에 표기를 하였는데
한 행에는 디렉토리가 1개씩만 보이도록 처리해야 할 상황이 생겨서 코드를 만들었다.
그래서 자동매크로를 실행해서 줄바꿈 명령어가 Chr(10) 인 것을 확인했다.
행을 추가하거나 삭제하는 것이므로 For 문은 역순으로 시행되도록 해야 한다.
궁금한 사항은 중간 중간에 Debug.Print 문으로 확인해가면서 코드를 완벽하게 테스트를 했다.
Sub 셀내의줄바꿈분리()
Dim rngC, rngAll As Range
Dim v, n%, T$
Dim r, eRow, k As Long
Set rngAll = Range([A2], Cells(Rows.Count, "A").End(3))
eRow = Cells(Rows.Count, "B").End(3).Row
For r = eRow To 2 Step -1
Set rngC = Cells(r, "A")
If InStr(rngC, Chr(10)) Then
v = Split(rngC, Chr(10)) '// Split 으로 분리하여 배열에 저장
For n = UBound(v) To LBound(v) Step -1 '// 배열 갯수만큼 반복 순환하면서
If n > 0 Then
rngC.Offset(1).EntireRow.Insert
rngC.EntireRow.Copy
rngC.Offset(1).EntireRow.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
rngC.Offset(1) = v(n) '// 얼핏보기에는 rngC.Offset(n) 인줄로 착각했다가 테스트하면서 수정했음
Else
rngC.Offset(n) = v(n) '// rngC.Offset(0) 는 rngC 를 의미함
End If
k = k + 1
Next n
End If
Next r
Set rngAll = Nothing
MsgBox k & "행으로 분리 완료"
End Sub
'업무 능력 향상 > 엑셀 VBA 활용' 카테고리의 다른 글
[VBA] 파일이 있는 폴더 경로 찾아주기 (0) | 2015.07.07 |
---|---|
[VBA] 현재 폴더의 모든 파일 가져오기 (1) | 2015.07.05 |
[VBA] Sheet 를 각각의 파일명으로 분리하여 저장(기존 파일 삭제) (0) | 2015.07.03 |
[VBA] Sheet 를 각각의 파일명으로 분리하여 저장(기존 파일 유지) (2) | 2015.07.02 |
[VBA] 파일 삭제 (0) | 2015.06.30 |