|
'--------------------------------------
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 |
|