Excel VBA MsgBox (ziņojumu lodziņš) - viss, kas jums jāzina!

Programmā Excel VBA varat izmantot funkciju MsgBox, lai parādītu ziņojumu lodziņu (kā parādīts zemāk):

MsgBox ir tikai dialoglodziņš, ko varat izmantot, lai informētu savus lietotājus, parādot pielāgotu ziņojumu vai saņemot dažas pamata ievades (piemēram, Jā/Nē vai Labi/Atcelt).

Kamēr tiek parādīts dialoglodziņš MsgBox, jūsu VBA kods tiek apturēts. Lai palaistu atlikušo VBA kodu, jums jānoklikšķina uz jebkuras pogas MsgBox.

Piezīme: Šajā apmācībā es aizstāšu vārdus ziņojumu lodziņš un MsgBox. Strādājot ar Excel VBA, jums vienmēr ir jāizmanto MsgBox.

VBA MsgBox anatomija programmā Excel

Ziņojumu lodziņā ir šādas daļas:

  1. Nosaukums: Parasti to izmanto, lai parādītu ziņojumu lodziņu. Ja neko nenorādāt, tas parāda lietojumprogrammas nosaukumu - šajā gadījumā tas ir Microsoft Excel.
  2. Pamudināt: Šis ir ziņojums, kuru vēlaties parādīt. Jūs varat izmantot šo vietu, lai šeit uzrakstītu pāris rindiņas vai pat parādītu tabulas/datus.
  3. Poga (-as): Lai gan noklusējuma poga ir Labi, varat to pielāgot, lai tiktu rādītas tādas pogas kā Jā/Nē, Jā/Nē/Atcelt, Mēģināt vēlreiz/Ignorēt utt.
  4. Aizvērt ikonu: Jūs varat aizvērt ziņojumu lodziņu, noklikšķinot uz aizvēršanas ikonas.

Funkcijas VBA MsgBox sintakse

Kā jau minēju, MsgBox ir funkcija, un tai ir sintakse, kas līdzīga citām VBA funkcijām.

MsgBox (uzvedne [, pogas] [, nosaukums] [, palīdzības fails, konteksts])

  • pamudināt - Tas ir obligāts arguments. Tas parāda ziņojumu, ko redzat MsgBox. Mūsu piemērā teksts “Šis ir MsgBox paraugs” ir “uzvedne”. Uzvednē varat izmantot līdz 1024 rakstzīmēm, kā arī to izmantot, lai parādītu mainīgo vērtības. Ja vēlaties parādīt uzvedni ar vairākām rindām, varat to arī izdarīt (vairāk par to vēlāk šajā apmācībā).
  • [pogas] - Tas nosaka, kuras pogas un ikonas tiek parādītas MsgBox. Piemēram, ja es izmantoju vbOkOnly, tas parādīs tikai pogu Labi, un, ja es izmantoju vbOKCancel, tiks parādītas gan pogas Labi, gan Atcelt. Vēlāk šajā apmācībā es apskatīšu dažāda veida pogas.
  • [nosaukums] - Šeit jūs varat norādīt vēlamo parakstu ziņojuma dialoglodziņā. Tas tiek parādīts MsgBox virsrakstjoslā. Ja neko nenorādāt, tas parādīs lietojumprogrammas nosaukumu.
  • [palīdzības fails] - Jūs varat norādīt palīdzības failu, kuram var piekļūt, kad lietotājs noklikšķina uz palīdzības pogas. Palīdzības poga parādīsies tikai tad, ja tam izmantosit pogas kodu. Ja izmantojat palīdzības failu, jānorāda arī konteksta arguments.
  • [konteksts] - Tā ir skaitliska izteiksme, kas ir palīdzības konteksta numurs, kas piešķirts attiecīgajai palīdzības tēmai.

Ja esat iepazinies ar Msgbox jēdzienu, nekautrējieties ignorēt argumentus [palīdzības fails] un [konteksts]. Es reti esmu redzējis, kā tās tiek izmantotas.

Piezīme. Visi argumenti kvadrātiekavās nav obligāti. Obligāts ir tikai “ātrs” arguments.

Excel VBA MsgBox pogu konstantes (piemēri)

Šajā sadaļā es apskatīšu dažāda veida pogas, kuras varat izmantot kopā ar VBA MsgBox.

Pirms es jums parādīšu VBA kodu un to, kā izskatās MsgBox, šeit ir tabula, kurā uzskaitītas visas dažādās pogu konstantes, kuras varat izmantot.

