VBA 를 배우는 초보 입장에서 어려운 점은 원하는 걸 구현하기 위해서 어떤 IF 조건문을 쉽게 찾아내거나 알아서 로직을 구현할 것인가 하는 점이다.
아래 IF 조건문은 그동안 VBA 를 배우면서 익힌 것들인데 앞으로도 계속 추가를 할 생각이다.
IF 조건문 사용함수만 잘 알아도 코딩 시간이 훨씬 줄어든다.
If IsEmpty(rngC) Then '// 선택된 셀이 비어있다면
If Not IsEmpty(rngC) Then '// 각 셀이 빈셀이 아니라면
If InStr(rngC, "http") Then '// http 가 포함되어 있다면, 즉, 웹주소라면
If WorksheetFunction.CountIf(rngC, "*" & FindText & "*") = 0 Then '// 찾고자 하는 글자가 있다면
If TypeName(fileNames) = "Boolean" Then Exit Sub '// 취소 선택 시 매크로 종료
If rngC Like "*[가-힣]*" Then '// 셀에 한글이 포함되어 있으면
If strName = "False" Then '//취소(Cancel) 선택 시
MsgBox "취소(Cancel)하여 중단합니다.", 64, "파일선택 오류" '//오류메시지 출력
Exit Sub '// 매크로 중단
End If
If (iCol = 1) Or (iCol = 6) Or (iCol = 7) Then '// 지정된 열일 경우
Counter = InputBox("분할할 행의 수 입력하세요")
If Counter = vbNullString Then Exit Sub '// 취소 선택시 매크로 중단
If Not IsNumeric(Counter) Then Exit Sub '// 입력한 값이 숫자가 아닌 경우 매크로 중단
If Not IsEmpty(rngC.Value) And IsNumeric(rngC.Value) Then '// 빈셀이 아니고 숫자이면
If MsgBox("기존 데이터를 지울까요?", vbYesNo, Caption) = vbYes Then Sheets("SEARCH_DATA").Cells.Offset(1).Clear
fileName = Application.GetOpenFilename("Excel Files (*.xls*),*.xls", , _
"엑셀 파일을 선택", MultiSelect:=False) '// 엑셀 파일을 선택
If fileName = "False" Then Exit Sub '// 취소 선택시 매크로 종료
If Len(rgnC) - Len(Replace(rgnC.Value, "-", "")) = 3 Then
rgnC.Offset(0, 1) = Left(rngC, InStrRev(rngC, "-") - 1)
Else
rngC.Offset(0, 1) = r
End If
intInput = InputBox("삽입할 sheet 숫자를 입력(1~100사이)", "숫자입력") '// 입력창
If intInput = vbNullString Then '// 취소를 선택 시
Exit Sub '// 매크로 중지
ElseIf Val(intInput) < 1 Or Val(intInput) > 100 Then '// 만일 100보다 크거나 1보다 작으면
MsgBox "1~100 사이 숫자만 허용", 64, "숫자입력 오류" '// 오류 메시지 출력
Exit Sub '// 매크로 중지
End If
'업무 능력 향상 > 엑셀 VBA 기초' 카테고리의 다른 글
[VBA기초] 셀내의 텍스트 줄바꿈 (0) | 2015.07.27 |
---|---|
[VBA기초] SQL query를 위한 Inputbox (asterisk 가 포함시 처리) (0) | 2015.07.16 |
[VBA기초] Cells(행,열).End(4)(2) 의 의미 (0) | 2015.06.24 |
[VBA기초] 셀병합하기 (0) | 2015.06.23 |
[VBA기초] 병합된 셀에서 원하는 데이터 찾아서 가져오기 (0) | 2015.06.22 |