programing

MsgBox 예/Excel VBA 없음

easyjava 2023. 9. 11. 22:27
반응형

MsgBox 예/Excel VBA 없음

저는.Yes/No MsgBox사용자가 대답할 질문을 반환하는 VBA 스크립트."예" 또는 "아니오" 단추를 누를 때마다 해당 코드를 실행하는 스크립트 외에 다른 문서MsgBox숫자 "6"이나 "7"이 튀어나올 겁니다.이 초를 비활성화하려면 어떻게 해야 합니까?MsgBox?

제 암호는 이렇습니다.

Dim question As Integer
question = MsgBox("Unfortunately, the Database has no sources regarding " & Category & " in " & country & ". Would you like to broaden your search and see all sources regarding " & country & "?", vbYesNo + vbQuestion, "Empty Sheet")

MsgBox question

If question = vbYes Then
    Sheets("Results").Range("D6").ClearContents
    Sheets("Results").Range("D7").ClearContents
    Category = Sheets("Results").Range("D6").Value
Else
    Sheets("Results").Range("D5").ClearContents
    Sheets("Results").Range("D6").ClearContents
    Sheets("Results").Range("D7").ClearContents
    Exit Sub
End If

MsgBox함수는 a를 반환합니다.vbMsgBoxResultvalue, 이는 열거형(그리고 a여야 함)입니다.Long정수가 아닌Integer).

두 번이나 말하는군요

Dim question As Integer
question = MsgBox("Unfortunately, the Database has no sources regarding " & Category & " in " & country & ". Would you like to broaden your search and see all sources regarding " & country & "?", vbYesNo + vbQuestion, "Empty Sheet")

MsgBox question

한번만 할당question, 한 번은 보여주기로 했습니다.question- 그 시점에서 두 가지 중 하나를 포함할 것입니다.vbYes(6) 아니면vbNo(7).

enter image description here

나는 선언할 것입니다.question As vbMsgBoxResult모호함을 방지하고 나중에 사용할 때 자동 완성/IntelliSense를 얻을 수 있습니다.정말로.result아니면answer"질문"은 사용자의 반응이 아니라 질문 자체와 같습니다.

쓰임새만

question = "Unfortunately, the Database has no sources regarding " & Category & " in " & country & ". Would you like to broaden your search and see all sources regarding " & country & "?."

충분합니다.

또한 if 함수는

If Msgbox(Question) = vbYes then 
    ...
End If

MsgBox에 두 번 전화 안 함

제거한다.MsgBox question. 이것은 불필요하게 질문 값으로 채워진 두 번째 메시지 상자를 만드는 것입니다(예: vbYes에 반환 값이 6인 경우, 예 또는 아니오를 선택했는지에 따라 6 또는 7).

언급URL : https://stackoverflow.com/questions/40791310/msgbox-yes-no-excel-vba

반응형