Poga nemainīga Apraksts
vbOKTikai Parāda tikai pogu Labi
vbOKCancel Parāda pogas Labi un Atcelt
vbAbortRetryIgnore Parāda pogas Pārtraukt, Mēģināt vēlreiz un Ignorēt
vbJāNē Parāda pogas Jā un Nē
vbJāNoAtcelt Rāda pogas Jā, Nē un Atcelt
vbRetryCancel Parāda pogas Atkārtot un Atcelt
vbMsgBoxHelpButton Parāda palīdzības pogu. Lai tas darbotos, funkcijā MsgBox jāizmanto palīdzības un konteksta argumenti
vbDefaultButton1 Padara pirmo pogu noklusējuma. Jūs varat mainīt numuru, lai mainītu noklusējuma pogu. Piemēram, vbDefaultButton2 padara otro pogu par noklusējumu

Piezīme. Izskatot dažādu pogu izveides piemērus, jums var rasties jautājums, kāda jēga ir šīm pogām, ja tās neietekmē kodu.

Tā ir! Pamatojoties uz atlasi, jūs varat kodēt to, ko vēlaties, lai kods darītu. Piemēram, ja izvēlaties Labi, kodam jāturpina, un, noklikšķinot uz Atcelt, kodam ir jāapstājas. To var izdarīt, izmantojot mainīgos un mainīgajam piešķirot ziņojumu lodziņa vērtību. Mēs to aplūkosim šīs apmācības turpmākajās sadaļās.

Tagad apskatīsim dažus piemērus, kā dažādās pogas var parādīt MsgBox un kā tas izskatās.

MsgBox pogas - vbOKOnly (noklusējums)

Ja izmantojat tikai uzvedni un nenorādāt nevienu no argumentiem, tiks parādīts noklusējuma ziņojumu lodziņš, kā parādīts zemāk:

Zemāk ir kods, kas sniegs šo ziņojumu lodziņu:

Sub DefaultMsgBox () MsgBox "Šis ir parauga lodziņš" End Sub

Ņemiet vērā, ka teksta virknei ir jābūt pēdiņās.

Varat arī izmantot pogas konstantu vbOKOnly, bet pat ja neko nenorādāt, tas tiek uzskatīts par noklusējumu.

MsgBox pogas - Labi un Atcelt

Ja vēlaties parādīt tikai pogu Labi un Atcelt, jums jāizmanto konstante vbOKCancel.

Sub MsgBoxOKCancel () MsgBox "Vai vēlaties turpināt?", VbOKCancel End Sub

MsgBox pogas - pārtraukt, mēģināt vēlreiz un ignorēt

Varat izmantot konstanti “vbAbortRetryIgnore”, lai parādītu pogas Abort, Retry un Ignore.

Sub MsgBoxAbortRetryIgnore () MsgBox "Ko jūs vēlaties darīt?", VbAbortRetryIgnore End Sub

MsgBox pogas - jā un nē

Varat izmantot konstantu “vbYesNo”, lai parādītu pogas Jā un Nē.

Sub MsgBoxJāNē () MsgBox "Vai mums vajadzētu apstāties?", VbJāNav Beigu apakšdaļas

MsgBox pogas - Jā, Nē un Atcelt

Varat izmantot konstanti “vbYesNoCancel”, lai parādītu pogas Jā, Nē un Atcelt.

Sub MsgBoxJāNoCancel () MsgBox "Vai mums vajadzētu apstāties?", VbJāNeAtcelt Beigu apakšdaļu

MsgBox pogas - mēģiniet vēlreiz un atceliet

Varat izmantot konstantu “vbRetryCancel”, lai parādītu pogas Retry un Cancel.

Sub MsgBoxRetryCancel () MsgBox "Ko jūs vēlaties darīt tālāk?", VbRetryCancel End Sub

MsgBox pogas - palīdzības poga

Lai parādītu palīdzības pogu, varat izmantot konstanti “vbMsgBoxHelpButton”. To var izmantot ar citām pogu konstantēm.

Sub MsgBoxRetryHelp () MsgBox "Ko jūs vēlaties darīt tālāk?", VbRetryCancel + vbMsgBoxHelpButton End Sub

Ņemiet vērā, ka šajā kodā mēs esam apvienojuši divas dažādas pogu konstantes (vbRetryCancel + vbMsgBoxHelpButton). Pirmajā daļā ir pogas Mēģināt vēlreiz un Atcelt, bet otrajā - poga Palīdzība.

MsgBox pogas - noklusējuma pogas iestatīšana

