Lomakkeiden täyttäminen taulukon tiedoilla

Ongelman muotoilu

Meillä on tietokanta (luettelo, taulukko – kutsu sitä miksi haluat), jossa on tiedot maksuista arkilla Päiväys:

Tehtävä: tulosta nopeasti kassakuitti (maksu, lasku…) mistä tahansa tästä luettelosta valitusta merkinnästä. Mennä!

Vaihe 1. Luo lomake

Toisella kirjan arkilla (kutsutaanko tätä arkkia muoto) luo tyhjä lomake. Voit tehdä sen itse, voit käyttää valmiita lomakkeita, jotka on otettu esimerkiksi pääkirjanpitäjä-lehden tai Microsoftin verkkosivuilta. Sain jotain tällaista:

Lomakkeiden täyttäminen taulukon tiedoilla

Tyhjissä soluissa (Tili, Summa, Vastaanotettu jne.) saa tiedot maksutaulukosta toiselta arkilta – käsittelemme tätä hieman myöhemmin.

Vaihe 2: Maksutaulukon valmistelu

Ennen kuin otat tietoja taulukosta lomakkeeseen, taulukkoa on hieman modernisoitava. Eli lisää tyhjä sarake taulukon vasemmalle puolelle. Käytämme syöttämään etiketti (olkoon se englanninkielinen kirjain "x") vastapäätä riviä, josta haluamme lisätä tietoja lomakkeeseen:

Vaihe 3. Taulukon ja lomakkeen yhdistäminen

Käytämme toimintoa viestintään VPR(HAKU) – voit lukea siitä lisää täältä. Meidän tapauksessamme, jotta voit lisätä tietolomakkeesta "x"-merkityn maksun numeron lomakkeen soluun F9, sinun on syötettävä soluun F9 seuraava kaava:

=VHAKU("x",Data!A2:G16)

=VHAKU("x";Data!B2:G16;2;0)

Nuo. käännettynä "ymmärrettäväksi", funktion tulee löytää alueelta A2: G16 tietosivulta rivi, joka alkaa merkillä "x" ja antaa meille tämän rivin toisen sarakkeen sisältö eli maksunumero.

Kaikki muut lomakkeen solut täytetään samalla tavalla – vain sarakkeen numero muuttuu kaavassa.

Summan näyttämiseksi sanoina käytin funktiota Oma PLEX-lisäosasta.

Tuloksen pitäisi olla seuraava:

Lomakkeiden täyttäminen taulukon tiedoilla

Vaihe 4. Jotta ei ole kahta "x" ...

Jos käyttäjä syöttää "x" useille riveille, VHAKU-funktio ottaa vain ensimmäisen löytämänsä arvon. Välttääksesi tällaisen epäselvyyden, napsauta hiiren kakkospainikkeella arkkivälilehteä Päiväys ja sitten Lähdeteksti (Lähdekoodi). Kopioi seuraava koodi näkyviin tulevaan Visual Basic -editori-ikkunaan:

Yksityinen alityöarkin_muutos (ByVal Target As Range) Dim r As Long Dim str Kuten merkkijono, jos Target.Count > 1 sitten Exit Sub, jos Target.Column = 1 then str = Target.Value Application.EnableEvents = False r = Cells(Rows.Count , 2).End(xlUp).Rivialue("A2:A" & r).ClearContents Target.Value = str End If Application.EnableEvents = True End Sub  

Tämä makro estää käyttäjää syöttämästä useampaa kuin yhtä x:ää ensimmäiseen sarakkeeseen.

No, siinä kaikki! Nauttia!

  • VLOOKUP-funktion käyttäminen arvojen korvaamiseen
  • VLOOKUP-toiminnon parannettu versio
  • Summa sanoina (Propis-funktio) PLEX-lisäosasta

 

Jätä vastaus