셀 분리하여 다른 시트에 뿌리기
셀 분리하여 다른 시트에 뿌리는 VBA 입니다.
바로 앞의 게시물과 동일한데 결과만 다른 시트에 뿌리는 것입니다.
Sub Cell_MultiSplit()
Dim rngC As Range '// 한 Cell 씩 변하는 변수 지정
Dim rngTarget As Range '// 대상 범위 지정변수
Dim varTemp() As String '// 전체영역을 넣기위한 variant형 string 변수
Dim deLimiter As String '// 문자 구분자 변수
Application.ScreenUpdating = False '화면 업데이트 (일시)정지
Set rngTarget = Columns(1).SpecialCells(2)
'// SpecialCells(2) : 상수가 들어있는 셀
deLimiter = "/" '//문자 구분자
For Each rngC In rngTarget
varTemp = Split(rngC, deLimiter) '//선택한 셀을 쪼개서 배열에 넣음
'rngC.Offset(, 2).Resize(1, UBound(varTemp) + 1) = varTemp '//현재 Sheet 에 뿌림
'// Resize(RowSize,ColumnSize) : 지정된 범위의 크기를 조정
'// Rowsize : 새 범위의 행 수를 지정
'// ColumnSize : 새 범위의 열 수를 지정
'// Ubound(arrayname, dimension) : 배열에서 지정된 차원의 최대 범위를 Long으로 반환
'// arrayname : 배열 변수의 이름
'// dimension 은 생략하면 1차원을 의미
With Sheet2
.Cells(rngC.Row, "C").Resize(1, UBound(varTemp) + 1) = varTemp
.Columns("C:G").AutoFit
End With
Next rngC
Set rngTarget = Nothing '// 변수 초기화
MsgBox "작업완료"
End Sub
Cells(행, 열) 이 For Each 구문에서 rngC 의 값이 변하면서 변동되므로
Cells(행, "C") 로 행은 변하는 값이므로 rngC.Row 로 현재 행의 값을 구함
열은 뿌리고 싶은 열을 직접 지정함
'업무 능력 향상 > 엑셀 VBA 활용' 카테고리의 다른 글
[VBA] Vlookup를 이용한 현재 재고 파악 (0) | 2014.01.20 |
---|---|
[VBA] 다른 파일과 중복검사하는 Vlookup VBA (0) | 2014.01.20 |
[VBA] 셀 분리하여 현재 시트에 뿌리기 (2) | 2014.01.18 |
[VBA] 연속되는 값의 증가 최대값 모두 구하기 (0) | 2014.01.14 |
[VBA] 연속되는 값의 최대값 구하기 (1) | 2014.01.11 |