Попуњавање формулара подацима из табеле

Формулисање проблема

Имамо базу података (листу, табелу – зовите је како желите) са информацијама о уплатама на листу Датум:

Задатак: брзо одштампати готовински рачун (уплата, фактура…) за било који жељени унос изабран са ове листе. Иди!

Корак 1. Креирајте образац

На другом листу књиге (назовимо овај лист Форма) креирајте празан образац. Можете то учинити сами, можете користити готове обрасце, преузете, на пример, са веб локација часописа главног рачуновође или Мицрософт веб локације. Имам нешто овако:

Попуњавање формулара подацима из табеле

У празним ћелијама (Рачун, износ, примљено од итд.) добиће податке из табеле плаћања са другог листа – мало касније ћемо се тиме позабавити.

Корак 2: Припрема табеле плаћања

Пре него што узмемо податке из табеле за наш образац, табелу је потребно мало модернизовати. Наиме, убаците празну колону лево од табеле. Користићемо да унесемо ознаку (нека то буде енглеско слово „к“) насупрот линије са које желимо да додамо податке у образац:

Корак 3. Повезивање табеле и форме

За комуникацију користимо функцију ВПР(ВЛООКУП) – више о томе можете прочитати овде. У нашем случају, да бисте у ћелију Ф9 на обрасцу унели број уплате означен са „к“ из листа са подацима, морате у ћелију Ф9 унети следећу формулу:

=ВЛООКУП(“к”, Подаци!А2:Г16)

=ВЛООКУП(“к”;Подаци!Б2:Г16;2;0)

Оне. преведено на „разумљиво“, функција треба да пронађе у опсегу А2: Г16 на листу са подацима ред који почиње знаком „к“ и да нам да садржај друге колоне овог реда, односно број плаћања.

Све остале ћелије на обрасцу се попуњавају на исти начин – мења се само број колоне у формули.

Да бих приказао износ речима, користио сам функцију Властити из ПЛЕКС додатка.

Резултат би требао бити следећи:

Попуњавање формулара подацима из табеле

Корак 4. Тако да не постоје два "к" ...

Ако корисник унесе „к” у више редова, функција ВЛООКУП ће узети само прву вредност коју пронађе. Да бисте избегли такву двосмисленост, кликните десним тастером миша на картицу листа Датум и онда Изворни текст (Изворни код). У прозору уређивача Висуал Басиц-а који се појави, копирајте следећи код:

Приватни под Радни лист_Цханге(БиВал Таргет Ас Ранге) Дим р Ас Лонг Дим стр Ас Стринг Иф Таргет.Цоунт > 1 Затим изађите из Суб Иф Таргет.Цолумн = 1 Затим стр = Таргет.Валуе Апплицатион.ЕнаблеЕвентс = Фалсе р = Целлс(Ровс.Цоунт , 2).Енд(клУп).Ров Ранге("А2:А" & р).ЦлеарЦонтентс Таргет.Валуе = стр Енд Иф Апплицатион.ЕнаблеЕвентс = Труе Енд Суб  

Овај макро спречава корисника да унесе више од једног „к“ у прву колону.

Па, то је све! Уживати!

  • Коришћење функције ВЛООКУП за замену вредности
  • Побољшана верзија функције ВЛООКУП
  • Износ у речима (Пропис функција) из ПЛЕКС додатка

 

Ostavite komentar