Formulieren invullen met gegevens uit de tabel

Formulering van het probleem

We hebben een database (lijst, tabel - noem het wat je wilt) met informatie over betalingen op een blad Data:

Taak: print snel een kassabon (betaling, factuur …) voor elke gewenste invoer uit deze lijst. Gaan!

Stap 1. Maak een formulier

Op een ander blad van het boek (laten we dit blad noemen) Formulier) maak een leeg formulier aan. U kunt het zelf doen, u kunt kant-en-klare formulieren gebruiken, bijvoorbeeld van de websites van het tijdschrift Chief Accountant of de website van Microsoft. Ik heb zoiets als dit:

Formulieren invullen met gegevens uit de tabel

In lege cellen (Rekening, Bedrag, Ontvangen van enz.) gegevens van de betalingstabel van een ander blad halen - even later zullen we dit behandelen.

Stap 2: De betalingstabel voorbereiden

Alvorens gegevens uit de tabel voor ons formulier te halen, moet de tabel enigszins worden gemoderniseerd. Plaats namelijk een lege kolom links van de tabel. We zullen gebruiken om een ​​label in te voeren (laat het de Engelse letter "x" zijn) tegenover de regel van waaruit we gegevens aan het formulier willen toevoegen:

Stap 3. Tabel en formulier koppelen

Voor communicatie gebruiken we de functie VPR(VERT.ZOEKEN) – hier lees je er meer over. In ons geval moet u, om het nummer van de betaling gemarkeerd met "x" van het gegevensblad in cel F9 op het formulier in te voeren, de volgende formule in cel F9 invoeren:

=VERT.ZOEKEN(“x”,Gegevens!A2:G16)

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

Die. vertaald in "begrijpelijk", zou de functie in het bereik A2: G16 op het gegevensblad een regel moeten vinden die begint met het teken "x" en ons de inhoud van de tweede kolom van deze regel moeten geven, dwz het betalingsnummer.

Alle andere cellen op het formulier worden op dezelfde manier ingevuld - alleen het kolomnummer verandert in de formule.

Om het bedrag in woorden weer te geven, heb ik de functie gebruikt Eigen van de PLEX-add-on.

Het resultaat zou het volgende moeten zijn:

Formulieren invullen met gegevens uit de tabel

Stap 4. Zodat er geen twee "x" zijn ...

Als de gebruiker "x" invoert voor meerdere regels, zal de functie VERT.ZOEKEN alleen de eerste waarde aannemen die wordt gevonden. Om dergelijke dubbelzinnigheid te voorkomen, klikt u met de rechtermuisknop op de bladtab Data en Brontekst (Broncode). Kopieer de volgende code in het Visual Basic-editorvenster dat verschijnt:

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

Deze macro voorkomt dat de gebruiker meer dan één "x" in de eerste kolom invoert.

Nou dat is alles! Genieten van!

  • De functie VERT.ZOEKEN gebruiken om waarden te vervangen
  • Een verbeterde versie van de VERT.ZOEKEN-functie
  • Bedrag in woorden (Propis-functie) van de PLEX-add-on

 

Laat een reactie achter