Varat izmantot konstanti “vbDefaultButton1”, lai pirmo pogu iestatītu kā noklusējumu. Tas nozīmē, ka poga jau ir atlasīta, un, nospiežot taustiņu Enter, tā izpilda šo pogu.

Zemāk ir kods, kas otro pogu (pogu “Nē”) iestatīs kā noklusējumu.

Sub MsgBoxOKCancel () MsgBox "Ko jūs vēlaties darīt tālāk?", VbJāNoAtcelšana + vbDefaultButton2 Beigu apakšdaļa

Vairumā gadījumu kreisā poga ir noklusējuma poga. Varat izvēlēties citas pogas, izmantojot vbDefaultButton2, vbDefaultButton3 un vbDefaultButton4.

Excel VBA MsgBox ikonu konstantes (piemēri)

Papildus pogām varat pielāgot arī ikonas, kas tiek parādītas dialoglodziņā MsgBox. Piemēram, jums var būt sarkana kritiska ikona vai zila informācijas ikona.

Zemāk ir tabula, kurā uzskaitīts kods, kurā būs redzama atbilstošā ikona.

Ikona Pastāvīga Apraksts
vbKritiski Parāda kritiskā ziņojuma ikonu
vbJautājums Parāda jautājuma ikonu
vbIzsaukums Parāda brīdinājuma ziņojuma ikonu
vbInformācija Parāda informācijas ikonu

MsgBox ikonas - kritiskas

Ja savā MsgBox vēlaties parādīt kritisku ikonu, izmantojiet vbCritical konstanti. To var izmantot kopā ar citām pogu konstantēm (ievietojot + zīmi starp kodiem).

Piemēram, zemāk ir kods, kas parādīs noklusējuma pogu OK ar kritisku ikonu.

Sub MsgBoxCriticalIcon () MsgBox "Šī ir parauga kaste", vbCritical End Sub

Ja vēlaties parādīt kritisko ikonu ar pogām Jā un Nē, izmantojiet šādu kodu:

Sub MsgBoxCriticalIcon () MsgBox "Šī ir parauga kaste", vbJāNē + vbCritical End Sub

MsgBox ikonas - jautājums

Ja savā MsgBox vēlaties parādīt kritisku ikonu, izmantojiet konstantu vbQuestion.

Sub MsgBoxQuestionIcon () MsgBox "Šī ir parauga kaste", vbJāNē + vbQuestion End Sub

MsgBox ikonas - izsaukums

Ja savā MsgBox vēlaties parādīt izsaukuma ikonu, izmantojiet konstantu vbExclamation.

Sub MsgBoxExclamationIcon () MsgBox "Šī ir parauga kaste", vbJāNē + vbEksclamation End Sub

MsgBox ikonas - informācija

Ja savā MsgBox vēlaties parādīt informācijas ikonu, izmantojiet konstantu vbInformation.

Sub MsgBoxInformationIcon () MsgBox "Šī ir parauga kaste", vbJāNē + vbInformation End Sub

Nosaukuma un uzvednes pielāgošana MsgBox

Izmantojot MsgBox, varat pielāgot nosaukumu un uzvednes ziņojumus.

Līdz šim redzētajā piemērā kā virsraksts izmantots Microsoft Excel. Ja nenorādāt nosaukuma argumentu, MsgBox automātiski izmanto lietojumprogrammas nosaukumu (kas šajā gadījumā ir bijusi Microsoft Excel).

Jūs varat pielāgot nosaukumu, norādot to kodā, kā parādīts zemāk:

Sub MsgBoxInformationIcon () MsgBox "Vai vēlaties turpināt?", VbYesNo + vbQuestion, "Step 1 of 3" End Sub

Līdzīgi varat arī pielāgot uzvednes ziņojumu.

Ātrajā ziņojumā varat pievienot arī rindu pārtraukumus.

Zemāk esošajā kodā esmu pievienojis rindas pārtraukumu, izmantojot “vbNewLine”.

Sub MsgBoxInformationIcon () MsgBox "Vai vēlaties turpināt?" & vbNewLine & "Noklikšķiniet uz Jā, lai turpinātu", vbJāNē + vbQuestion, "Step 1 of 3" End Sub

Varat arī izmantot ratiņu atgriešanas rakstzīmi - Chr (13) - vai rindas padevi - Chr (10), lai uzvednes ziņojumā ievietotu jaunu rindu.

Ņemiet vērā, ka jaunu rindiņu varat pievienot tikai uzvednes ziņojumam, nevis virsrakstam.

