Da biste lakše unijeli podatke u tablicu u Excelu, možete koristiti posebne obrasce koji će vam pomoći u ubrzavanju procesa popunjavanja raspona tablice s podacima. U programu Excel postoji ugrađeni alat koji vam omogućuje popunjavanje slične metode. Korisnik također može izraditi vlastitu varijantu obrasca koji će maksimalno prilagoditi svojim potrebama i primijeniti makronu za to. Pogledajmo različite primjene ovih korisnih alata za popunjavanje u Excelu.
sadržaj
Oblik punjenja je objekt s poljima, čija imena odgovaraju nazivu stupaca stupaca tablice koje treba popuniti. U tim poljima morate unijeti podatke i oni će se odmah dodati u raspon tablice novom linijom. Oblik može djelovati kao zaseban ugrađeni alat za Excel i može se postaviti izravno na listu kao njezin raspon, ako ga je stvorio korisnik.
Pogledajmo sada kako koristiti ove dvije vrste alata.
Prije svega, doznajemo kako koristiti ugrađeni obrazac za unos podataka iz programa Excel.
U polju "Izaberi naredbe iz" postavite vrijednost "Naredbe koje nisu na vrpci" . Dalje od popisa naredbi, koji se nalaze abecednim redom, nalazimo i odaberemo poziciju "Obrazac ..." . Zatim kliknite gumb "Dodaj" .
Osim toga, pomoću makronaredbe i brojnih drugih alata moguće je izraditi vlastiti prilagođeni obrazac za popunjavanje prostora tablice. Izravan je izravno na listu, a predstavlja njegov raspon. Pomoću ovog alata, korisnik sam će moći ostvariti one mogućnosti koje smatra nužnima. Na funkcionalnoj razini praktički neće biti niži od ugrađenog analognog programa Excel, au nekim slučajevima može ga premašiti. Jedini nedostatak je da za svaki stolni niz morate stvoriti zaseban obrazac, a ne koristiti isti predložak, kao što je to moguće s standardnom verzijom.
Postoji još jedna opcija za isključivanje filtra. U tom slučaju ne morate ići na drugu karticu, preostale na kartici "Početna" . Nakon što odaberete ćeliju tabličnog područja na vrpci u bloku postavki "Uredi", kliknite na ikonu "Sortiraj i filtriraj" . Na popisu koji se prikazuje, odaberite stavku "Filter" .
Drugi stupac objekta unosa podataka ostaje prazan za sada. Odmah će se unijeti vrijednosti za popunjavanje linija glavnog raspona tablice.
U polju "Naziv" možete zamijeniti naziv i prikladnijim. Ali to nije nužno. Dopušteno je upotrebljavati prostore, ćirilice i druge znakove. Za razliku od prethodnog parametra, koji određuje naziv lista za program, ovaj parametar dodjeljuje ime lista vidljivim korisniku na traci prečaca.
Kao što vidite, nakon toga će se naziv ploče 1 automatski promijeniti u području "Projekta" , koji smo upravo postavili u postavkama.
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
Ali taj kod nije univerzalan, tj. U nepromijenjenom je obliku pogodan samo za naš slučaj. Ako ga želite prilagoditi vašim potrebama, treba ih mijenjati u skladu s tim. Da biste to sami mogli napraviti, analizirajmo što se ovaj kôd sastoji, što treba zamijeniti i što nećemo mijenjati.
Dakle, prva linija:
Sub DataEntryForm()
"DataEntryForm" je naziv same makronaredbe. Možete ga ostaviti kao što je, ili ga možete zamijeniti s bilo kojim drugim, što odgovara općim pravilima za izradu makronaredbi (bez razmaka, samo slova latinske abecede, itd.). Promjena imena neće utjecati na ništa.
Gdje god se u kodu pojavi "Producty", morate ga zamijeniti nazivom koji ste prethodno dodijelili za svoj list u polju "(Ime)" područja "Svojstva" makronaredbe za makronaredbu. Naravno, to bi trebalo biti učinjeno samo ako ste drugo nazvali list.
Sada razmotrite ovu liniju:
nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
Slika "2" u ovom retku znači drugi stupac lista. U ovom se stupcu nalazi stupac pod nazivom "Naziv proizvoda" . Na njemu ćemo razmotriti broj redaka. Stoga, ako u vašem slučaju sličan stupac ima drugačiji red na računu, morate unijeti odgovarajući broj. Vrijednost "End (xlUp) .Offset (1, 0). Red" u svakom slučaju, ostavite nepromijenjene.
Zatim uzmite u obzir redak
If .Range("A2").Value = "" And .Range("B2").Value = "" Then
"A2" su koordinate prve ćelije, u kojima će se prikazati brojčano označavanje brojeva. "B2" su koordinate prve ćelije, koje će se koristiti za izradu podataka ( "Naziv robe" ). Ako su različiti, unesite svoje podatke umjesto ovih koordinata.
Prolazimo do linije
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» ) означает наименование того диапазона, который мы ранее присвоили полям для ввода данных. Если вы дали им другое наименование, то в этой строке должно быть вставлено именно оно.
Дальнейшая часть кода универсальна и во всех случаях будет вноситься без изменений.
После того, как вы записали код макроса в окно редактора, следует нажать на значок сохранения в виде дискеты в левой части окна. Затем можно его закрывать, щелкнув по стандартной кнопке закрытия окон в правом верхнем углу.
В нашем случае, например, логично будет дать ей имя «Добавить» . Переименовываем и кликаем мышкой по любой свободной ячейке листа.
Pročitajte također:
Как создать макрос в Excel
Как создать кнопку в Excel
В Экселе существует два способа применения формы заполнения данными: встроенная и пользовательская. Применение встроенного варианта требует минимум усилий от пользователя. Его всегда можно запустить, добавив соответствующий значок на панель быстрого доступа. Пользовательскую форму нужно создавать самому, но если вы хорошо разбираетесь в коде VBA, то сможете сделать этот инструмент максимально гибким и подходящим под ваши нужды.