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

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

Имаме база на податоци (список, табела - наречете ја како сакате) со информации за плаќањата на лист податоци:

Задача: брзо испечатете потврда за готовина (плаќање, фактура…) за кој било посакуван запис избран од оваа листа. Оди!

Чекор 1. Направете формулар

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

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

во празни ќелии (Сметка, износ, примен од итн.) ќе добие податоци од табелата за плаќање од друг лист – малку подоцна ќе се занимаваме со ова.

Чекор 2: Подготовка на табелата за плаќање

Пред да земеме податоци од табелата за нашата форма, табелата треба малку да се модернизира. Имено, вметнете празна колона лево од табелата. Ќе користиме за да внесеме ознака (нека е англиската буква „x“) спроти линијата од која сакаме да додадеме податоци во формуларот:

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

За комуникација, ја користиме функцијата VPR(VLOOKUP) – можете да прочитате повеќе за тоа овде. Во нашиот случај, за да го вметнете бројот на уплатата означена со „x“ од листот со податоци во ќелијата F9 на формуларот, мора да ја внесете следнава формула во ќелијата F9:

=VLOOKUP(„x“,Податоци!A2:G16)

=VLOOKUP(„x“;Податоци!B2:G16;2;0)

Оние. преведена во „разбирливо“, функцијата треба да најде во опсегот A2: G16 на листот со податоци линија која започнува со знакот „x“ и да ни ја даде содржината на втората колона од оваа линија, односно бројот на плаќање.

Сите други ќелии на формуларот се пополнуваат на ист начин - само бројот на колоната се менува во формулата.

За да ја прикажам сумата со зборови, ја користев функцијата Сопствена од додатокот PLEX.

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

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

Чекор 4. За да нема два „х“…

Ако корисникот внесе „x“ во однос на повеќе линии, функцијата VLOOKUP ќе ја земе само првата вредност што ќе ја најде. За да избегнете таква двосмисленост, кликнете со десното копче на јазичето на листот податоци и потоа Изворниот текст (Изворен код). Во прозорецот за уредувач на Visual Basic што се појавува, копирајте го следниов код:

Приватен под Worksheet_Change(ByVal Target As Range) Dim r Колку долго затемнет str како низа If Target.Count > 1 Потоа излезете од Sub If Target.Column = 1 Потоа str = Target.Value Application.EnableEvents = False r = Cells(Rows.Count , 2).End(xlUp).Опсег на редови ("A2:A" & r).ClearContents Target.Value = str Крај ако апликацијата.EnableEvents = True End Sub  

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

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

  • Користење на функцијата VLOOKUP за замена на вредности
  • Подобрена верзија на функцијата VLOOKUP
  • Износ со зборови (функција Propis) од додатокот PLEX

 

Оставете Одговор