Popunjavanje obrazaca podacima iz tabele

Formulacija problema

Imamo bazu podataka (lista, tabela – zovite kako hoćete) sa podacima o uplatama na listu podaci:

zadatak: brzo ispisati gotovinski račun (uplata, faktura…) za bilo koji željeni unos odabran sa ove liste. Idi!

Korak 1. Kreirajte obrazac

Na drugom listu knjige (nazovimo ovaj list obrazac) kreirajte prazan obrazac. Možete to učiniti sami, možete koristiti gotove obrasce, preuzete, na primjer, s web stranica časopisa glavnog računovođe ili web stranice Microsofta. Imam nešto ovako:

Popunjavanje obrazaca podacima iz tabele

U praznim ćelijama (Račun, iznos, primljeno od itd.) će dobiti podatke iz tabele plaćanja sa drugog lista – malo kasnije ćemo se time pozabaviti.

Korak 2: Priprema tabele plaćanja

Prije uzimanja podataka iz tabele za naš obrazac, tabelu je potrebno malo modernizirati. Naime, ubacite praznu kolonu lijevo od tabele. Koristićemo da unesemo oznaku (neka to bude englesko slovo “x”) nasuprot linije iz koje želimo da dodamo podatke u obrazac:

Korak 3. Povezivanje tabele i forme

Za komunikaciju koristimo funkciju VPR(Vlookup) – više o tome možete pročitati ovdje. U našem slučaju, da biste u ćeliju F9 na obrascu uneli broj uplate označen sa „x“ iz lista podataka, morate u ćeliju F9 uneti sledeću formulu:

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

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

One. prevedeno na „razumljivo“, funkcija treba da pronađe u opsegu A2: G16 na Data sheetu red koji počinje znakom „x“ i da nam da sadržaj druge kolone ovog reda, odnosno broj plaćanja.

Sve ostale ćelije na obrascu popunjavaju se na isti način – mijenja se samo broj kolone u formuli.

Za prikaz iznosa riječima, koristio sam funkciju vlastiti iz PLEX dodatka.

Rezultat bi trebao biti sljedeći:

Popunjavanje obrazaca podacima iz tabele

Korak 4. Tako da ne postoje dva “x”…

Ako korisnik unese “x” u više redova, funkcija VLOOKUP će uzeti samo prvu vrijednost koju pronađe. Da biste izbjegli takvu dvosmislenost, desnom tipkom miša kliknite karticu lista podaci i onda Izvorni tekst (Izvorni kod). U prozoru uređivača Visual Basica koji se pojavi, kopirajte sljedeći kod:

Privatni pod Radni list_Change(ByVal Target As Range) Dim r As Long Dim str As String Ako Target.Count > 1 Zatim izađite iz Sub If Target.Column = 1 Zatim 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  

Ovaj makro sprječava korisnika da unese više od jednog “x” u prvu kolonu.

Pa, to je sve! Enjoy!

  • Korištenje funkcije VLOOKUP za zamjenu vrijednosti
  • Poboljšana verzija funkcije VLOOKUP
  • Iznos u riječima (Propis funkcija) iz PLEX dodatka

 

Ostavite odgovor