Kujaza fomu na data kutoka kwa jedwali

Uundaji wa shida

Tuna hifadhidata (orodha, jedwali - iite unachotaka) na habari juu ya malipo kwenye karatasi Data:

Kazi: chapisha haraka risiti ya pesa (malipo, ankara ...) kwa ingizo lolote unalotaka lililochaguliwa kutoka kwenye orodha hii. Nenda!

Hatua ya 1. Unda Fomu

Kwenye karatasi nyingine ya kitabu (wacha tuite karatasi hii Fomu) tengeneza fomu tupu. Unaweza kufanya hivyo mwenyewe, unaweza kutumia fomu zilizopangwa tayari, zilizochukuliwa, kwa mfano, kutoka kwenye tovuti za gazeti la Mhasibu Mkuu au tovuti ya Microsoft. Nilipata kitu kama hiki:

Kujaza fomu na data kutoka kwa jedwali

Katika seli tupu (Akaunti, Kiasi, Imepokelewa kutoka nk) itapata data kutoka kwa meza ya malipo kutoka kwa karatasi nyingine - baadaye kidogo tutashughulika na hili.

Hatua ya 2: Kuandaa jedwali la malipo

Kabla ya kuchukua data kutoka kwa meza kwa fomu yetu, meza inahitaji kuwa ya kisasa kidogo. Yaani, ingiza safu tupu upande wa kushoto wa jedwali. Tutatumia kuweka lebo (iwe herufi ya Kiingereza "x") kinyume na mstari ambao tunataka kuongeza data kwenye fomu:

Hatua ya 3. Kuunganisha meza na fomu

Kwa mawasiliano, tunatumia kazi VPR(VLOOKUP) - unaweza kusoma zaidi juu yake hapa. Kwa upande wetu, ili kuingiza nambari ya malipo iliyowekwa alama "x" kutoka kwa Laha ya Data hadi kisanduku F9 kwenye fomu, lazima uweke fomula ifuatayo katika seli F9:

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

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

Wale. ikitafsiriwa kwa "inayoeleweka", chaguo la kukokotoa linapaswa kupata katika safu A2: G16 kwenye Laha ya Data mstari unaoanza na herufi "x" na utupe yaliyomo kwenye safu wima ya pili ya laini hii, yaani, nambari ya malipo.

Seli zingine zote kwenye fomu zinajazwa kwa njia ile ile - nambari ya safu tu inabadilika katika fomula.

Ili kuonyesha kiasi kwa maneno, nilitumia chaguo la kukokotoa Mwenyewe kutoka kwa programu jalizi ya PLEX.

Matokeo yake yanapaswa kuwa yafuatayo:

Kujaza fomu na data kutoka kwa jedwali

Hatua ya 4. Ili hakuna "x" mbili ...

Mtumiaji akiweka "x" dhidi ya mistari mingi, chaguo la kukokotoa la VLOOKUP litachukua tu thamani ya kwanza itakayopata. Ili kuzuia utata kama huo, bonyeza-kulia kwenye kichupo cha laha Data na kisha Maandishi ya chanzo (Msimbo wa Chanzo). Katika dirisha la mhariri wa Visual Basic linaloonekana, nakili nambari ifuatayo:

Laha-Kazi ya Kibinafsi_Change(ByVal Target Kama Masafa) Dim r As Long Dim str Kama Mfuatano Ikiwa Target.Hesabu > 1 Kisha Toka Ndogo Ikiwa Target.Safuwima = 1 Kisha str = Target.Value Application.EnableEvents = False r = Cells(Rows.Count , 2).Mwisho(xlUp).Safu ya Mstari("A2:A" & r).ClearContents Target.Value = str End If Application.EnableEvents = True End Sub  

Macro hii huzuia mtumiaji kuingiza zaidi ya "x" moja kwenye safu wima ya kwanza.

Naam, hiyo ndiyo yote! Furahia!

  • Kwa kutumia chaguo za kukokotoa za VLOOKUP ili kubadilisha thamani
  • Toleo lililoboreshwa la chaguo la kukokotoa la VLOOKUP
  • Kiasi katika maneno (kazi ya Propis) kutoka kwa programu-jalizi ya PLEX

 

Acha Reply