Èñïîëüçîâàíèå MsgBox äëÿ îáåñïå÷åíèÿ âîçìîæíîñòè âûáîðà
Êàê óæå îòìå÷àëîñü ðàíåå, ïðè ïîìîùè íåîáÿçàòåëüíîãî àðãóìåíòà Buttons ìîæíî èñïîëüçîâàòü VBA-ïðîöåäóðó MsgBox êàê ôóíêöèþ äëÿ ïîëó÷åíèÿ âûáîðà îò ïîëüçîâàòåëÿ â îòâåò íà ñîîáùåíèÿ èëè âîïðîñû, êîòîðûå îòîáðàæàåò ïðîöåäóðà. Äëÿ ìíîãèõ ïðîñòûõ âàðèàíòîâ âûáîðà èñïîëüçîâàíèå ôóíêöèè MsgBox äëÿ ïîëó÷åíèÿ îòâåòà îò ïîëüçîâàòåëÿ ÿâëÿåòñÿ ãîðàçäî áîëåå ëåãêèì, ÷åì ïîëó÷åíèå òåêñòîâîãî ââîäà ñ ïîìîùüþ ôóíêöèè InputBox è ïîñëåäóþùèé àíàëèç ýòîãî òåêñòà äëÿ îïðåäåëåíèÿ òîãî, êàêîé âûáîð ñäåëàë ïîëüçîâàòåëü.
Ïðè âêëþ÷åíèè àðãóìåíòà Buttons ñ íåîáõîäèìûìè êðóãëûìè ñêîáêàìè îïåðàòîð MsgBox ðàáîòàåò ïîäîáíî ôóíêöèè è îòîáðàæàåò îêíî ñîîáùåíèÿ, ñîäåðæàùåå ðàçëè÷íûå êîìàíäíûå êíîïêè. MsgBox âîçâðàùàåò ÷èñëåííûé ðåçóëüòàò, óêàçûâàþùèé, êàêóþ êîìàíäíóþ êíîïêó âûáðàë ïîëüçîâàòåëü. ×èñëî è òèï êîìàíäíûõ êíîïîê, îòîáðàæàåìûõ äèàëîãîâûì îêíîì MsgBox, âûäàåòñÿ ñ ïîìîùüþ àðãóìåíòà Buttons.

Àðãóìåíò Buttons ïîçâîëÿåò çàäàâàòü êîëè÷åñòâî è òèï êíîïîê è íàëè÷èå èëè îòñóòñòâèå â îêíå ñîîáùåíèÿ îäíîãî èç çíà÷êîâ Windows. Ìîæíî òàêæå èñïîëüçîâàòü àðãóìåíò Buttons äëÿ îïðåäåëåíèÿ òîãî, êàêàÿ èç îòîáðàæàåìûõ êíîïîê ÿâëÿåòñÿ êíîïêîé ïî óìîë÷àíèþ â îêíå ñîîáùåíèÿ. Êàæäûé ðàç ìîæíî çàäàâàòü òîëüêî îäèí òèï êíîïêè, îäèí çíà÷îê è îäíó êíîïêó ïî óìîë÷àíèþ.
Êàê òîëüêî ïîëüçîâàòåëü âûáèðàåò êîìàíäíóþ êíîïêó â îêíå ñîîáùåíèÿ, VBA âîçâðàùàåò ÷èñëåííîå çíà÷åíèå, ñîîòâåòñòâóþùåå âûáîðó ïîëüçîâàòåëÿ. Ðåçóëüòàò ôóíêöèè ïðèñâàèâàåòñÿ ïåðåìåííîé Vibor (â âûøåïðèâåäåííîì ëèñòèíãå). VBA èñïîëüçóåò ðàçëè÷íûå çíà÷åíèÿ â çàâèñèìîñòè îò òîãî, êàêóþ êîìàíäíóþ êíîïêó âûáðàë ïîëüçîâàòåëü. Ïîñêîëüêó êàæäàÿ êíîïêà èìååò ñâîå îïðåäåëåííîå âîçâðàùàåìîå çíà÷åíèå, VBA ïðåäîñòàâëÿåò íåñêîëüêî âíóòðåííèõ êîíñòàíò äëÿ ïðåäñòàâëåíèÿ âîçìîæíûõ âîçâðàùàåìûõ çíà÷åíèé ôóíêöèè MsgBox. Ïîëíûé ñïèñîê çíà÷åíèé êîíñòàíò VBA, êîòîðûå ìîæåò âîçâðàùàòü MsgBox, ïðèâåäåí íà ñòðàíèöå "Ôóíêöèè VBA (÷.1). Ïîíÿòèå ôóíêöèè".