Funkcija VBA InputBox ir noderīga, lai iegūtu vienu informāciju, ko lietotājs ierakstījis programmā Excle 2016. Šī informācija var būt vērtība, teksta virkne vai pat diapazona adrese. Šī ir laba alternatīva UserForm izstrādei, kad jāiegūst tikai viena vērtība.
InputBox sintakse
Šeit ir vienkāršota funkcijas InputBox sintakses versija:
InputBox(prompt[, title][, default])
Funkcija InputBox pieņem šeit uzskaitītos argumentus.
Arguments |
Ko tas ietekmē |
Pamudināt |
Ievades lodziņā parādītais teksts |
Nosaukums |
Teksts, kas tiek parādīts ievades lodziņa virsrakstjoslā
(neobligāti) |
Noklusējums |
Lietotāja ievades noklusējuma vērtība (neobligāti) |
InputBox piemērs
Tālāk ir sniegts paziņojums, kas parāda, kā varat izmantot funkciju InputBox:
TheName = InputBox ("Kāds ir jūsu vārds?", "Sveicieni")
Kad izpildāt šo VBA priekšrakstu, programmā Excel tiek parādīts šis dialoglodziņš. Ņemiet vērā, ka šajā piemērā tiek izmantoti tikai pirmie divi argumenti un netiek nodrošināta noklusējuma vērtība. Kad lietotājs ievada vērtību un noklikšķina uz Labi, kods piešķir vērtību mainīgajam TheName.
Funkcija InputBox parāda šo dialoglodziņu.
Nākamajā piemērā tiek izmantots trešais arguments un tiek nodrošināta noklusējuma vērtība. Noklusējuma vērtība ir programmā Excel saglabātais lietotājvārds (Lietojumprogrammas objekta rekvizīts UserName).
Sub GetName()
Dim TheName kā virkne
TheName = InputBox ("Kāds ir jūsu vārds?", _
“Sveicieni”, Application.UserName)
Beigu apakš
InputBox vienmēr parāda pogu Atcelt. Ja lietotājs noklikšķina uz Atcelt, funkcija InputBox atgriež tukšu virkni.
VBA funkcija InputBox vienmēr atgriež virkni, tādēļ, ja jums ir nepieciešams iegūt vērtību, kodam ir jāveic papildu pārbaude. Nākamajā piemērā skaitļa iegūšanai tiek izmantota funkcija InputBox. Tā izmanto funkciju IsNumeric, lai pārbaudītu, vai virkne ir skaitlis. Ja virknē ir skaitlis, viss ir kārtībā. Ja lietotāja ierakstu nevar interpretēt kā skaitli, kods parāda ziņojuma lodziņu.
Sub AddSheets()
Aptumšot uzvedni kā virkni
Blāvs paraksts kā virkne
Dim DefValue As Long
Dim NumSheets kā virkni
Prompt = "Cik lokšņu vēlaties pievienot?"
Paraksts = “Pastāsti man…”
DefValue = 1
NumSheets = ievades lodziņš (uzvedne, paraksts, noklusējuma vērtība)
Ja NumSheets = "" Izejiet no apakšgrupas "Atcelts".
Ja IsNumeric(NumSheets) Tad
Ja NumSheets > 0 Tad Sheets.Add Count:=NumSheets
Citādi
MsgBox “Nederīgs numurs”
Beigas Ja
Beigu apakš
Pārbaudiet dialoglodziņu, ko rada šī rutīna.
Vēl viens funkcijas InputBox izmantošanas piemērs.
Cits InputBox veids
Šeit sniegtā informācija attiecas uz VBA InputBox funkciju. Šķiet, ka Microsoft mīl neskaidrības, tāpēc jums ir piekļuve arī metodei InputBox , kas ir lietojumprogrammas objekta metode.
Viena liela lietojumprogrammas ievades lodziņa metodes izmantošanas priekšrocība ir tā, ka kods var pieprasīt diapazona atlasi. Pēc tam lietotājs var atlasīt diapazonu darblapā, iezīmējot šūnas. Šis ir īss piemērs, kas liek lietotājam izvēlēties diapazonu:
Sub GetRange()
Dim Rng As Range
Kļūdas gadījumā atsākt nākamo
Iestatīt Rng = Application.InputBox _
(prompt:=“Norādīt diapazonu:”, Tips:=8)
Ja Rng nav nekas, izejiet no Sub
MsgBox “Jūs atlasījāt diapazonu” & Rng.Address
Beigu apakš
Tas izskatās šādi.
Izmantojot metodi Application InputBox, lai iegūtu diapazonu.
Šajā vienkāršajā piemērā kods lietotājam norāda atlasītā diapazona adresi. Reālajā dzīvē jūsu kods patiešām darītu kaut ko noderīgu ar atlasīto diapazonu. Jauka lieta šajā piemērā ir tā, ka Excel rūpējas par kļūdu apstrādi. Ja ievadāt kaut ko, kas nav diapazons, programma Excel jums par to paziņo un ļauj mēģināt vēlreiz.
Metode Application.InputBox ir līdzīga VBA funkcijai InputBox, taču tai ir arī dažas atšķirības. Pilnīgu informāciju skatiet palīdzības sistēmā.