Veidlapu aizpildīšana ar datiem no tabulas

Problēmas formulēšana

Mums ir datu bāze (saraksts, tabula – sauciet kā gribat) ar informāciju par maksājumiem uz lapas Datums:

Uzdevums: ātri izdrukājiet skaidras naudas čeku (maksājumu, rēķinu ...) par jebkuru no šī saraksta atlasīto vēlamo ierakstu. Aiziet!

1. darbība. Izveidojiet veidlapu

Uz citas grāmatas lapas (sauksim šo lapu Veidlapa) izveidojiet tukšu veidlapu. To var izdarīt pats, varat izmantot gatavas veidlapas, kas ņemtas, piemēram, no žurnāla Galvenā grāmatveža vietnēm vai Microsoft vietnes. Man ir kaut kas līdzīgs šim:

Veidlapu aizpildīšana ar datiem no tabulas

Tukšās šūnās (Konts, Summa, Saņemts no utt.) saņems datus no maksājumu tabulas no citas lapas – nedaudz vēlāk ar to nodarbosimies.

2. darbība: maksājumu tabulas sagatavošana

Pirms datu ņemšanas no tabulas mūsu veidlapai, tabula ir nedaudz jāmodernizē. Proti, tabulas kreisajā pusē ievietojiet tukšu kolonnu. Mēs izmantosim, lai ievadītu etiķeti (lai tas būtu angļu burts “x”) pretī rindai, no kuras mēs vēlamies pievienot datus formai:

3. solis. Tabulas un formas sasaiste

Saziņai mēs izmantojam funkciju VPR(MEKLĒT) - vairāk par to varat lasīt šeit. Mūsu gadījumā, lai veidlapas šūnā F9 ievietotu maksājuma numuru ar atzīmi “x” no datu lapas, šūnā F9 jāievada šāda formula:

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

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

Tie. tulkojot kā “saprotams”, funkcijai datu lapas diapazonā A2: G16 jāatrod rindiņa, kas sākas ar rakstzīmi “x”, un jānorāda šīs rindas otrās ailes saturs, ti, maksājuma numurs.

Visas pārējās veidlapas šūnas tiek aizpildītas tādā pašā veidā – formulā mainās tikai kolonnas numurs.

Lai parādītu summu vārdos, es izmantoju funkciju Paša no PLEX papildinājuma.

Rezultātam jābūt šādam:

Veidlapu aizpildīšana ar datiem no tabulas

4. solis. Lai nebūtu divu “x”…

Ja lietotājs ievada “x” vairākās rindās, funkcija VLOOKUP izmantos tikai pirmo atrasto vērtību. Lai izvairītos no šādas neskaidrības, ar peles labo pogu noklikšķiniet uz lapas cilnes Datums un tad Avota teksts (Avota kods). Parādītajā Visual Basic redaktora logā kopējiet šādu kodu:

Private Sub Worksheet_Change(ByVal Target As Range) Dim r Tik Long Dim str As String Ja Target.Count > 1 then Exit Sub Ja Target.Column = 1 Tad str = Target.Value Application.EnableEvents = False r = Cells(Rows.Count , 2).Beigas(xlUp).Rindu diapazons("A2:A" & r).ClearContents Target.Value = str Beigas, ja Application.EnableEvents = True End Sub  

Šis makro neļauj lietotājam pirmajā kolonnā ievadīt vairāk nekā vienu “x”.

Nu tas arī viss! Izbaudi!

  • Funkcijas VLOOKUP izmantošana vērtību aizstāšanai
  • Uzlabota funkcijas VLOOKUP versija
  • Skaits vārdos (Propis funkcija) no PLEX papildinājuma

 

Atstāj atbildi