VBA InputBox - Získajte vstup od používateľa v makre - Príklady kódu VBA

Tento tutoriál ukáže, ako získať vstup od používateľa pomocou vstupného poľa VBA.

The Vstupný box VBA umožňuje nám vyzvať používateľa na zadanie informácií. Informácie potom môžu byť použité v našom kóde VBA alebo v hárku programu Excel.

Vstupný box VBA s premennou

V našom kóde VBA môžeme deklarovať premennú, ktorá potom uloží informácie, ktoré sú zadané do vstupného poľa. Túto premennú potom môžeme použiť v našom kóde.

V závislosti od typu informácií, ktoré chceme vrátiť zo vstupného poľa, môžeme konkrétny typ premennej deklarovať buď na vrátenie textu (reťazcová alebo variantná premenná), alebo na vrátenie čísla (celočíselná, dlhá, dvojitá alebo jednoduchá premenná).

Premenná reťazca so vstupným poľom

Tu je návod, ako môžete vytvoriť InputBox, kde sa údaje vrátia do reťazcovej premennej.

123 Dim strInput ako reťazecstrInput = InputBox („Toto je môj InputBox“, „MyInputTitle“, „Zadajte svoj vstupný text TU“)

Všimnite si najskôr, že deklarujeme premennú. K tejto premennej bude priradená hodnota, ktorú používateľ zadá. Použili sme typ premennej String, aby vstupné pole akceptovalo textové reťazce (ktoré obsahujú akékoľvek alfanumerické znaky).

Premenná čísla so vstupným poľom

Ak deklarujete číselnú premennú, budete musieť zadať číslo iba do vstupného poľa.

12 Dim iInput As IntegeriInput = InputBox („Zadajte číslo“, „Vytvoriť číslo faktúry“, 1)

Najprv deklarujeme číselnú premennú ako celočíselnú premennú. Potom môžeme do vstupného poľa vložiť aj predvolenú hodnotu 1.

Ak by sme namiesto čísla zadali reťazec a potom klikli na OK, zobrazila by sa chyba Neshoda typu, pretože premenná čísla neakceptuje reťazec.

Získajte vstup od používateľa

Tu je ďalší príklad použitia najobľúbenejších funkcií InputBoxu.

Nasledujúci kód robí tri veci:

1. Požiada o vstup pomocou InputBoxu a priradí ho k premennej

2. Overí vstup, v opačnom prípade ukončí sub

3. Vráti vstup do poľa so správou

12345678910111213 Public Sub MyInputBox ()Dim MyInput ako reťazecMyInput = InputBox („Toto je môj InputBox“, „MyInputTitle“, „Zadajte svoj vstupný text TU“)Ak MyInput = "Zadajte svoj vstupný text TU" Alebo MyInput = "" PotomUkončiť subKoniec AkMsgBox "Text z MyInputBox je" & MyInputKoniec pod

Vrátenie vstupu do hárka programu Excel

Vstup, ktorý zadáte do vstupného poľa, môžete vrátiť do konkrétnej bunky v hárku programu Excel.

1 Rozsah ("P1") = InputBox ("Zadajte svoje meno", "Zadajte meno", "Zadajte meno TU")

Vstupné údaje môžeme tiež vrátiť do listu programu Excel pomocou premennej.

12345678910 Podradené číslo ()Pri chybe Pokračovať ďalejDim dblAmount As DoubledblAmount = InputBox („Zadajte požadovanú sumu“, „Zadajte sumu“)Ak dblAmount 0 PotomRozsah ("A1") = dblAmountInakMsgBox „Nezadali ste číslo!“Koniec AkKoniec pod

Vo vyššie uvedenom príklade sme povinní zadať číslo. Ak zadáme číslo, tak premennú dblAmount vloží číslo do listu programu Excel v bunke A1. Ak však nezadáme číslo, potom nám správa zobrazí správu, že sme nezadali číslo a do bunky A1 sa nič nevloží.

Použitie VBA InputBoxu v Access VBA

Vstupné pole VBA funguje v programe Access rovnako ako v programe Excel pri vracaní vstupu používateľa vo forme poľa so správou.

Ak však chcete vrátiť vstup používateľa do databázy, budete musieť použiť objekt Recordset, nie objekt Range, ako sa používa v programe Excel.

1234567891011121314 Podradené číslo faktúry ()Dim dbs ako databázaDim first as RecordsetNastaviť dbs = CurrentDbNastaviť rst = dbs.OpenRecordset ("tblMatters", dbOpenDynaset)S prvým.Pridať nové! InvNo = InputBox („Zadajte číslo faktúry“, „GENERÁCIA ČÍSLA FAKTÚRY“, 1).AktualizáciaUkončiť snajskôr. ZatvorteNastaviť prvý = ničNastaviť dbs = ničKoniec pod

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave