728x90

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



블로그 이미지

Link2Me

,