VB(A)

맨 앞의 값만 가져오기

당근쨈 2015. 9. 15. 12:44

들쑥날쑥 불규칙적으로 데이터가 있는 상황에서

맨 앞의 데이터만 가져오기



Sub valueFirst()
 
    Dim cntR As Integer
    Dim vFirst() As Integer
    Dim j As Integer
    Dim i As Integer
    Dim intC As Integer
    
    '기존자료 삭제
    Range("H1").CurrentRegion.Offset(1).Clear
    
    '맨첫번째 값을 배열에 넣음
    cntR = Range("A1").CurrentRegion.Rows.Count
    For i = 2 To cntR
        Select Case IsEmpty(Cells(i, 1))    '첫번째값이 빈셀인지 여부
            Case False: intC = Cells(i, 1).Value2    '빈셀이 아니면 그 값
            Case True: intC = Cells(i, 1).End(xlToRight).Value2    '빈셀이면 가장 가까운 오른쪽값
        End Select
        ReDim Preserve vFirst(j)
        vFirst(j) = intC
        j = j + 1
    Next i
    
    '결과값 입력
    With Range("H2").Resize(cntR - 1)
        .Value = WorksheetFunction.Transpose(vFirst)    '배열에 삽입된 값
        .Borders.LineStyle = xlContinuous   '실선 테두리 적용
        .HorizontalAlignment = xlCenter '가운데 정렬
        .Interior.Color = vbYellow  '셀 색 노랗게
    End With
    
End Sub
cs





첫번째값.xlsm



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

숫자 섞기  (0) 2015.10.02
엑셀 2010 이상 이미지 삽입  (0) 2015.09.22
Dictionary  (0) 2015.09.12
같은 내용끼리 셀병합  (2) 2015.09.03
알파벳과 숫자의 최대값  (0) 2015.09.01