MsgBox vērtības piešķiršana mainīgajam

Līdz šim mēs esam redzējuši piemērus, kad esam izveidojuši ziņojumu lodziņus un pielāgojuši pogas, ikonas, virsrakstu un uzvedni.

Tomēr, noklikšķinot uz pogas, nekas nav izdarīts.

Izmantojot programmu MsgBox programmā Excel, varat izlemt, ko vēlaties darīt, kad lietotājs noklikšķina uz konkrētas pogas. Un tas ir iespējams, jo katrai pogai ir kāda vērtība.

Tātad, noklikšķinot uz pogas Jā, funkcija MsgBox atgriež vērtību (6 vai konstantu vbJā), kuru varu izmantot savā kodā. Līdzīgi, ja lietotājs izvēlas pogu Nē, tā atgriež citu vērtību ((7 vai konstante vbNo)), ko varu izmantot kodā.

Zemāk ir tabula, kas parāda precīzas vērtības un MsgBox funkcijas atgriezto konstanti. Jums tas nav jāiegaumē, vienkārši apzinieties to un varat izmantot vieglāk lietojamās konstantes.

Poga Noklikšķināja Pastāvīga Vērtība
Labi vbLabi 1
Atcelt vbAtcelt 2
Pārtraukt vbAbort 3
Mēģiniet vēlreiz vbMēģināt 4
Ignorēt vb Ignorēt 5
vbJā 6
vbNē 7

Tagad redzēsim, kā mēs varam kontrolēt VBA makro kodu, pamatojoties uz to, uz kuras pogas lietotājs noklikšķina.

Ja zemāk esošajā kodā lietotājs noklikšķina uz Jā, tas parāda ziņojumu “Jūs noklikšķinājāt uz Jā”, un, ja lietotājs noklikšķina uz Nē, tiek parādīts “Jūs noklikšķinājāt uz Nē”.

Sub MsgBoxInformationIcon () Rezultāts = MsgBox ("Vai vēlaties turpināt?", VbYesNo + vbQuestion) Ja Rezultāts = vbJā Tad MsgBox "Jūs noklikšķinājāt uz Jā" Cits: MsgBox "Jūs noklikšķinājāt uz Nē" Beigt, ja beigt apakšdaļu

Iepriekš minētajā kodā es esmu piešķīris MsgBox funkcijas vērtību mainīgajam rezultātam. Noklikšķinot uz pogas Jā, mainīgais Rezultāts iegūst konstanti vbYes (vai skaitli 6), un, noklikšķinot uz Nē, mainīgais Rezultāts iegūst konstanti vbNo (vai skaitli 7).

Tad es izmantoju If If Else konstrukciju, lai pārbaudītu, vai Result mainīgajam ir vērtība vbYes. Ja tas notiek, tas parāda uzvedni “Jūs noklikšķinājāt uz Jā”, pretējā gadījumā tiek parādīts “Jūs noklikšķinājāt uz Nē”.

Jūs varat izmantot to pašu koncepciju, lai palaistu kodu, ja lietotājs noklikšķina uz Jā, un iziet no apakšizvēlnes, kad noklikšķina uz Nē.

Piezīme. Kad jūs piešķirat MsgBox izvadi mainīgajam, funkcijas MsgBox argumenti jāievieto iekavās. Piemēram, rindā Rezultāts = MsgBox (“Vai vēlaties turpināt?”, VbYesNo + vbQuestion), jūs varat redzēt, ka argumenti ir iekavās.

Ja vēlaties sīkāk izpētīt ziņojumu lodziņa funkciju, šeit ir oficiālais dokuments par to.

Jums varētu patikt arī šādas Excel VBA apmācības:

  • Excel VBA sadalītā funkcija.
  • Excel VBA InStr funkcija.
  • Darbs ar šūnām un diapazoniem programmā Excel VBA.
  • Darbs ar darblapām VBA.
  • Darbs ar darbgrāmatām VBA.
  • Cilpu izmantošana programmā Excel VBA.
  • Izpratne par Excel VBA datu tipiem (mainīgie un konstantes)
  • Kā izveidot un izmantot personīgo makro darbgrāmatu programmā Excel.
  • Noderīgi Excel makro koda piemēri.
  • Nākamās cilpas izmantošana programmā Excel VBA.
  • Excel VBA notikumi - vienkāršs (un pilnīgs) ceļvedis.
  • Kā palaist makro programmā Excel-pilnīga soli pa solim rokasgrāmata.
  • Kā izveidot un lietot Excel pievienojumprogrammu.

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave