Tämä opetusohjelma osoittaa, kuinka saada tietoja käyttäjältä VBA -syöttölaatikon avulla.
The VBA -syöttölaatikko avulla voimme pyytää käyttäjää syöttämään tietoja. Tietoja voidaan sitten käyttää VBA -koodissamme tai Excel -laskentataulukossa.
VBA -syöttölaatikko, jossa on muuttuja
Voimme ilmoittaa muuttujan VBA -koodissamme, joka sitten tallentaa tiedot, jotka on kirjoitettu syöttökenttään. Voimme sitten käyttää tätä muuttujaa koodissamme.
Riippuen siitä, minkä tyyppisiä tietoja haluamme palauttaa syöttökentästä, voimme ilmoittaa tietyntyyppisen muuttujan joko tekstin palauttamiseksi (merkkijono tai varianttimuuttuja) tai numeron (kokonaisluku, pitkä, kaksinkertainen tai yksittäinen muuttuja).
Merkkijonomuuttuja ja syöttölaatikko
Näin voit luoda InputBoxin, jossa tiedot palautetaan merkkijonomuuttujaksi.
123 | Dim strInput merkkijononastrInput = InputBox ("Tämä on minun InputBox", "MyInputTitle", "Anna syöttötekstisi TÄSTÄ") |
Huomaa ensin, että ilmoitamme muuttujan. Tälle muuttujalle annetaan arvo, jonka käyttäjä syöttää. Käytimme muuttujatyyppistä merkkijonoa, jotta syöttöruutu hyväksyy tekstimerkkijonot (joka sisältää kaikki aakkosnumeeriset merkit).
Numeromuuttuja ja syöttölaatikko
Jos ilmoitat numeromuuttujan, sinun on syötettävä numero vain syöttökenttään.
12 | Dim iInput kokonaislukunaiInput = InputBox ("Anna numero", "Luo laskun numero", 1) |
Ilmoitamme ensin lukumuuttujan kokonaislukumuuttujana. Voimme myös syöttää oletusarvon 1 syöttökenttään.
Jos syötäisimme merkkijonon numeron sijaan ja napsauttaisimme sitten OK, saisimme kirjoitusvirheen, koska numeromuuttuja ei hyväksy merkkijonoa.
Hae tietoja käyttäjältä
Tässä on toinen esimerkki InputBoxin suosituimmista ominaisuuksista.
Seuraava koodi tekee kolme asiaa:
1. Kehottaa syöttämään InputBoxin ja määrittää sen muuttujalle
2. Vahvistaa syötteen, muutoin poistuu aliosasta
3. Palauttaa viestiruudun syötteen
12345678910111213 | Julkinen alitulon syöttölaatikko ()Dim MyInput merkkijononaMyInput = InputBox ("Tämä on minun InputBox", "MyInputTitle", "Anna syöttötekstisi TÄSTÄ")Jos MyInput = "Kirjoita syöttötekstisi TÄSTÄ" Tai MyInput = "" SittenLopeta SubLoppu JosMsgBox "MyInputBoxin teksti on" & MyInputEnd Sub |
Syötteen palauttaminen Excel -taulukkoon
Voit palauttaa syöttökenttään kirjoittamasi syötteen tiettyyn Excel -taulukon soluun.
1 | Alue ("P1") = InputBox ("Kirjoita nimesi", "Anna nimi", "Anna nimi TÄSTÄ") |
Voimme myös palauttaa syötetyt tiedot Excel -taulukkoon muuttujan avulla.
12345678910 | Sub EnterNumber ()Virhe Jatka seuraavaksiDim dblAmount DoubledblAmount = InputBox ("Anna tarvittava summa", "Anna summa")Jos dblAmount 0 SittenAlue ("A1") = dblAmountMuuMsgBox "Et kirjoittanut numeroa!"Loppu JosEnd Sub |
Yllä olevassa esimerkissä meidän on annettava numero. Jos syötämme luvun, muuttuja dblAmount laittaa numeron Excel -taulukkoon solussa A1. Jos emme kuitenkaan syötä numeroa, viestiruutu kertoo meille, ettemme antaneet numeroa ja mitään ei lisätä soluun A1.
VBA InputBoxin käyttö Access VBA: ssa
VBA -syöttöruutu toimii täsmälleen samalla tavalla Accessissa kuin Excelissä, kun käyttäjä palauttaa viestinsä ruudun muodossa.
Jos kuitenkin haluat palauttaa käyttäjän syötteen tietokantaan, sinun on käytettävä Recordset -objektia Excel -alueen Range -objektin sijasta.
1234567891011121314 | Sub EnterInvoiceNumber ()Dim dbs TietokannanaHimmennä ennätyksenäAseta dbs = CurrentDbAseta rst = dbs.OpenRecordset ("tblMatters", dbOpenDynaset)Ensimmäisen kanssa.Lisää uusi! InvNo = InputBox ("Anna laskun numero", "LASKENUMERO", 1).PäivittääLopetaensimmäinen SuljeAseta rst = ei mitäänAseta dbs = ei mitäänEnd Sub |