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

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

vba 메세지 창 제어

VBA 조회 수 2394 추천 수 0 2012.10.10 10:29:36

첨부된 예제의 C6셀과 C7 셀에는 함수계산 후 인위적으로 +1, -1이 계산되어져 있습니다.

이러한 것들을 제어하고자 코드가 기록되어져 있는데요.

매크로를 실행하면 이러한 것들을 수정할 것인지를 묻는 대화상자가 나옵니다.

첨부된 예제는 2번 나오는데요. 만약 100개라면 100번 대화상자가 나오게 됩니다.

100개의 셀에 +,- 값이 계산되어져도 대화상자는 1번만 나오도록(물론 1개의 대화상자이더라도 100개의 셀에 이상이 있다는 내용은 출력이 되어야 하구요)하려면 어디를 수정해야 하는지요?


댓글 '4'

profile

[레벨:30]아별

2012.10.11 12:11:44
*.104.126.21

첨부파일이 없네요~

[레벨:4]고수가되고파

2012.10.11 12:49:04
*.104.208.234

헉!. 이런 실수를... 다시 올렸습니다.

profile

[레벨:30]아별

2012.10.11 14:31:30
*.104.126.21

고수가되고파님..

아래와 같은 로직을 이용해보세요..

수식셀들을 순환하면서 수식에 +나 -가 있는 셀들을 rngSum이라는 가상의 영역 범위에 모았다가..

그 셀의 개수를 메시지박스에 띄워서 몇개가 있는지 표시하면 될 것 같습니다.

 

Option Explicit

Sub abFindAdjustedFormulaCells()
    Dim rngSrc As Range
    Set rngSrc = ActiveSheet.UsedRange
    On Error Resume Next
    Set rngSrc = rngSrc.SpecialCells(xlCellTypeFormulas, 23)
  
    If rngSrc Is Nothing Or Err.Number = 1004 Then
        MsgBox "현재 시트에는 수식셀이 없습니다."
        Exit Sub
    ElseIf Err.Number <> 1004 And Err.Number <> 0 Then
        MsgBox "알수 없는 에러가 발생하여 종료합니다."
        Exit Sub
    Else
        Dim r As Range, rngSum As Range
        For Each r In rngSrc
            If InStr(r.Formula, "+") Or InStr(r.Formula, "-") Then
                If rngSum Is Nothing Then
                    Set rngSum = r
                Else
                    Set rngSum = Union(rngSum, r)
                End If
            End If
        Next r
    End If
   
    On Error GoTo 0
   
    Dim msgResult As Long
    If rngSum Is Nothing Then
        MsgBox "임의로 조정된 수식이 없습니다."
    Else
        msgResult = MsgBox(rngSum.Cells.Count & "개의 수식이 임의로 조정되었습니다." & _
                        "수정하시겠습니까?", vbYesNo, " 수식 조정 여부 확인창")
        If msgResult = vbYes Then
            '### 수식을 수정하는 코드를 넣으세요..
        End If
    End If
   
End Sub

[레벨:4]고수가되고파

2012.10.11 16:32:42
*.104.208.234

위 코드를 토대로 다시한 번 짜보겠습니다.

감사합니다.^

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
공지 공지 [공지] 아별닷컴의 엑셀 질문방 폐쇄합니다. 카페 질문방 이용하세요.. imagefile [레벨:30]아별 2015-04-23 45821
13 VBA ^^ 또다른 질문입니다. _ 한 시트에서 다른 시트로 데이터를 순차적으로 붙여넣기 file [1] [레벨:2]광택입니다 2011-11-15 3224
12 VBA SUMPRODUCT 질문 !! [1] [레벨:2]광택입니다 2011-11-01 3290
11 VBA 두번째 질문 file [1] [레벨:2]광택입니다 2011-10-21 3019
10 VBA 도와 주세요. file [1] [레벨:2]광택입니다 2011-10-21 3466
9 VBA 매크로.. [1] [레벨:2]광택입니다 2011-10-18 3089
8 VBA 한셀안의 서식을 다르게 지정할 수 있는 방법 없을까요? file [5] [레벨:4]부루끄 2011-09-28 6177
7 VBA 현재 선택 된 셀을 기준으로 같은방식의 연산결과 값을 산출하는 법 file [1] [레벨:4]부루끄 2011-07-26 4212
6 VBA VBA로 정렬하는 법 문의 file [6] [레벨:4]부루끄 2011-07-21 6188
5 VBA 수식이 입력된 셀은 자동으로 색상이 들어가게 하는 방법 [5] [레벨:4]부루끄 2011-07-15 4685
4 VBA 엑셀 열 추가 _ 엑셀의 마지막 셀 재 인식시키는 팁 ActiveSheet.UsedRange.Select imagefile [1] [레벨:5]눈물바다 2009-08-27 10369
3 VBA .Find 재고 입고월 분석(vba) file [3] [레벨:1]럽웨어 2009-07-24 7969
2 VBA .Find ListBox1 에 추가가 되지를 않습니다. file [3] [레벨:1]사오정원조 2009-07-03 7069
1 VBA .Find 매크로 질문입니다.~ [2] [레벨:1]카멜 2009-07-02 7037