VBA MsgBox Jā / Nē | Kā izveidot atbildi jā / nē?

Excel VBA MsgBox (jā / nē)

Jo VBA , izmantojot ziņojuma lodziņu, mēs varam izveidot jā nē MsgBox , kas tiek izmantots, lai ierakstītu lietotāja ievadi, pamatojoties uz noklikšķiniet uz jā vai nē, sintakse padarīt A Jā Nē ziņojuma lodziņš ir šāds mainīgais = MsgBox ( "teksts", vbQuestion + vbYesNo + vbDefaultButton2, “Message Box Title”), kur mainīgais ir jādeklarē kā vesels skaitlis.

Bieži vien VBA kodēšanā mums ir jāsavāc ievades vērtības no lietotājiem, lai veiktu kādu uzdevumu, un viens no šādiem uzdevumiem, lai savāktu lietotāju atbildi Jā vai Nē. Izmantojot VBA MsgBox Jā Nē metodi, mēs varam ierakstīt kodu, lai turpinātu kodu turpināt.

Dažās situācijās mums, iespējams, vajadzēs lietotāja priekšā uzrādīt opciju Jā vai Nē, lai sniegtu atbildi, un, pamatojoties uz šo atbildi, mēs faktiski varam palaist VBA kodu.

Piemēram, apskatiet zemāk redzamo MsgBox attēlu VBA.

Ja lietotājs saka Jā, mēs varam ierakstīt kodu, lai veiktu noteiktu uzdevumu, un, ja lietotājs saka “Nē”, mēs varam rakstīt kodu, lai veiktu citu uzdevumu kopu.

Kā strādāt ar MsgBox Jā / Nē atbilde?

Šo VBA ziņojumu lodziņu Jā vai Nē varat lejupielādēt šeit - VBA ziņojumu lodziņš Jā vai Nē

1. piemērs - kopēšana un ielīmēšana, pamatojoties uz atbildi

Piemēram, apskatiet zemāk redzamo kodu.

Kods:

 Sub MessageBox_Yes_NO_Example1 () Aptumšot AnswerYes kā String Dim AnswerNo As String AnswerYes = MsgBox ("Vai vēlaties kopēt?", VbQuestion + vbYesNo, "Lietotāja atbilde") Ja AnswerYes = vbYes Tad diapazons ("A1: A2"). Kopēt ("C1") cits diapazons ("A1: A2"). Kopēšanas diapazons ("E1") beigas, ja beigas apakšdaļa 

Paskaidrojums:

Iepriekš minētie mainīgie ir deklarēti kā String ti

 Blāva atbilde Jā, kā virkne 

Nākamajā rindā mēs esam piešķīruši vērtību, izmantojot ziņojumu lodziņu ar jautājumu “Vai vēlaties kopēt?”.

AnswerYes = MsgBox ("Vai vēlaties kopēt?", VbQuestion + vbYesNo, "Lietotāja atbilde")

Tagad IF paziņojums novērtē atbildi, kas sniegta, izmantojot ziņojumu lodziņu. Ja ziņojuma lodziņa rezultāts ir vbJā, tas kopēs diapazonu no A1 līdz A2 un ielīmēs šūnā C1.

   Ja AnswerYes = vbYes, tad diapazons ("A1: A2"). Kopēšanas diapazons ("C1")

Ja ziņojuma lodziņa atbilde ir Nē, tā kopēs diapazonu A1 līdz A2 un ielīmēs šūnā E1.

 Cits diapazons ("A1: A2"). Kopēšanas diapazons ("E1") beidzas, ja 

Labi, tagad šūnās A1 un A2 esmu ievadījis dažas vērtības.

Tagad es palaidīšu kodu, izmantojot F5 taustiņu vai izmantojot opciju palaist, man priekšā parādīsies ziņojumu lodziņš un lūgs manu atbildi.

Ja noklikšķināšu uz Jā, tas nokopēs diapazonu no A1 līdz A2 un ielīmēs šūnā C1. Tagad es noklikšķināšu uz Jā un redzēšu rezultātu.

Tātad tas ir veicis piešķirto uzdevumu, ja atbilde ir JĀ.

Tagad es atkal palaidīšu kodu.

Šoreiz es izvēlos Nē un redzēšu, kas notiks.

Jā, tas izpildīja kodā piešķirto uzdevumu, ti

 Cits diapazons ("A1: A2"). Kopēšanas diapazons ("E1")

2. piemērs - slēpt un paslēpt lapas, pamatojoties uz atbildi

Zem atbildes ir paslēptas visas lapas, izņemot aktīvo lapu.

Kods:

 Sub HideAll () Blāva atbilde kā virkne Dim Ws kā darblapas atbilde = MsgBox ("Vai vēlaties paslēpt visus?", VbQuestion + vbYesNo, "Slēpt") Ja Atbilde = vbJā, tad katrai W ActiveWorkbook.Worksheets If Ws.Name ActiveSheet.Name Tad Ws.Visible = xlSheetVeryHidden Nākamais Ws ElseIf Answer = vbNo Tad MsgBox "Jūs esat izvēlējies neslēpt lapas", vbInformation, "Nav slēpt" Beigt, ja beigas apakšdaļa 

Iepriekš minētais kods paslēps visas darblapas, izņemot lapu, kurā atrodamies šobrīd, ja atbilde no ziņojumu lodziņa ir JĀ.

Ja atbilde no ziņojumu lodziņa ir NĒ, tā parādīs ziņojumu lodziņu ar tekstu “Jūs esat izvēlējies neslēpt lapas”.

Tāpat zem koda tiks parādīta lapa, ja atbilde ir Jā.

Kods:

 Sub UnHideAll () Blāva atbilde kā virkne Dim Ws kā darblapas atbilde = MsgBox ("Vai vēlaties visus paslēpt?", VbQuestion + vbYesNo, "Slēpt") Ja Answer = vbYes, tad katram WS vietnē ActiveWorkbook.Worksheets Ws.Visible = xlSheetVeryHidden Next Ws ElseIf Answer = vbNo Tad MsgBox "Jūs esat izvēlējies nerādīt slēptās lapas", vbInformation, "Nav slēpt" Beigt, ja beigas apakšdaļa 

Tas darbojas tieši tāpat kā paslēpt lapas kodu, ja jā, tas tiks parādīts, ja nē, tas netiks parādīts.


$config[zx-auto] not found$config[zx-overlay] not found