Excel VBA InputBox

Noha a legtöbb esetben a már veled lévő adatokat használja, néha előfordul egy olyan helyzet, amikor azt akarja, hogy a felhasználó adja meg az adatokat, például nevet, korot, stb., Személyes információkat. Ilyen típusú információkra van szükség néha, amikor felmérést készítünk, és felül kell vizsgálnunk az emberek elfogulatlan véleményét.

Az Excel VBA InputBox használatával a bemeneti adatokat megkaphatjuk a felhasználótól. Ahogy a neve is sugallja, az InputBox felugró ablakként működik, amely felkéri a felhasználót, hogy adjon meg bizonyos információkat.

Szintaxis a VBA InputBox számára

Az alábbiakban bemutatjuk a VBA InputBox szintaxisát:

Hol,

  • Prompt - üzenet, amely megjelenik a felhasználó számára. Ez az egyetlen szükséges argumentum, a többi argumentum nem kötelező.
  • Cím - A fejléc jelenik meg a párbeszédablakban az InputBox utasítás sikeres végrehajtása után. Ha nem adják meg, akkor a rendszer alapértelmezés szerint címként nyomtatja ki a „Microsoft Excel” -t.
  • Alapértelmezés - Ez az alapértelmezett érték jelenik meg a párbeszédpanelen. Meg is őrizhetjük. Ehhez az argumentumhoz nincs beállítva alapértelmezett érték.
  • XPos - A párbeszédpanel pozíciókoordinátája az X tengelyen.
  • YPos - A párbeszédpanel pozíciókoordinátája az Y tengelyen.
  • HelpFile - A használandó súgófájl helye. Ez az argumentum a 'Context' argumentum átadásakor kötelezővé válik.
  • Kontextus - A Súgó ContextId képviseli a használt HelpFile-t. Kötelező a 'HelpFile' argumentum átadásakor használni.
  • Ezen érvek közül csak az első három elegendő az InputBox sikeres létrehozásához.

InputBox létrehozása az Excel VBA alkalmazásban

Az alábbiakban bemutatjuk az InputBox Excel VBA kód használatával történő létrehozásának különféle lépéseit.

