Vypĺňanie formulárov údajmi z tabuľky

Formulácia problému

Máme databázu (zoznam, tabuľku – nazvite si to ako chcete) s informáciami o platbách na hárku dátum:

úloha: rýchlo vytlačte pokladničný doklad (platba, faktúra ...) pre ľubovoľný požadovaný záznam vybraný z tohto zoznamu. Choď!

Krok 1. Vytvorte formulár

Na inom hárku knihy (nazvime tento hárok Formulár) vytvorte prázdny formulár. Môžete to urobiť sami, môžete použiť hotové formuláre, prevzaté napríklad zo stránok časopisu Hlavný účtovník alebo zo stránky Microsoftu. Dostal som niečo takéto:

Vypĺňanie formulárov údajmi z tabuľky

V prázdnych bunkách (Účet, Suma, Prijaté z atď.) získa údaje z platobnej tabuľky z iného hárku – tým sa budeme zaoberať o niečo neskôr.

Krok 2: Príprava tabuľky platieb

Pred prevzatím údajov z tabuľky pre náš formulár je potrebné tabuľku mierne zmodernizovať. Konkrétne vložte prázdny stĺpec naľavo od tabuľky. Na zadanie štítka (nech je to anglické písmeno „x“) oproti riadku, z ktorého chceme do formulára pridať údaje, použijeme:

Krok 3. Prepojenie tabuľky a formulára

Na komunikáciu používame funkciu VPR(VLOOKUP) – viac si o tom môžete prečítať tu. V našom prípade, aby ste vložili číslo platby označené „x“ z údajového hárku do bunky F9 vo formulári, musíte do bunky F9 zadať nasledujúci vzorec:

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

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

Tie. preložené do „zrozumiteľného“, funkcia by mala nájsť v rozsahu A2: G16 na údajovom liste riadok začínajúci znakom „x“ a dať nám obsah druhého stĺpca tohto riadku, teda číslo platby.

Všetky ostatné bunky vo formulári sa vyplnia rovnakým spôsobom – vo vzorci sa zmení iba číslo stĺpca.

Na zobrazenie sumy slovami som použil funkciu Vlastné z doplnku PLEX.

Výsledkom by malo byť nasledovné:

Vypĺňanie formulárov údajmi z tabuľky

Krok 4. Aby neboli žiadne dve „x“ …

Ak používateľ zadá „x“ proti viacerým riadkom, funkcia VLOOKUP prevezme iba prvú hodnotu, ktorú nájde. Aby ste sa vyhli takejto nejednoznačnosti, kliknite pravým tlačidlom myši na záložku listu dátum a potom Zdrojový text (Zdrojový kód). V zobrazenom okne editora Visual Basic skopírujte nasledujúci kód:

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  

Toto makro zabraňuje používateľovi zadať viac ako jedno „x“ do prvého stĺpca.

No a to je všetko! Užite si to!

  • Použitie funkcie VLOOKUP na nahradenie hodnôt
  • Vylepšená verzia funkcie VLOOKUP
  • Množstvo v slovách (funkcia Propis) z doplnku PLEX

 

Nechaj odpoveď