Za olajšanje vnosa podatkov v tabelo v Excelu lahko uporabite posebne obrazce, ki bodo pospešili postopek zapolnjevanja tabele z informacijami. V Excelu je vgrajeno orodje, ki vam omogoča, da izpolnite podoben način. Prav tako lahko uporabnik oblikuje svojo lastno različico obrazca, ki bo maksimalno prilagojen njegovim potrebam, pri tem pa uporabi makro za to. Oglejmo si različne uporabe teh uporabnih orodij za polnjenje v Excelu.
Vsebina
Oblika polnila je predmet s polji, katerih imena ustrezajo imenom stolpcev stolpcev tabele, ki se izpolni. Na teh poljih morate vnesti podatke in jih takoj dodati v obseg tabele z novo vrstico. Obrazec lahko deluje kot ločeno vgrajeno orodje Excel in ga lahko postavite neposredno na listu kot njegov obseg, če ga ustvari uporabnik.
Zdaj pa poglejmo, kako uporabljati ti dve vrsti orodij.
Najprej preberite, kako uporabiti vgrajeno obliko za vnos podatkov Excel.
V polju »Izberi ukaze od« nastavite vrednost »ukazi niso na traku« . Nadalje s seznama ukazov, ki se nahajajo po abecednem vrstnem redu, najdemo in izberemo položaj »Obrazec ...« . Nato kliknite na gumb »Dodaj« .
Poleg tega lahko z makrom in številnimi drugimi orodji ustvarite svoj obrazec po meri, da zapolnite prostor tabel. Ustvaril se bo neposredno na listu in predstavljal njegov razpon. S pomočjo tega orodja bo sam uporabnik sposoben uresničiti tiste možnosti, za katere meni, da so potrebni. Na funkcionalni ravni praktično ne bo nižja od vgrajenega analoga Excela, v nekaterih primerih pa jo lahko preseže. Edina pomanjkljivost je, da morate za vsako tabelo v tabeli ustvariti ločen obrazec in ne uporabljati iste predloge, kot je to mogoče s standardno različico.
Obstaja še ena možnost, da izklopite filter. V tem primeru vam sploh ni treba iti na drugo kartico, ki ostane na zavihku »Domov «. Ko izberete celico območja tabele na traku v bloku nastavitev »Uredi«, kliknite ikono »Razvrsti in filtriraj« . Na seznamu, ki se prikaže, izberite element »Filter« .
Drugi stolpec predmeta za vnos podatkov je zaenkrat prazen. Takoj vanj se vnesejo vrednosti za zapolnitev vrstic glavne tabele.
V polju »Ime« lahko tudi nadomestite ime z bolj priročno. Toda to ni potrebno. Dovoljeno je uporabljati presledke, cirilice in druge znake. Za razliko od prejšnjega parametra, ki določa ime lista za program, ta parameter določi ime seznama, ki je uporabniku viden v vrstici bližnjic.
Kot lahko vidite, se bo po tem datumu ime lista 1 samodejno spremenilo v območju »Projekt« , ki smo ga nastavili v nastavitvah.
Sub DataEntryForm()
Dim nextRow As Long
nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
With Producty
If .Range("A2").Value = "" And .Range("B2").Value = "" Then
nextRow = nextRow - 1
End If
Producty.Range("Name").Copy
.Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues
.Cells(nextRow, 3).Value = Producty.Range("Volum").Value
.Cells(nextRow, 4).Value = Producty.Range("Price").Value
.Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Price").Value
.Range("A2").Formula = "=IF(ISBLANK(B2), """", COUNTA($B$2:B2))"
If nextRow > 2 Then
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A" & nextRow)
Range("A2:A" & nextRow).Select
End If
.Range("Diapason").ClearContents
End With
End Sub
Toda ta koda ni univerzalna, torej je v nespremenjeni obliki primerna samo za naš primer. Če ga želite prilagoditi svojim potrebam, ga je treba ustrezno spremeniti. Da bi to lahko naredili sami, analiziramo, kaj sestavlja ta koda, kaj je treba zamenjati in kaj se ne sme spremeniti.
Torej, prva vrstica:
Sub DataEntryForm()
"DataEntryForm" je ime samega makra. Lahko ga pustite kot je, ali pa ga lahko nadomestite s katerim koli drugim, ki ustreza splošnim pravilom za ustvarjanje makro imen (brez presledkov, samo črke latinske abecede itd.). Spreminjanje imena ne bo vplivalo na nič.
Kadar se v kodi prikaže beseda "Producty", jo morate zamenjati z imenom, ki ste ga prej dodelili za svoj list v polju "(Ime)" na področju "Lastnosti" makro urejevalnika. Seveda, to je treba storiti le, če ste list navedli na drugačen način.
Zdaj upoštevajte to vrstico:
nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
Številka »2« v tej vrstici pomeni drugi stolpec lista. V tem stolpcu je stolpec »Ime izdelka« . Na njem bomo upoštevali število vrstic. Zato, če ima v vašem primeru podoben stolpec drugačno vrstico v računu, morate vnesti ustrezno številko. Vrednost "Konec (xlUp) .Offset (1, 0) .Rov" v vsakem primeru ostane nespremenjena.
Nato upoštevajte vrstico
If .Range("A2").Value = "" And .Range("B2").Value = "" Then
"A2" so koordinate prve celice, v kateri se prikaže številka oštevilčenja. "B2" je koordinata prve celice, ki se bo uporabljala za prikaz podatkov ( "Ime blaga" ). Če so drugačni, potem vnesite podatke namesto teh koordinat.
Prehodimo na črto
Producty.Range("Name").Copy
В ней параметр «Name» означат имя, которое мы присвоили полю «Наименование товара» в форме ввода.
В строках
.Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues
.Cells(nextRow, 3).Value = Producty.Range("Volum").Value
.Cells(nextRow, 4).Value = Producty.Range("Price").Value
.Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Price").Value
наименования «Volum» и «Price» означают названия, которые мы присвоили полям «Количество» и «Цена» в той же форме ввода.
В этих же строках, которые мы указали выше, цифры «2» , «3» , «4» , «5» означают номера столбцов на листе Excel, соответствующих колонкам «Наименование товара» , «Количество» , «Цена» и «Сумма» . Поэтому, если в вашем случае таблица сдвинута, то нужно указать соответствующие номера столбцов. Если столбцов больше, то по аналогии нужно добавить её строки в код, если меньше – то убрать лишние.
В строке производится умножение количества товара на его цену:
.Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Price").Value
Результат, как видим из синтаксиса записи, будет выводиться в пятый столбец листа Excel.
В этом выражении выполняется автоматическая нумерация строк:
If nextRow > 2 Then
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A" & nextRow)
Range("A2:A" & nextRow).Select
End If
Все значения «A2» означают адрес первой ячейки, где будет производиться нумерация, а координаты « A» — адрес всего столбца с нумерацией. Проверьте, где именно будет выводиться нумерация в вашей таблице и измените данные координаты в коде, если это необходимо.
В строке производится очистка диапазона формы ввода данных после того, как информация из неё была перенесена в таблицу:
.Range("Diapason").ClearContents
Не трудно догадаться, что ( «Diapason» ) означает наименование того диапазона, который мы ранее присвоили полям для ввода данных. Если вы дали им другое наименование, то в этой строке должно быть вставлено именно оно.
Дальнейшая часть кода универсальна и во всех случаях будет вноситься без изменений.
После того, как вы записали код макроса в окно редактора, следует нажать на значок сохранения в виде дискеты в левой части окна. Затем можно его закрывать, щелкнув по стандартной кнопке закрытия окон в правом верхнем углу.
В нашем случае, например, логично будет дать ей имя «Добавить» . Переименовываем и кликаем мышкой по любой свободной ячейке листа.
Preberite tudi:
Как создать макрос в Excel
Как создать кнопку в Excel
В Экселе существует два способа применения формы заполнения данными: встроенная и пользовательская. Применение встроенного варианта требует минимум усилий от пользователя. Его всегда можно запустить, добавив соответствующий значок на панель быстрого доступа. Пользовательскую форму нужно создавать самому, но если вы хорошо разбираетесь в коде VBA, то сможете сделать этот инструмент максимально гибким и подходящим под ваши нужды.