메뉴
해결 엑셀2016 이전윈도우11

vba 회계형식 문의

k
kok0****
8월 11일 조회 576
안녕하세요.

vba에서 엑셀을 종료할 때 진행되는 코드는 아래와 같습니다.

 

모듈
Sub 통합문서닫기_강제저장()

    Dim 문서 As Workbook
    Dim 문서개수 As Long

    Application.DisplayAlerts = False
    Application.EnableEvents = False

    '열려 있는 워크북 수 확인
    For Each 문서 In Application.Workbooks
        If 문서.Name <> "PERSONAL.XLSB" Then
            문서개수 = 문서개수 + 1
        End If
    Next

    '유일한 워크북이면 엑셀 종료
    If 문서개수 = 1 Then
        ThisWorkbook.Save
        Application.Quit
    Else
        ThisWorkbook.Save
        ThisWorkbook.Close SaveChanges:=False
    End If

    Application.DisplayAlerts = True
    Application.EnableEvents = True

End Sub

현재통합문서
Private Sub Workbook_BeforeClose(Cancel As Boolean)

    Application.DisplayAlerts = False
    Application.EnableEvents = False

    '저장 여부 확인 없이 저장
    ThisWorkbook.Save

    Application.EnableEvents = True
    Application.DisplayAlerts = True

End Sub

이렇게 강제로 저장하면서 종료를 하게 되는데

다시 열었을 때 회계형식으로 되어있는 부분이 다시 열었을 때는 사용자 형식으로 되면서 음수를 (숫자) 이렇게 표시가 됩니다...

혹시 이부분을 다시 열었을 때도 회계형식이 될 수 있도록 조절하는걸 어떻게 할 수 있는지 방법을 알려주시면 감사드리겠습니다..

댓글 4

J
Jas 8월 16일
문제가 되는 샘플을 올리시면 고수님들께서 도와주실 수 있을 것입니다
k
kok0**** 작성자 8월 18일
@Jas 님 괄호로 표시된 셀을 회계형식으로 바꿔서 저장하여도 닫고 다시 열었을 때 회계형식이 아닌 사용자지정 형식으로 변하면서 괄호로 변형이 되는데 이거 확인을 부탁드리겠습니다..^^
J
Jas 채택된 답변 8월 21일
@kok0**** 님 저도 여러가지로 테스트해 본 결과, ThisWorkbook.Save를 삭제하거나, 회계 형식을 다른 형식으로 변환하면 문제가 없네요. ThisWorkbook.Save와 회계형식간에 충돌로 인한 엑셀 Bug가 아닌가 생각됩니다. 
k
kok0**** 작성자 8월 27일
@Jas 님 그럼 해당 내용은 회계형식이 아닌 숫자로 처리하면 문제가 안생기는 부분일까요?!

질문답변 게시판의 최근 글

스크랩 완료