Izpolnjevanje obrazcev s podatki iz tabele

Formulacija problema

Imamo bazo (seznam, tabelo – poimenujte jo kakor hočete) s podatki o plačilih na listu datum:

Naloga: hitro natisnite potrdilo o plačilu (plačilo, račun …) za katerikoli želeni vnos, izbran s tega seznama. Pojdi!

Korak 1. Ustvarite obrazec

Na drugem listu knjige (poimenujmo ta list Obrazec) ustvarite prazen obrazec. To lahko storite sami, lahko uporabite že pripravljene obrazce, vzete na primer s spletnih mest revije Chief Accountant ali spletnega mesta Microsoft. Dobil sem nekaj takega:

Izpolnjevanje obrazcev s podatki iz tabele

V praznih celicah (Račun, znesek, prejeto od itd.) bo dobil podatke iz plačilne tabele z drugega lista – to bomo obravnavali nekoliko kasneje.

2. korak: Priprava plačilne tabele

Pred prevzemom podatkov iz tabele za naš obrazec je potrebno tabelo nekoliko posodobiti. Levo od tabele namreč vstavite prazen stolpec. Nasproti vrstice, iz katere želimo dodati podatke v obrazec, bomo uporabili za vpis oznake (naj bo to angleška črka “x”):

Korak 3. Povezava tabele in obrazca

Za komunikacijo uporabljamo funkcijo VPR(VLOOKUP) – več o tem si lahko preberete tukaj. V našem primeru, da bi v celico F9 na obrazcu vstavili številko plačila z oznako “x” iz Podatkovnega lista, morate v celico F9 vnesti naslednjo formulo:

=VLOOKUP(“x”,Podatki!A2:G16)

=VLOOKUP(“x”;Podatki!B2:G16;2;0)

Tisti. prevedeno v »razumljivo«, naj funkcija v območju A2: G16 na podatkovnem listu najde vrstico, ki se začne z znakom »x« in nam posreduje vsebino drugega stolpca te vrstice, tj. številko plačila.

Vse ostale celice na obrazcu se izpolnijo na enak način – v formuli se spremeni le številka stolpca.

Za prikaz zneska v besedah ​​sem uporabil funkcijo Lastna iz dodatka PLEX.

Rezultat bi moral biti naslednji:

Izpolnjevanje obrazcev s podatki iz tabele

Korak 4. Da ne bo dveh “x” …

Če uporabnik vnese »x« v več vrstic, bo funkcija VLOOKUP prevzela samo prvo vrednost, ki jo najde. Da bi se izognili takšni dvoumnosti, z desno miškino tipko kliknite zavihek lista datum in nato Izvorno besedilo (izvorna koda). V oknu urejevalnika Visual Basic, ki se prikaže, kopirajte to kodo:

Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Long Dim str As String If Target.Count > 1 Then Exit Sub If Target.Column = 1 Then str = Target.Value Application.EnableEvents = False r = Cells(Rows.Count , 2).End(xlUp).Row Range("A2:A" & r).ClearContents Target.Value = str End If Application.EnableEvents = True End Sub  

Ta makro preprečuje, da bi uporabnik v prvi stolpec vnesel več kot en »x«.

No, to je vse! Uživajte!

  • Uporaba funkcije VLOOKUP za zamenjavo vrednosti
  • Izboljšana različica funkcije VLOOKUP
  • Znesek v besedah ​​(funkcija Propis) iz dodatka PLEX

 

Pustite Odgovori