VB(A)

표 분리

당근쨈 2016. 1. 29. 11:44

지식인에 올라온 질문

셀 안에 여러개의 데이터가 있는데

이를 분리해서 각 셀에 입력하는 매크로











1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Sub Macro()
 
    Dim i%, j%
    Dim v적용, v명, v함량
    
    For i = Cells(Rows.Count, "G").End(3).Row To 5 Step -1  '가장 아래 행부터 위로 거꾸로 올라감
    
        With Cells(i, "G")
        
            v적용 = Split(.Value, vbLf) '적용 데이터를 배열에 삽입
            v명 = Split(.Offset(, 2), vbLf) '명 데이터를 배열에 삽입
            v함량 = Split(.Offset(, 4), vbLf)   '함량 데이터를 배열에 삽입
        
            If UBound(v적용) > 1 Then
            
                For j = 1 To UBound(v적용)  '적용 데이터 수만큼 순환
                
                    Rows(i).Copy    '행 복사하여 삽입
                    Rows(i).Insert shift:=xlDown
                    
                Next j
                
                With .Offset(-+ 1).Resize(UBound(v적용) + 1)  '각 셀에 분리된 적용, 명, 함량 데이터 삽입
                
                    .Value = Application.Transpose(v적용)
                    .Offset(, 2= Application.Transpose(v명)
                    .Offset(, 4= Application.Transpose(v함량)
                    
                End With
                
                Application.CutCopyMode = False '복사모드 해제
                    
            End If
                    
        End With
        
        Erase v적용
        Erase v명
        Erase v함량
        
    Next i
    
    Columns("K").NumberFormatLocal = "0%"   '백분율 0단위로 변경
 
End Sub
cs



예시.xlsm





'VB(A)' 카테고리의 다른 글

[정규식] 한글만 삭제하기  (2) 2016.03.11
의뢰 건 코딩 완료  (0) 2016.03.05
글자 뒤집기  (0) 2016.01.26
정규식 + VlookUp  (0) 2016.01.25
정규식 - 특정문자 추출하여 셀에 추출  (0) 2016.01.24