1. FAQ
  2. 엑셀(Excel)
  3. AfterEffects
  4. Premiere
  5. Photoshop
  6. ETC

이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.

[레벨:30]아별

2012.10.08 20:39

고수가되고파님..

안녕하세요? 제가 요즘 시간이 없어서 답변이 늦었습니다. ( 회사일 + 여행 + 개인적인 일 )

 

질문1번과 2번은 Do Loop문으로 해결 할 수 있습니다.

 

    strMsg = "'금액'이라는 문자가 있는 열을 선택하세요." & vbCr & vbCr & _
              "('금액'이라는 문자가 있는 열을 선택하지 않으면 올바르지 않은 결과를 초래합니다.)"
    Do
        On Error Resume Next
        Set rngSelection = Application.InputBox(strMsg, Es, Type:=8)
        If rngSelection Is Nothing Then
            MsgBox "취소 버튼을 누르셨네요.. 종료합니다."
            Exit Sub
        ElseIf rngSelection.Cells.Count = rngSelection.EntireColumn.Cells.Count Then
            bln = True
        Else
            bln = False
        End If
        If Err.Number <> 0 Or bln = False Then
            MsgBox "'금액'이라는 문자가 있는 열 전체을 선택하세요", vbOKOnly + vbCritical, "영역선택 오류"
        End If
        On Error GoTo 0
    Loop Until bln '### 선택행이 열 전체일때까지 반복 실행합니다.

 

 

질문3번은

숫자 셀만 영역 변수에 할당을 시키고.. 이때 발생하는 에러의 종류에 따라 처리하면 되겠습니다.

할당할 셀 영역이 없으면 1004 에러.. "해당되는 셀이 없습니다." 에러를 발생시키거든요..

 

    Dim rngNumber As Range
    On Error Resume Next
    Set rngNumber = rngSelection.SpecialCells(xlCellTypeConstants, xlNumbers)
    Select Case Err.Number
        Case 0
            rngNumber.Interior.Color = vbGreen
        Case 1004
            MsgBox "선택영역에 숫자가 없으므로, 작업을 진행하지 않고 종료합니다.", vbOKOnly + vbInformation, Es
        Case Else
            MsgBox "원인을 알 수 없는 에러가 발생하여 종료합니다."
    End Select

 

 

자세한 내용은 첨부파일을 참고하시기 바랍니다.

다운받기 : abyul.com_inputbox_20121008-1.xlsm

 

도움이 되셨기를.. ^^

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)