특정 전화번호(010으로 시작하는 번호)만 추출하기
Sub cellphone_search()
Dim rngC As Range
Dim rngAll As Range
Dim i As Integer
Application.ScreenUpdating = False '// 화면 업데이트 (일시) 중지
Set rngAll = Range([A1], Cells(Rows.Count, "C").End(3))
'// 범위 지정하는 거니까 셀을 보고 수정하세요.
'// A1 셀부터 C열의 마지막 셀까지 지정한 것이므로 어디 수정해야 하는지 알겠죠?
Sheets("Sheet2").Range("A1").CurrentRegion.Offset(1).Clear
'// 복사할 대상의 시트명을 지정한 것이므로 다른 시트라면 이걸 수정하세요.
For Each rngC In rngAll
If Left(rngC.Value, 3) = "010" Then
rngC.Copy Sheets("Sheet2").Cells(Rows.Count, "A").End(3)(2)
'// Sheets("Sheet2") 의 A열의 마지막셀 다음에 계속해서 추가하라는 의미
i = i + 1
End If
Next rngC
Set rngAll = Nothing '// 변수 초기화
MsgBox "총 " & i & "건 복사"
End Sub
만약 다른 시트에서도 가능하게 하고 싶다면
Set rngAll = Range([A1], Cells(Rows.Count, "C").End(3))
이것을
Set rngAll = Range(Sheets("Sheet1").[A1], Sheets("Sheet1").Cells(Rows.Count, "C").End(3))
이렇게 시트명까지 지정하는 걸 추가하면 됩니다.
'업무 능력 향상 > 엑셀 VBA 활용' 카테고리의 다른 글
고급필터 AdvancedFilter (0) | 2014.02.19 |
---|---|
AverageIF 함수를 사용하여 과목별 평균값 구하는 VBA (0) | 2014.02.18 |
[VBA] 최대값 셀에 배경색 지정 (0) | 2014.02.12 |
AutoFilter를 이용하여 찾는 내용이 포함된 셀의 행 가져오기 VBA (1) | 2014.02.08 |
AutoFilter를 이용한 셀 일치하는 Row 자동 가져오기 VBA (0) | 2014.02.05 |