Pagpuno sa mga form gamit ang data mula sa talahanayan

Pagbubuo ng problema

Mayroon kaming database (listahan, talahanayan – tawagan ito kung ano ang gusto mo) na may impormasyon sa mga pagbabayad sa isang sheet data:

Gawain: mabilis na mag-print ng isang resibo ng pera (bayad, invoice ...) para sa anumang gustong entry na napili mula sa listahang ito. Go!

Hakbang 1. Gumawa ng Form

Sa isa pang sheet ng aklat (tawagin natin ang sheet na ito Anyo) lumikha ng isang walang laman na form. Magagawa mo ito sa iyong sarili, maaari mong gamitin ang mga yari na form, na kinuha, halimbawa, mula sa mga website ng magazine ng Chief Accountant o sa website ng Microsoft. Mayroon akong ganito:

Pagpuno sa mga form gamit ang data mula sa talahanayan

Sa mga walang laman na cell (Account, Halaga, Natanggap mula sa atbp.) ay makakakuha ng data mula sa talahanayan ng pagbabayad mula sa isa pang sheet – ilang sandali ay haharapin natin ito.

Hakbang 2: Paghahanda ng talahanayan ng pagbabayad

Bago kumuha ng data mula sa talahanayan para sa aming form, ang talahanayan ay kailangang bahagyang ma-moderno. Ibig sabihin, magpasok ng isang walang laman na column sa kaliwa ng talahanayan. Gagamitin namin para maglagay ng label (hayaan itong English na letrang “x”) sa tapat ng linya kung saan gusto naming magdagdag ng data sa form:

Hakbang 3. Pag-uugnay sa talahanayan at form

Para sa komunikasyon, ginagamit namin ang function VPR(VLOOKUP) – maaari mong basahin ang higit pa tungkol dito. Sa aming kaso, upang maipasok ang numero ng pagbabayad na may markang "x" mula sa Data sheet sa cell F9 sa form, dapat mong ipasok ang sumusunod na formula sa cell F9:

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

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

Yung. isinalin sa "naiintindihan", ang function ay dapat makahanap sa hanay na A2: G16 sa Data sheet ng isang linya na nagsisimula sa character na "x" at ibigay sa amin ang mga nilalaman ng pangalawang column ng linyang ito, ibig sabihin, numero ng pagbabayad.

Ang lahat ng iba pang mga cell sa form ay pinupunan sa parehong paraan - tanging ang numero ng column ang nagbabago sa formula.

Upang ipakita ang halaga sa mga salita, ginamit ko ang function Sarili mula sa PLEX add-on.

Ang resulta ay dapat na ang mga sumusunod:

Pagpuno sa mga form gamit ang data mula sa talahanayan

Hakbang 4. Upang walang dalawang "x" ...

Kung ang user ay naglagay ng "x" laban sa maraming linya, ang VLOOKUP function ay kukuha lamang ng unang halaga na mahahanap nito. Upang maiwasan ang ganitong kalabuan, mag-right click sa tab na sheet data at pagkatapos ay Pinagmulan ng teksto (Source Code). Sa lalabas na window ng Visual Basic editor, kopyahin ang sumusunod na code:

Pribadong Sub Worksheet_Change(ByVal Target Bilang Saklaw) Dim r Bilang Long Dim str Bilang String Kung 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  

Pinipigilan ng macro na ito ang user na magpasok ng higit sa isang "x" sa unang column.

Well, yun lang! Enjoy!

  • Gamit ang VLOOKUP function para palitan ang mga value
  • Isang pinahusay na bersyon ng VLOOKUP function
  • Halaga sa mga salita (Propis function) mula sa PLEX add-on

 

Mag-iwan ng Sagot