나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 참서리 (k5953)

추천:  2
파일:     vba1-1.xls (35KB) 조회:  1130
제목:   [RE]데이터 가져오기
     
 






'---------------------------------------
Sub do_it()
'---------------------------------------





    Dim sResult As String: sResult = ""
    Dim sTemp As String: sTemp = ""
    
    
    Dim rngX As Range: Set rngX = Range("B5").CurrentRegion
    Dim xRow As Range, sName As String
    
    ' 400일때 끝 여부를 확인하기 위한 변수
    Dim tfCompleted As Boolean: tfCompleted = True
    
    '-----------------------------
    For Each xRow In rngX.Rows
    '-----------------------------
    
        ' Name
        sName = xRow.Cells(1, 1).Value
        
        'Debug.Print sName
        
        '---------------------------------
        Select Case xRow.Cells(1, 2).Value
        '---------------------------------
            
            '-----------
            Case 100
            '-----------
                
                If tfCompleted Then
                    
                    If sTemp = "" Then
                    
                        sTemp = sName
                        
                    Else
                    
                        sTemp = sTemp & ","
                        
                        sResult = sResult & IIf(sResult = "", "", "-") & sTemp
                        
                        tfCompleted = True
                        
                        sTemp = sName
                        
                    End If
                
                Else
                
                    sTemp = sName & ","
                    
                    'Debug.Print sTemp
                    
                    
                    sResult = sResult & IIf(sResult = "", "", "-") & sTemp
                    
                    
                    sTemp = sName
                    
                    tfCompleted = True
                    
                
                End If
            
            '-----------
            Case 200
            '-----------
            
                    sTemp = sTemp & "," & sName
                    'Debug.Print sTemp
                    
                    sResult = sResult & IIf(sResult = "", "", "-") & sTemp
                    
                    sTemp = ""
                    
                    tfCompleted = True

   
        
        End Select
        
        
    
    Next

    
    '// paste to sheet
    
    srows = Split(sResult, "-")
    
    ' 붙여 넣을 시작 위치
    Set rngX = Range("E6")
    
    Application.ScreenUpdating = False
    
    ' 기존 결과 지우기
    rngX.Resize(100, 2).ClearContents
    
    
    For Each srow In srows
    
        rngX.Resize(, 2).Value = Split(srow, ",")
        
        Set rngX = rngX.Offset(1, 0)
    
    Next
    
    
    Application.ScreenUpdating = True
    
    
End Sub
 
[불량 게시물 신고]  
        
  

작성일 : 2018-11-30(22:02)
최종수정일 : 2018-11-30(22:02)
 


 ◎ 관련글

  제 목   작성자   날짜
데이터 가져오기 유아 2018-11-30
[RE]데이터 가져오기 참서리 2018-11-30