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

 참서리 (k5953)

추천:  2
파일:     change_column.xls (25KB) 조회:  1234
제목:   [RE]엑셀 vba 구현 가능 여부 질문
     
 
'--------------------------------------
Sub transfer_data()
'--------------------------------------
    
    Dim rngX As Range
    
    ' A1인접 범위
    Set rngX = Range("A1").CurrentRegion
    
    '데이타가 없으면 빠져나가기
    If rngX.Rows.Count = 1 Then MsgBox "No Data": Exit Sub
    
    ' 제목행을 제외한 실제 데이타 범위
    Set rngX = rngX.Offset(1).Resize(rngX.Rows.Count - 1)
    
    ' range의 데이타를 2d 배열로 만들( 1 based )
    Dim varX As Variant: varX = rngX.Value
    Dim v As Variant
    
    '-------------------------------------
    For r = 1 To UBound(varX, 1)
    '-------------------------------------
    
        If varX(r, 3) = "가" Then
            v = varX(r, 2)
            varX(r, 2) = varX(r, 1)
            varX(r, 1) = v
        End If
    
    
    Next r
        
    ' 데이타 붙여 넣을 시트
    Dim shtY As Worksheet: Set shtY = Worksheets("collect")
    
    
    ' collect 시트의 데이타가 있는 마지막 행  다음 행에 붙여넣기
    shtY.Range("A" & shtY.Rows.Count).End(xlUp).Offset(1) _
    .Resize(UBound(varX, 1), UBound(varX, 2)).Value = varX
    
    
    '기존 자료 지우기
    rngX.ClearContents
    
    '
    MsgBox "Job Done Completely"

End Sub
 
[불량 게시물 신고]  
        
  

작성일 : 2019-07-18(18:47)
최종수정일 : 2019-07-18(18:47)
 


 ◎ 관련글

  제 목   작성자   날짜
엑셀 vba 구현 가능 여부 질문 유예지 2019-07-17
[RE]엑셀 vba 구현 가능 여부 질문 참서리 2019-07-18