Vul die vorms in met data uit die tabel

Formulering van die probleem

Ons het 'n databasis (lys, tabel – noem dit wat jy wil) met inligting oor betalings op 'n blad data:

Taak: druk vinnig 'n kontantkwitansie (betaling, faktuur …) uit vir enige gewenste inskrywing wat uit hierdie lys gekies is. Gaan!

Stap 1. Skep 'n vorm

Op 'n ander vel van die boek (kom ons noem hierdie blad Vorm) skep 'n leë vorm. U kan dit self doen, u kan klaargemaakte vorms gebruik, byvoorbeeld van die webwerwe van die hoofrekenmeester-tydskrif of die Microsoft-webwerf. Ek het so iets gekry:

Vul die vorms in met data uit die tabel

In leë selle (Rekening, Bedrag, Ontvang van ens.) sal data van die betalingstabel van 'n ander blad af kry – 'n bietjie later sal ons dit hanteer.

Stap 2: Berei die betalingstabel voor

Voordat data uit die tabel vir ons vorm geneem word, moet die tabel effens gemoderniseer word. Voeg naamlik 'n leë kolom aan die linkerkant van die tabel in. Ons sal gebruik om 'n etiket in te voer (laat dit die Engelse letter “x” wees) oorkant die reël vanwaar ons data by die vorm wil byvoeg:

Stap 3. Koppel die tabel en vorm

Vir kommunikasie gebruik ons ​​die funksie VPR(VERSOEKING) – jy kan meer daaroor lees hier. In ons geval, om die nommer van die betaling gemerk "x" uit die Datablad in sel F9 op die vorm in te voeg, moet jy die volgende formule in sel F9 invoer:

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

=VOPSOEK(“x”;Data!B2:G16;2;0)

Dié. vertaal in " verstaanbaar", moet die funksie in die reeks A2: G16 op die Datablad 'n reël vind wat met die karakter "x" begin en vir ons die inhoud van die tweede kolom van hierdie reël gee, dws betalingsnommer.

Alle ander selle op die vorm word op dieselfde manier ingevul – net die kolomnommer verander in die formule.

Om die bedrag in woorde te vertoon, het ek die funksie gebruik Eie vanaf die PLEX-byvoeging.

Die resultaat moet die volgende wees:

Vul die vorms in met data uit die tabel

Stap 4. Sodat daar nie twee “x” is nie …

As die gebruiker "x" teen veelvuldige reëls invoer, sal die VLOOKUP-funksie slegs die eerste waarde neem wat dit vind. Om sulke onduidelikheid te vermy, klik met die rechtermuisknop op die bladoortjie data en dan Bronteks (Bronkode). Kopieer die volgende kode in die Visual Basic-redigeerdervenster wat verskyn:

Privaat Sub-werkblad_Verander(ByVal-teiken as reeks) Dim r So lank Dim str As String As Target.Count > 1 Verlaat dan Sub As Target.Column = 1 Dan 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  

Hierdie makro verhoed dat die gebruiker meer as een "x" in die eerste kolom invoer.

Wel, dis al! Geniet dit!

  • Gebruik die VLOOKUP-funksie om waardes te vervang
  • 'n Verbeterde weergawe van die VLOOKUP-funksie
  • Bedrag in woorde (Propis-funksie) vanaf die PLEX-byvoeging

 

Lewer Kommentaar