Потребителски формуляри на Excel - Съвети за Excel

Съдържание
Excel 97 представи нови потребителски формуляри. На английски ме научете как да създавам и използвам списъчно поле.

MrExcel наскоро завърши персонализирано приложение за един от нашите читатели. В това приложение на Excel потребителят ще въведе 150 точки от данни за конкретен номер на част на листа.

1. При щракване на бутон този номер на част и свързаните с нея стойности на данни се записват в база данни на Sheet2. Това беше добре, но тогава се нуждаехме от начин потребителят да извика запис от лист 2, за да може да прегледа записите. Исках да позволя на потребителя да отвори формуляр с падащо поле, показващо всички елементи на листа

2. Потребителят може да превърта, да избере елемент и след това бих изтеглил тези стойности от лист 2 до лист 1.

Както много от вас, и аз започнах да пиша макроси на Excel в Excel 5.0. Целият този Macro Editor в Excel 97 е малко плашещ. За съвет от тази седмица ще ви покажа, стъпка по стъпка, как да създадете списъчното поле за този проект. Тази седмица фокусът е само върху комбинираното поле. Целевата аудитория е човек, който познава основите на макросите на Excel, но който никога не е използвал формуляр за взаимодействие с макрос.

Първа стъпка: Промених съществуващите макроси, така че когато те добавят запис към sheet2, макросът ще назове диапазона, съдържащ номерата на частите, за да бъде наречен "PartList". Има заглавие в клетка А1, с първия елемент в клетка А2. Използвах командата End, за да намеря последния ред:

LastRow = Range("A6000").End(xlUp).Row ActiveWorkbook.Names.Add Name:="PartList", RefersTo:="=Sheet2!$A$2:$A$" & LastRow

Втора стъпка: Оформление на формата на списъчното поле. Следвай тези стъпки:

  • Стартирайте редактора на Visual Basic, като натиснете alt-F11
  • От менюто изберете Вмъкване> Потребителски формуляр. Редакторът трябва да ви даде празен UserForm1.
  • Ако не виждате полето Properties-UserForm1 в долния ляв ъгъл, натиснете иконата "Прозорец за свойства" - изглежда като ръка с пръст, сочещ към бял лист.
  • Четвъртият запис в прозореца за свойства е Caption. В момента надписът ще бъде UserForm1. Щракнете върху квадратчето вдясно от Caption в прозореца Properties и въведете ново заглавие за формуляра. Нарекох моята „Изберете номер на част за преглед“. Оставих всички останали свойства за формуляра в състоянието им по подразбиране.
    Създаване на списъчно поле с помощта на Userform
  • Щракнете отново навсякъде в потребителската форма и ще се появи контролната кутия с инструменти.
  • В кутията с инструменти Controls изберете буквата A. Щракнете и плъзнете, за да създадете поле за етикет в горната част на формуляра. По подразбиране има надпис Label1. Щракнете отново вътре в текстовото поле и можете да редактирате надписа. Поставете инструкции на потребителя тук: „Изберете елемент от списъка по-долу и щракнете върху OK, за да прегледате стойностите“.
  • Кликнете върху формуляра, но извън полето за етикети и отново ще видите контролната кутия с инструменти. Четвъртият елемент в горния ред е комбиниран инструмент. Щракнете върху това и плъзнете в потребителската форма, за да създадете комбинирано поле. Тук ще се появи списъкът с номера на части. Името по подразбиране е ComboBox1.
    Свойства на Combobox
  • Прозорецът със свойствата сега ще ви показва свойствата за ComboBox1. Превъртете надолу през свойствата, докато не видите свойството RowSource. За свойството RowSource въведете = Sheet2! PartList
  • Вече можете да изпълните бърз тест, за да се уверите, че нещата работят правилно. Щракнете върху заглавната лента на вашия потребителски формуляр, за да изберете целия формуляр. Сега щракнете върху иконата "пусни" (изглежда като бутон за възпроизвеждане на вашия видеорекордер). Ще бъдете върнати във вашата работна книга на Excel и ще получите нашата проста потребителска форма. Ако щракнете върху падащото меню за номер на част, трябва да видите списък с валидни номера на части. Изберете един и той ще остане в комбинираното поле. Засега не твърде вълнуващо. Щракнете върху малкото X в горния десен ъгъл, за да отхвърлите полето.
  • Върнете се в редактора на Visual Basic. Щракнете върху потребителската форма, за да се покаже Control Toolbox. Щракнете върху инструмента CommandButton и нарисувайте бутон. Променете надписа на OK, като използвате прозореца Properties - CommandButton1.
  • Начертайте втори бутон и го маркирайте Отказ.
  • Почти сме готови. Нека обвържем малко код с бутона Отказ. Щракнете с десния бутон върху бутона Отказ и изберете „Преглед на кода“. Редакторът ще настрои вашите Sub и End Sub оператори. Между тях въведете един ред код:
    UserForm1.Hide
  • Да, това е всичко за присвояване на код на бутон. За да се върнете към потребителската форма, щракнете двукратно върху думите UserForm1 в прозореца на проекта. (Не можете да видите прозореца на проекта? Натиснете иконата на Project Explorer, точно вляво от иконата Properties.)
  • За да завършим потребителска форма1, нека направим нещо с бутона OK. Когато потребителят щракне върху OK, искам стойността от списъчното поле да се появи в клетка лист1 A2 и след това искам да започна макрос, който преди това бях написал, наречен ReviewItem. Щракнете с десния бутон върху бутона OK и изберете Преглед на кода. Въведете този код за Private Sub CommandButton1_Click ():
    Worksheets("Sheet1").Range("A2") = UserForm1.ComboBox1.Value UserForm1.Hide ReviewItem

Честито! Попълнихте първия си потребителски формуляр. За да се появи формата, изпълнете макрос, който има този ред:

UserForm1.Show

Формулярът ще изглежда по следния начин:

Завършен потребителски формуляр

Интересни статии...