Itt letöltheti ezt a VBA InputBox Excel sablont - VBA InputBox Excel sablon
  • Nyissa meg a VBE-t (Visual Basic Editor az Alt + F11 egyidejű megnyomásával egy Excel fájlban, majd kattintson a Beszúrás elemre, és adjon hozzá új modult a VBE-ben.

  • Hozzon létre egy makrót ebben a modulban, 'Module1' néven. Nevet rendelhet a makróhoz.

  • Gépelje be az InputBox parancsot a szerkesztőbe.

Adja meg a következő bemeneteket az InputBox utasításhoz:

  • Kérdés: "Tudom, hogy megismerjük a teljes nevét?"
  • Cím: „Személyes adatok”
  • Alapértelmezés: “Indítsa el a gépelést

Kód:

 Sub InputBoxEX () InputBox "Tudom, hogy ismerem a nevét?", "Személyes adatok", "Indítsa el a gépelést" 

  • Nyomja meg az F5 vagy a run gombot a kód futtatásához.

Hogyan tárolhatjuk az InputBox kimenetet a cellákhoz?

Létrehozta az InputBox-ot, hogy megkapja a bemenetet a felhasználótól. Azonban hol tárolják a kimenetet? Nem említettünk olyan helyet, ahol a kimenet tárolható.

Tároljuk az InputBox-ból az Excel cellákhoz kapott kimenetet az alábbiakban ismertetett VBA lépések követésével:

  • Nyilatkozzon egy új „Név” változóval, amelynek típusa „Változat”. Az ilyen típusú változó bármilyen értéket felvehet (numerikus / karakterlánc / logikai stb.).

Kód:

 Sub InputBoxEX () Eltávolítás neve mint változat végpontja 

  • Az InputBox használatával rendeljen értéket ehhez a „Név” elnevezésű változóhoz.

Kód:

 Sub InputBoxEX () Halvány név névváltozatként = InputBox ("Tudom, hogy ismerem a nevét?", "Személyes adatok", "Indítsa el a gépelést itt") Befejezés Sub 

Ha észrevette volna a zárójelet az InputBox utasítás után, akkor ezekre szükség van, mert ezt az állítást a 'Név' változóra használjuk. Amint válik egy változónak megadandó értékré, azt megfelelő formátumban, zárójelben kell megemlíteni.

  • Bármilyen értéket ír a felhasználó a párbeszédpanelen, azt szeretnénk, ha ez megjelenik az Excel lap A1 cellájában. Írja be a következő nyilatkozatot a VBE-be: Range („A1”) Érték = név.

Kód:

 Sub InputBoxEX () Halvány név mint Variant Name = InputBox ("Tudom, hogy ismerem a nevét?", "Személyes adatok", "Indítsa el a gépelést itt") Tartomány ("A1"). Érték = Név Vége Al 

Ez az, most futtassuk ezt a kódot, és nézzük meg, hogyan működik.

  • Kattintson a Futtatás gombra vagy nyomja meg az F5 billentyűt a kód futtatásához, és megjelenik a következő párbeszédpanel. Írja be a nevét a párbeszédpanelen, felbukkanva a „Személyes adatok” névvel, és nyomja meg az OK gombot, hogy megnézze, hová nyomtatja a kimenetet.

  • Amint beírja az értéket, és rákattint az OK gombra, láthatja az A1 cellába bevitt értéket. Lásd az alábbi képernyőképet.

Bármely érték tárolható az InputBox segítségével, ha a változó megfelelően van meghatározva. Ebben az esetben a 'Név' változót 'Variant' -ként definiálta. A variáns adattípus bármilyen adatot felvehet, amint azt korábban mondtam.

Lásd az alábbi példát:

Adok egy számot érvként a párbeszédpanel felbukkanásakor. Lásd alább:

Kattintson az OK gombra, lásd az alábbi kimenetet:

Az A1 cellában az érték 2019-re változik.

Most változtassuk meg a változó típusát Dátumra.

Kód:

 Sub InputBoxEX () Halvány név: Dátum név = InputBox ("Tudom, hogy ismerem a nevét?", "Személyes adatok", "Indítsa el a gépelést") Tartomány ("A1"). Érték = Név Vége Al 

Futtassa a kódot, és próbálja meg a dátumtól eltérő értéket beírni. Maga beírom a nevemet, és rákattintom az OK gombra.

  • Miután rákattintott az OK-ra, futásidejű hibaüzenet, amely azt mondja: 'Type neatmatch'.

Azért fordult elő, mert a változó neve típusa Dátum most, és a dátum értékétől eltérő bemeneti argumentumot adtam meg (egy karakterlánc neve). Ennek következtében ez a kód nem fut, és hibát okoz.

A felhasználói bevitel validálása

Mi van, ha azt mondom, hogy a felhasználói bevitel korlátozható? Igen ez igaz! A felhasználói bemenetet karakterekre, számokra vagy logikára stb. Korlátozhatja.

A felhasználói bevitel korlátozása érdekében használja az Application.InputBox alkalmazást.

Az Application.InputBox szintaxisa a következő:

Hol,

Prompt - üzenet, amely megjelenik a felhasználó számára.

Cím - A párbeszédpanel címe .

Alapértelmezés - Alapértelmezett érték, amely megjelenik a párbeszédpanel alatt a gépelési területen.

Típus - a bemenet típusa.

Ez az egyetlen fontos érv, amely elegendő ezen állítás futtatásához.

Kezdjük ezt egy példán keresztül.

  • Nyújtsa be a változó nevét variánsként.

Kód:

 Sub InputBoxEX () Eltávolítás neve mint változat végpontja 

Rendeljen hozzá Application.InputBox-ot a Név nevű változóhoz, ugyanazokkal az argumentumokkal, mint amelyeket az InputBox használ. azaz Prompt, Title and Default. Lásd az alábbi kódot:

Kód:

 Sub InputBoxEX () tompított név variánsnévként = alkalmazás.InputBox ("Tudom, hogy ismerem a nevét?", "Személyes adatok", "Indítsa el a gépelést") Vége az al 

Most tegye ötször vesszővel, hogy figyelmen kívül hagyja a Bal, Fel, HelpFile és HelpContextID értékeket. 5 vessző után megadhatja a bemeneti típust.

Kód:

 Sub InputBoxEX () tompított név variánsnévként = alkalmazás.InputBox ("Tudom, hogy ismerem a nevét?", "Személyes adatok", "Indítsa el a gépelést",,,,, 

A bemeneti karakterlánc típusa az alábbiakban említett érvényesítésekkel rendelkezik:

  • Válasszuk az 1-et mint Típust nyilatkozatunkban. Ez azt jelenti, hogy csak a számok / numerikus értékek elfogadhatók a felbukkanó párbeszédpanelen.

Kód:

 Sub InputBoxEX () Félnév mint Variant Name = Application.InputBox ("Tudom, hogy ismeri a nevét?", "Személyes adatok", "Indítsa el a gépelést",,,,, 1) 

  • Futtassa a kódot kézzel vagy az F5 billentyűvel, és adja meg a nevet beviteli formában a gépelési területen, az alább látható módon. Ezután kattintson az OK gombra, és nézze meg a kimenetet.

Azt mondja, hogy a szám nem érvényes. Ez logikusnak tűnik, mivel a változó bemeneti típust számként állítottuk be, és a szöveget olyan bemenetként adtuk meg, amelyet a rendszer nem fogad el.

Ilyen módon korlátozhatja a felhasználót, hogy csak azokat az értékeket írja be, amelyeket meg szeretne látni az InputBox segítségével.

Dolgok, amikre emlékezni kell

  • Az InputBox legfeljebb 255 argumentumot képes elfogadni, és csak 254-et képes megjeleníteni. Tehát vigyázzon a felhasználó által megadható maximális hosszra.
  • Az alkalmazás módszer használható a bemeneti adat típusának beállítására. Ha azonban nem használják, akkor pontosabban meg kell határoznia a bemeneti adat típusát.
  • Ajánlatos egy változati adattípust választani, mivel az numerikus / szöveges / logikai stb. Bármelyikét képes tárolni. B = Értékek.

Ajánlott cikkek

Ez egy útmutató a VBA InputBox-hoz. Itt megvitattuk, hogyan lehet az InputBoxot Excelben létrehozni VBA-kóddal, a gyakorlati példákkal és a letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -

  1. Hogyan használjuk a FIND függvényt Excelben
  2. VBA függvény létrehozása Excelben
  3. Útmutató a tartományhoz Excelben
  4. Hogyan kell használni a VBA VLOOKUP funkciót?

Kategória: