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

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

vba 메세지 창 제어

VBA 조회 수 2397 추천 수 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 46098
821 엑셀일반 엑셀파일 비밀번호 단체 설정 가능한가요? [30] [레벨:4]쟈니 2012-06-18 54546
820 엑셀일반 회원만 질문을 올릴 수 있습니다. [레벨:30]아별 2010-09-21 33462
819 기타 [필독] 질문시.. 엑셀 파일 첨부, 윈도우버전과 엑셀버전 표기, 답변 받으면 피드백 댓글 꼭 달기.. [레벨:30]아별 2011-08-11 27006
818 엑셀일반 행높이 최대치 조절 가능할까요? _ Excel 사양 및 제한 [3] [레벨:6]파이스 2012-06-01 15196
817 엑셀 웹커리에서 URL 바꾸기 매크로 질문 [1] [레벨:1]밥사마 2009-09-01 13657
816 엑셀- sumif와 sumcol 혼용사용에 대해서 (급해요) [1] 아놔 2009-07-31 13171
815 엑셀일반 엑셀에서 사진 고정하는 방법 없을까요? [3] [레벨:3]빛의행운아 2012-07-30 12852
814 엑셀수식 3차 방정식 풀기. [1] [레벨:3]rynoel 2012-06-13 11104
813 제가 해외 사우디에서 파일을 받았는데 글씨가 계속 깨짐니다. file [1] [레벨:0]홍콩중국홍콩 2010-05-10 11072
812 또 다시 질문이 있어서 왔습니다. (일자별 관리시트에서 이전 시트 값(전일 잔액 등) 자동 불러오기) file [1] [레벨:3]harcz 2010-05-22 11049
811 엑셀에서 지수값 계산하기 [1] [레벨:2]양다원 2009-07-21 10617
810 셀색깔별로 합계를 내고 싶습니다. file [1] [레벨:1]지민 2010-04-09 10612
809 VBA 엑셀 열 추가 _ 엑셀의 마지막 셀 재 인식시키는 팁 ActiveSheet.UsedRange.Select imagefile [1] [레벨:5]눈물바다 2009-08-27 10392
808 피벗테이블 피벗테이블에서 (비어있음)을 보이지 않게 할 수 있나요? file [레벨:1]농구경제박사 2016-02-25 10361
807 엑셀에서 복사할 때 행 및 열넓이까지 그대로 복사하는 방법 [7] [레벨:2]만쥬 2010-12-07 10357
806 엑셀일반 셀 안에 삽입된 이미지의 정가운데(가로+세로)정렬 방법이 궁금합니다. [6] [레벨:6]파이스 2011-10-11 10304
805 엑셀일반 csv import 관련 문의 [3] [레벨:1]지살 2016-02-23 10174
804 엑셀 주식형 차트 2009-08-17 10126
803 엑셀일반 엑셀 특정 자리 숫자 내림 올림 하는 방법이 뭔가요?? [레벨:1]키모스 2016-10-28 10115