나는 vba에서 매우 뛰어나다. 나는 vba excel에서 보고서 서식 작업을위한 작은 도구를 개발하려고합니다. 단추 아래에 코드를 놓으면 양식이 언로드되지만 msgbox의 단추를 재정 의하여 전체 userform을 언로드 할 수 있습니까?VBA에서 사용자 폼을 언로드하려면 msgbox 단추를 재정의하는 방법?
Unload UserForm1
나는 vba에서 매우 뛰어나다. 나는 vba excel에서 보고서 서식 작업을위한 작은 도구를 개발하려고합니다. 단추 아래에 코드를 놓으면 양식이 언로드되지만 msgbox의 단추를 재정 의하여 전체 userform을 언로드 할 수 있습니까?VBA에서 사용자 폼을 언로드하려면 msgbox 단추를 재정의하는 방법?
Unload UserForm1
나는 당신의 질문은 당신이 MSGBOX가 값을 반환 할 수 있음을 알고있다 (I 내가 할 모르겠어요와 크리스처럼) 제대로 이해하고 당신은 당신의 양식을 닫으려면이 값을 사용할 수 있다면? 예를 들어, 첫 번째는 값을 반환, 두 번째는하지 않습니다
Dim l As Long
l = MsgBox("What do you want to do?", vbOKCancel)
If l = vbCancel Then
Unload UserForm1
Else
MsgBox "You selected 'OK'"
End If
당신은 양식을 언로드 MSGBOX라는 코드를 알려 반환 값 (L)를 사용할 수 있습니다.
Alan의 버튼을 클릭했을 때 프로그램이 완전히 닫히기를 바란다. 답변 감사합니다. 시도 할 때 두 개의 버튼이있는 msgbox를 제공합니다. (확인 및 취소) 확인 단추를 클릭하면 폼을 언로드하지 않고 코드의 Else 문으로 넘어갑니다. 그러나 취소 버튼을 클릭하면 작동합니다. : S –
네, 위의 코드를 읽는다면 그것이 의도 한 바입니다. 이 그림을 통해 메시지 상자에 전달되는 인수 (이 경우 vbOkCancel) 및 각 단추가 다른 값 (이 경우 vbCancel 또는 vbOK)을 반환하는 방식에 따라 메시지 상자에 다른 단추가있을 수있는 방법을 설명했습니다. 사용자가 클릭하는 버튼에 따라 수행 할 작업을 선택하기 위해 여기에서 수행 한 것처럼 If 블록을 사용할 수 있습니다. 단 하나의 버튼 만 사용하려는 경우 vbOKOnly 인수를 사용합니다.이 경우 If 문이 필요하지 않습니다. msgbox 뒤의 다음 줄에있는 폼을 언로드하면된다. –
그래 그럼. 나는'vbOKOnly'을 사용했고'If'와'Else' 문장 모두에서'Unload UserForm1'을 썼습니다. 그게 내 문제를 해결 :) MsgBox는 자바의 스윙처럼 재정의 될 수 있다고 짐작하기 전에 - JOptionPane하지만 어떻게해야할지 모르겠다. 그래서 여기에 대한 질문이 될 것이라고 생각했다. 당신의 도움에 감사드립니다. –
무슨 뜻인지 전혀 모르겠다. 버튼을 클릭하여 사용자 정의 폼을 닫으려고한다는 것을 의미합니까? – Chris
예. 사용자가 msgbox –