Як змінити UserForms, у програмі Excel за допомогою Visual Basic для застосунків (VBA)

Підтримку Office 2003 припинено

8 квітня 2014 р. корпорація Майкрософт припинила підтримку Office 2003. Це позначилося на оновленнях програмного забезпечення та параметрах безпеки. Дізнайтеся, що це означає для вас і яких заходів безпеки необхідно вжити.

ВАЖЛИВО! Ця стаття перекладена засобами машинного перекладу Microsoft. Статтю можна редагувати в середовищі Community Translation Framework (CTF). Щоб якомога швидше перекласти всі статті у своїй базі знань різними мовами, компанія Microsoft не лише звертається до професійних перекладачів, але й вдається до машинного перекладу, який потім редагується спільнотою. Такі статті можуть містити лексичні, синтаксичні та граматичні помилки. Microsoft не несе відповідальності за будь-які неточності, помилки або збитки, до яких може призвести неправильний переклад статей або їх використання. Докладніше про CTF див. на веб-сторінці http://support.microsoft.com/gp/machine-translation-corrections/uk-ua.

Клацніть тут, щоб переглянути цю статтю англійською мовою: 829070
Підсумки
У цій статті описано зміни UserForms на програмному рівні у програмі Microsoft Excel. Він містить приклади і Microsoft Visual Basic для застосунків (VBA), макроси, які показують, як скористатися перевагою можливості UserForms та сценарій виконання елементів керування ActiveX ™, доступних для UserForms.

Вступ до основних принципів UserForms у цій статті описано спосіб відображення UserForms, як тимчасово приховати, UserForms та як звільнити UserForms. Також відображаються сценарій виконання найбільш поширені події, пов'язані з UserForms-на сценарій виконання подія, на Натисніть кнопку подія і Завершити подія. Один або кілька з наведених нижче прикладах демонструється, те, як використовувати один із таких елементів керування ActiveX ™ у форму:
  • позначка елемент керування
  • текстове поле елемент керування
  • CommandButton елемент керування
  • Список елемент керування
  • область коректування елемент керування
  • Кадру елемент керування
  • OptionButton елемент керування
  • прапорець елемент керування
  • Елемент елемент керування
  • Вкладок елемент керування
  • Кількох елемент керування
  • Смуга прокручування елемент керування
  • SpinButton елемент керування
  • RefEdit елемент керування
  • Зображення елемент керування
ВСТУП
У цій статті описується процес внесення змін UserForms, у програмі Excel за допомогою VBA.
Додаткові відомості
корпорація Майкрософт надає приклади програмного коду тільки для ілюстрації, без гарантій – прямих або інших. Це включає, але не обмежується, будь-яких гарантій придатності до продажу та придатності для певної мети. У цій статті припускається, що ви знайомі з, що демонструє мову програмування та інструменти, які використовуються для створення та налагодження процедури. Співробітники представник служби підтримки клієнтів корпорації Майкрософт можуть пояснити функціональні особливості кожної конкретної процедури, але вони не будуть змінювати приклади для реалізації додаткових можливостей або створювати процедури на вимогу окремих користувачів.

Форму основи

Як відображати у форму.

Синтаксис, який використовується для відображення у форму, програмним способом наведеним нижче чином.
UserFormName. Показати
Щоб відобразити форму, яка називається UserForm1, використовуйте такий код:
UserForm1.Show
Без власне відображення, її можна завантажити у форму до пам'яті. Може знадобитися на складні форму кілька секунд, щоб відображатися. Через те, що ви можете попередньо завантажити у форму в пам'яті, можна вибрати, коли зазнавати цього витрати. Завантажити UserForm1 до пам'яті, без відображення, використовуйте такий код:
Load UserForm1
Щоб відобразити у форму, використовується раніше показано спосібвідображення .

Як тимчасово приховати, у форму.

Якщо ви бажаєте тимчасово приховати у форму, скористайтеся способомПриховати . Потрібно приховати форму, якщо застосунок перехід між UserForms. Щоб приховати у форму, використовуйте такий код:
UserForm1.Hide
Щоб отримати додаткові відомості клацніть номер статті в базі знань Microsoft Knowledge Base:
213747 XL2000: Як між користувацьких UserForms із кнопок

Видалення у форму пам'яті

Щоб скасувати форму пам'яті, використовуйте,вивантаження твердження. Вивантажити форму, яка називається UserForm1, використовуйте такий код:
Unload UserForm1
Якщо у форму, в процедуру події, пов'язані з у форму або, пов'язана з елементом керування у форму вивантаження (наприклад, клацнути елемент керуванняCommandButton ), ви можете використовувати "Me" ключове слово замість імені у форму. скористатися перевагою "Me" ключове слово для вивантаження у форму, скористайтеся такий код:
Unload Me

сценарій виконання форму події

UserForms підтримки, багато попередньо події можна приєднати процедури VBA. У разі виникнення події запускається процедури, ви додається переддія. Один дій, що користувач виконує може встановлювати на кількох події. Серед найбільш часто використовуваних подій у форму: ініціалізації події, події, натисніть кнопку і припинити події.

Примітка. Модуль Visual Basic, яка містить процедуру події може бути передано як модуль "за" у форму. Модуль, який містить подій процедури немає в модулі колекції Microsoft Project Explorer вікна редактора Visual Basic. Текст у форму, щоб переглянути форму код модуля необхідно двічі клацнути.

Як трепінг форму події

Зловити форму події, виконайте такі дії:
  1. Створити нову книгу Excel.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. Двічі клацніть на форму , що для відображення theCode вікно для у форму.
  5. Модулі, введіть такий код:
    Private Sub UserForm_Click()    Me.Height = Int(Rnd * 500)    Me.Width = Int(Rnd * 750)End SubPrivate Sub UserForm_Initialize()    Me.Caption = "Events Events Events!"    Me.BackColor = RGB(10, 25, 100)End SubPrivate Sub UserForm_Resize()    msg = "Width: " & Me.Width & Chr(10) & "Height: " & Me.Height    MsgBox prompt:=msg, Title:="Resize Event"End SubPrivate Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)    msg = "Now Unloading " & Me.Caption    MsgBox prompt:=msg, Title:="QueryClose Event"End SubPrivate Sub UserForm_Terminate()    msg = "Now Unloading " & Me.Caption    MsgBox prompt:=msg, Title:="Terminate Event"End Sub
  6. У меню виконати команду " RunSub форму".
Під Вільний час першого завантажується у форму, макрос використовує ініціалізації події змінити властивість заголовків у форму "Події події події!" а також властивості темно-синій колір .

Якщо натиснути у форму, ви ініціювати події, натисніть кнопку . Клацніть події, змінює у форму. Через те, що створено процедура змінення розміру подію, ви отримаєте два скриньки після натискання кнопка у форму. Подія змінення розміру виникає двічі, тому, що код події, натисніть кнопку зміни, як властивості ширини й висоти з у форму .

Закриття у форму, ініціює QueryClose події. QueryClose події, відображає вікно протокол IMAP, що містить назву, що ви дали у форму коду для ініціалізації події. Можна використовувати QueryClose подій, щоб виконати набір дій, якщо користувач закривається, у форму.

Подія припинення генерує вікно протокол IMAP, в якому зазначено, що заголовок у форму UserForm1. Припинення випадку після того, як у форму, буде видалено з пам'яті, а також заголовок у форму, що повертається до початкового стану.

Запобігання у форму буде закрито, за допомогою закрити "

Під Вільний час запуску, у форму, кнопка " Закрыть " додається правому верхньому куті вікна форму. Якщо потрібно, щоб запобігти у форму буде закрито, за допомогою закрити ", має переривання, QueryClose події.

QueryClose випадку перед у форму буде вивантажено пам'яті. Використовуйте аргумент CloseModeQueryClose події, щоб визначити, як у форму буде закрито. VbFormControlMenu значення аргументу CloseMode вказує на те, що було натиснути закрити ". Щоб у форму активним, задати скасуватиQueryClose події значення True. Щоб запобігти буде закрито, за допомогою закрити "форму за допомогою QueryClose події, виконайте такі дії:
  1. Створити нову книгу Excel.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. запит на додавання елемента керування CommandButton у форму.
  5. Двічі клацніть на форму , що для відображення theCode вікно для у форму.
  6. У вікні код, введіть такий код:
    Private Sub CommandButton1_Click()    Unload MeEnd SubPrivate Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)    IF CloseMode = vbFormControlMenu Then        Cancel = True        Me.Caption = "Click the CommandButton to close Me!"    End IfEnd Sub
  7. У меню виконати команду " RunSub форму".
У форму не буде закрито, після натискання кнопка закрити ". Потрібно буде клацнути елемент керування CommandButton закрити у форму.

Щоб отримати додаткові відомості клацніть номер статті в базі знань Microsoft Knowledge Base:
207714 XL2000: Помилок виконання, використовуючи UserForms колекції
211527 XL2000: Не можна перетягувати форму керування на аркуші
211868 XL2000: Помилка, що під Вільний час запуску макросу, який вставляє елемент керування, у форму
213582 XL2000: Проблеми під Вільний час запит на додавання елемента керування форму за допомогою макросу
213583 XL2000: Не вдалося відобразити UserForms в інших проектах
213736 XL2000: Як визначити ключ натиснуто, разом із кнопкою миші
213744 XL2000: Як тимчасово приховати у форму.
213747 XL2000: Як між користувацьких UserForms із кнопок
213749 XL2000: Як використовувати у форму для введення даних
213768 XL2000: Як динамічне змінення розміру у формі користувача
213774 XL2000: Як створити завантажувальний екран форму

Код VBA

Microsoft Excel включає в себе 15 різних елементів керування, які можна використовувати на UserForms. У цьому розділі містяться на різні приклади, які використовують ці елементи керування, програмним способом.

Примітка. Код VBA, який міститься в цій статті, не містить приклади, які впливають на властивості і події для елементів керування. Якщо потрібно, щоб переглянути список властивостей, які доступні для елемента керування можна вікно властивостей. Щоб переглянути список властивостей, меню , натисніть кнопку " Властивості".

сценарій виконання режиму конструктора редагування елементів керування

Під Вільний час сценарій виконання редактора Visual Basic для розробки діалогове вікно, що використовується режим побудовника. У режимі конструктора можна змінити елементи керування, і ви можете змінити властивості елемента керування на форму, у вікні "Властивості". Щоб відобразити вікно "Властивості", в менюView ", натисніть кнопку" Властивості".

Примітка. Елементи керування не відповідають подіям перебуваючи в режимі конструктора. Під Вільний час запуску, діалогове вікно, щоб відобразити його, таким чином, щоб користувачі присутній, програма, що це запустити режим. Зміни, внесені до властивостей елемента керування запустити режим після вивантажено пам'яті у форму не зберігаються.

Примітка. Елементи керування реагувати у виконання режимі.

Як звернутися до елементів керування у форму.

Як ви звернутися до елементів керування програмним способом залежить від типу вікні модуля Visual Basic, де запуску коду. Якщо код працює з загальні модуль, синтаксис наведеним нижче чином.
UserFormName.Controlname.Property = Значення
Наприклад, якщо потрібнотекст властивості елемента керування текстового поля , з іменем TextBox1 у форму, з іменем UserForm1 значення Bobвикористовувати такий код:
UserForm1.TextBox1.Text = "Bob"
Якщо код в порядку, який ініціалізації події елемента керування, або у форму не потрібно звернутися до імені у форму. Замість цього, використовуйте такий код:
TextBox1.Text = "Bob"
Під Вільний час під'єднання код об'єкта код додається до однієї події цього об'єкта. У багатьох приклади в цій статті підключається кодклацніть події CommandButton об'єкта.

Мітки елементів керування

Мітки елементів керування в основному використовуються для опису інші елементи керування у форму. Елемент керування підписом не можна змінити користувача під Вільний час роботи у форму. сценарій виконання заголовків властивість, або повернення тексту в елементі керування підпис . Інші часто використовуються властивості, що для форматування елемент керування підписом файлу, властивість шрифтів а в ForeColor .

сценарій виконання з заява відформатувати елемент керування підписом

За допомогою твердження з змінити властивості елемент керування підписом , виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. запит на додавання елемента керування підпис у форму.
  5. запит на додавання елемента керування CommandButton у форму.
  6. Двічі клацніть пункт CommandButton керування-toopen вікно коду для у форму.
  7. У вікні код, введіть наведений нижче код події, Натисніть на CommandButton1 :
    Private Sub CommandButton1_Click()    With Label1        ' Set the text of the label.        .Caption = "This is Label Example 1"        ' Automatically size the label control.        .AutoSize = True        .WordWrap = False        ' Set the font used by the Label control.        .Font.Name = "Times New Roman"        .Font.Size = 14        .Font.Bold = True        ' Set the font color to blue.        .ForeColor = RGB(0, 0, 255)    End WithEnd Sub
  8. У меню виконати команду " RunSub форму".
  9. Клацніть на CommandButton.
Текст "це приклад Мітки, 1" відображається в жирний Times New Roman розміром шрифту 14, керування підпис .

текстове поле, елементи керування

текстове поле , елементи керування, які часто використовуються для збору участі користувача. Властивість текст , містить запис А, що у текстовому полі .

Як використовувати текстове поле для перевірки пароля

Якщо властивість PasswordChar елемента керування текстового поля , стає елемент керування "маски редагування". Кожен символ, що набирається в текстовому полі керування яскраві замінені символів, що ви вкажете. Використовувати текстове поле для перевірки пароля, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. запит на додавання елемента керування текстового поля у форму.
  5. У меню " вигляд " натисніть кнопку "Властивості , щоб відображається вікно властивостей".
  6. PasswordChar властивості елемента керування текстового поля введіть *.

    Примітка. У разі змінення значення для зірочкою.
  7. запит на додавання елемента керування CommandButton у форму.
  8. Двічі клацніть пункт CommandButton керування-toopen вікно коду для у форму.
  9. У вікні код, введіть наведений нижче код події, Натисніть на CommandButton1 :
    Private Sub CommandButton1_Click()    If TextBox1.Text <> "userform" Then        MsgBox "Password is Incorrect. Please reenter."        TextBox1.Text = ""        TextBox1.SetFocus    Else        MsgBox "Welcome!"        Unload Me    End IfEnd Sub
  10. У меню виконати команду " RunSub форму".
  11. Введіть пароль форму у текстовому полі елемент керування.
  12. Клацніть елемент керування CommandButton.
Наприклад пароль, є "форму". Якщо ввести неправильний пароль, з'явиться вікно протокол IMAP, в якому зазначено, що пароль неправильний, елемента керування текстового поля , що знято, і введіть пароль. Введено неправильний пароль, з'явиться протокол IMAP та у форму буде закрито.

Щоб отримати додаткові відомості клацніть номер статті в базі знань Microsoft Knowledge Base:
213555 XL2000: Не перевірки даних для властивостей форму, текстові поля

CommandButton керування

Керування CommandButton можна запустити процедуру VBA. Процедура VBA зазвичай надається клацніть події CommandButton елемента керування. сценарій виконання CommandButton керування, який працює в режимі події, натисніть кнопку , виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. запит на додавання елемента керування CommandButton у форму.
  5. Двічі клацніть пункт CommandButton керування-todisplay вікно коду для у форму.
  6. У вікні код, введіть такий код:
    Private Sub CommandButton1_Click()    red = Int(Rnd * 255)    green = Int(Rnd * 255)    blue = Int(Rnd * 255)    CommandButton1.BackColor = RGB(red, green, blue)End Sub 
  7. У меню виконати команду " RunSub форму".
Колір тла CommandButton1 елемента керування, зміни під Вільний час кожного, якщо клацнути його.

Щоб отримати додаткові відомості про керування CommandButton клацніть номер статті в базі знань Microsoft Knowledge Base:
213572 XL2000: Натискання кнопка "Скасувати" не може припинити форму
213743 XL2000: Настройки за промовчанням кнопка на у форму

Елемент керування

Елемент керування призначена надати користувачеві зі списку елементів, щоб вибрати. Елемент списку для елемента керування на аркуші Excel можна зберігати. Щоб заповнити елемента керування до діапазону клітинок аркуша, RowSource -властивість використовується. Якщо використовується властивість вмикати або вимкнути , можна настроїти елемента керування приймати кілька параметрів.

Як отримати після вибраного елемента керування

Використовуйте властивість значенняелемента керування, щоб повернути вибраний елемент. Повернутися до вибраного в одному вибрати елемент керування, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У клітинки A1: A5 на аркуші 1, введіть значення, що потрібно touse заповнити елемент керування.
  3. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  4. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  5. Додати до форму елемента керування.
  6. Двічі клацніть на елемент керування-todisplay вікно коду для елемента керування.
  7. У вікні код, введіть наведений нижче код події, Натисніть на ListBox1 :
    Private Sub ListBox1_Click()    MsgBox ListBox1.ValueEnd Sub 
  8. У меню виконати команду " RunSub форму".
Якщо клацнути елемент у списку, у вікні протокол IMAP відображається, вибраний елемент.

Як отримати вибрані елементи в кількох виберіть елемента керування

Для визначення елементів, які можна вибрати в кількох вибрати елемент керування, ви повинні циклі всі елементи у списку а потім властивість вибраний . Повернутися обраний елементи в кількох вибрати елемент керування, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У клітинки A1: A5 на аркуші 1, введіть значення, що потрібно touse заповнити елемент керування.
  3. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  4. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  5. Додати до форму елемента керування.
  6. У меню " вигляд " натисніть кнопку "Властивості вікно властивостей".
  7. Введіть значення, які зазначені нижче властивості елемента керування.
       Property	   Value   -----------     -----------------------   MultiSelect	   1 - frmMultiSelectMulti   RowSource	   Sheet1!A1:A8
  8. запит на додавання елемента керування CommandButton у форму.
  9. Двічі клацніть пункт CommandButton керування-todisplay вікно коду для у форму.
  10. У вікні код, введіть наведений нижче код події, Натисніть на CommandButton1 :
    Sub CommandButton1_Click ()       ' Loop through the items in the ListBox.       For x = 0 to ListBox1.ListCount - 1          ' If the item is selected...          If ListBox1.Selected(x) = True Then             ' display the Selected item.             MsgBox ListBox1.List(x)          End If       Next x    End Sub 
  11. У меню виконати команду " RunSub форму".
  12. Виберіть один або кілька елементів у списку.
  13. Виберіть CommandButton1.
Після натискання кнопка, CommandButton1, кожен елемент, вибраного елемента керування, з'являється у вікні повідомлень. Після того, як вибрані елементи, що з'являються у вікні протокол IMAP, у форму автоматично закривається.

Заповнення елемента керування разом із клітинками аркуша за допомогою RowSource властивість

Щоб заповнити до елемента керування до діапазону клітинок аркуша за допомогою RowSource властивість, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У клітинки A1: A5 на аркуші 1, введіть значення, що потрібно touse заповнити елемент керування.
  3. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  4. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  5. Додати до форму елемента керування.
  6. запит на додавання елемента керування CommandButton у форму.
  7. Двічі клацніть пункт CommandButton керування-todisplay вікно коду для у форму.
  8. У вікні код, введіть наведений нижче код події, Натисніть на CommandButton1 :
    Private Sub CommandButton1_Click()    ListBox1.RowSource = "=Sheet1!A1:A5"End Sub 
  9. У меню виконати команду " RunSub форму".

    Примітка.ListBox1 не містить жодних значень.
  10. Виберіть CommandButton1.
Значення клітинки A1: A5, на аркуші 1, у параметрі ListBox1 .

Як заповнити зі значеннями в масиві елемента керування

У цьому прикладі показано, як заповнити елемента керування з до масиву змінної. Одночасно потрібно призначити значення від масив на елемент керування один елемент. Як правило, цей процес потрібно використовувати структуру циклічного копіювання вмісту, наприклад для... Далі циклі. Щоб заповнити елемента керування з до масиву змінної, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. Додати до форму елемента керування.
  5. У меню Вставлення , клацнітьмодуль вставити у вікні модуля.
  6. У вікні код, введіть такий код:
    Sub PopulateListBox()    Dim MyArray As Variant    Dim Ctr As Integer    MyArray = Array("Apples", "Oranges", "Peaches", "Bananas", "Pineapples")        For Ctr = LBound(MyArray) To UBound(MyArray)        UserForm1.ListBox1.AddItem MyArray(Ctr)    Next        UserForm1.ShowEnd Sub 
  7. У меню " Сервіс " натисніть кнопкумакроси, PopulateListBoxта клацнітьзапустити.
PopulateListBox процедура створює простий масив і потім додає елементів у масиві до елемента керування за допомогою методу AddItem . Після цього з'явиться у форму.

За допомогою горизонтального діапазону клітинок в аркуші заповнити елемента керування

Якщо встановити RowSource властивість елемента керування горизонтального діапазону клітинок в елемент керування з'явиться перше значення.

Можна за допомогою методу AddItemелемента керування з горизонтального діапазону клітинок, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У клітинки A1:E1 на аркуші 1, введіть значення, що потрібно touse заповнити елемент керування.
  3. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  4. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  5. Додати до форму елемента керування.
  6. У меню Вставлення , клацнітьмодуль вставити у вікні модуля.
  7. У вікні код, введіть такий код:
    Sub PopulateListWithHorizontalRange()    For Each x In Sheet1.Range("A1:E1")        UserForm1.ListBox1.AddItem x.Value    Next        UserForm1.ShowEnd Sub
  8. У меню " Сервіс " натисніть кнопкумакроси,PopulateListWithHorizontalRangeта клацнітьзапустити.
Процедура макрос, шлейфи через A1:E5 клітинки на аркуші, 1, запит на додавання значення ListBox1 один за один раз.

Примітка.ListBox1 не пов'язаний з клітинки A1:E5 на аркуші 1.

Як повернути кілька значень від елемента керування, пов'язана з кількох стовпців даних

Щоб відформатувати елемент керування для відображення стовпців даних. Це означає, що елемент керування відображає кілька елементів на кожен рядок у списку. Повернутися кілька значень з виділеного елемента у списку, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. Клітинки, які зазначено onSheet1 введіть такі дані:

    A1: рікB1: країна/регіонC1: продажу
    A2: 1996 B2: ПівнічнаC2: 140
    A3: 1996B3: ПівденнаC3: 210
    A4: 1997B4: ПівнічнаC4: 190
    A5: 1997B5: ПівденнаC5: 195
  3. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  4. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  5. запит на додавання елемента керування підпис у форму.
  6. Додати до форму елемента керування.
  7. У списку, клацніть правою кнопкою миші та виберіть пунктВластивості.
  8. Введіть або виберіть значення, що вказані thefollowing властивості елемента керування, як показано в наведеній нижче таблиці.
       Property       Value   ----------------------------   BoundColumn     1   ColumnCount     3   ColumnHeads     True   RowSource       Sheet1!A2:A5
  9. Двічі клацніть на елемент керування-todisplay вікно коду для елемента керування.
  10. У вікні код, введіть такий код:
    Private Sub ListBox1_Change()    Dim SourceData As Range    Dim Val1 As String, Val2 As String, Val3 As String        Set SourceRange = Range(ListBox1.RowSource)        Val1 = ListBox1.Value    Val2 = SourceRange.Offset(ListBox1.ListIndex, 1).Resize(1, 1).Value    Val3 = SourceRange.Offset(ListBox1.ListIndex, 2).Resize(1, 1).Value        Label1.Caption = Val1 & " " & Val2 & " " & Val3End Sub
  11. У меню виконати команду " RunSub форму".
Після натискання кнопка, запис А у елемент керування, підпис зміни для відображення елементів трьох цей запис А.

Як видалити всі елементи з елемента керування, який прив'язано до аркуша Excel

Щоб видалити всі елементи, з елемента керування, який прив'язано до аркуша, очистити, значення, яке зберігається у властивості RowSource . Щоб видалити елементи, з елемента керування, який прив'язано до аркуша, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У клітинки A1: A5 на аркуші 1, введіть значення, що потрібно touse заповнити елемент керування.
  3. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  4. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  5. Додати до форму елемента керування.
  6. Клацніть правою кнопкою миші елемент керування а також thenclick Властивості.
  7. Властивість RowSource введіть Sheet1! A1: A5.
  8. запит на додавання елемента керування CommandButton у форму.
  9. Двічі клацніть на todisplay код вікно керування CommandButton керування " CommandButton ".
  10. У вікні код, введіть наведений нижче код події, Натисніть на CommandButton1 :
    Private Sub CommandButton1_Click()    ListBox1.RowSource = ""End Sub
  11. У меню виконати команду " RunSub форму".

    Елементкерування, які ви додали до у форму параметрі thevalues, зазначений на аркуші 1.
  12. Виберіть CommandButton1.
Усі вибрані елементи, видаляються з ListBox1.

Як видалити всі елементи з елемента керування, не пов'язані з аркуша

Існує немає єдиного VBA команда видаляє всі елементи з елемента керування, якщо список не прив'язано до аркуша Excel. Щоб видалити всі елементи, з елемента керування, який заповнено з Visual Basic масив, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. Додати до форму елемента керування.
  5. У меню Вставлення , клацнітьмодуль вставити у вікні модуля.
  6. У вікні код, введіть такий код:
    Sub PopulateListBox()    Dim MyArray As Variant    Dim Ctr As Integer    MyArray = Array("Apples", "Oranges", "Peaches", "Bananas", "Pineapples")        For Ctr = LBound(MyArray) To UBound(MyArray)        UserForm1.ListBox1.AddItem MyArray(Ctr)    Next        UserForm1.ShowEnd Sub 
  7. запит на додавання елемента керування CommandButton у форму.
  8. Двічі клацніть на todisplay код вікно керування CommandButton керування " CommandButton ".
  9. У вікні код, введіть наведений нижче код події, Натисніть на CommandButton1 :
    Private Sub CommandButton1_Click()    For i = 1 To ListBox1.ListCount        ListBox1.RemoveItem 0    Next IEnd Sub
  10. У меню " Сервіс " натисніть кнопкумакроси, PopulateListBoxта клацнітьзапустити.

    Елемент керування заповнено, і з'явиться, натисніть у форму.
  11. Виберіть CommandButton1.
Усі вибрані елементи, видаляються з ListBox1.

Щоб отримати додаткові відомості про елемент керування клацніть номер статті в базі знань Microsoft Knowledge Base:
161598 OFF: Як додати дані на область коректування або елемент, у Word, Excel або
211446 XL2000: TextColumn властивість відображається в першому стовпці
211896 XL2000: Як імітувати у поєднанні зі списком керування для UserForms
211899 XL2000: Проблеми автоматична інсталяція заголовки стовпців елемента керування
213721 XL2000: Як видалити всі елементи у список або область коректування
213722 XL2000: Як за допомогою властивості TextColumn
213723 XL2000: Як повертає значення зі списку, який відображає кілька стовпців
213746 XL2000: Як заповнити список керування декілька діапазонів
213748 XL2000: Як заповнити один список на основі інший список
213752 XL2000: сценарій виконання методу AddItem викликає помилку, коли дані, які є найбільш дефіцитним RowSource
213756 XL2000: RemoveItem методом список або область коректування керування
213759 XL2000: Як визначити, що елементів, які вибрано в полі зі списком

область коректування елементів керування

За допомогою елемента керування можна як розкривний список або область коректування, в якому можна вибрати значення зі списку або введіть нове значення. Стиль властивість визначає, якщо область коректування керування виступає розкривний список або область коректування.

Примітка. В усіх прикладах в попередньому розділі для елемента керування, також можуть бути застосовані на елемента керування, за винятком приклад ", як отримати вибрані елементи в кількох вибрати елемент керування".

Як додати новий елемент у списку, якщо не пов'язаний елемента керування до аркушу

Під Вільний час введення, це значення, яке вже немає у списку в елемента керування, можна додати до списку нове значення. Щоб додати нове значення, введене на елемента керування, якщо область коректування елемент керування не обов'язково аркуша, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. запит на додавання елемента керування область коректування у форму.
  5. У меню Вставлення , клацнітьмодуль вставити у вікні модуля.
  6. У вікні код, введіть такий код:
    Sub PopulateComboBox()     Dim MyArray As Variant     Dim Ctr As Integer     MyArray = Array("Apples", "Oranges", "Peaches", "Bananas", "Pineapples")         For Ctr = LBound(MyArray) To Ubound(MyArray)         UserForm1.ComboBox1.AddItem MyArray(Ctr)     Next         UserForm1.Show End Sub
  7. запит на додавання елемента керування CommandButton у форму.
  8. Двічі клацніть на todisplay код вікно керування CommandButton керування " CommandButton ".
  9. У вікні код, введіть наведений нижче код події, Натисніть на CommandButton1 :
    Private Sub CommandButton1_Click()     Dim listvar As Variant          listvar = ComboBox1.List         On Error Resume Next     ' If the item is not found in the list...     If IsError(WorksheetFunction.Match(ComboBox1.Value, listvar, 0)) Then         ' add the new value to the list.         ComboBox1.AddItem ComboBox1.Value     End If End Sub
  10. У меню " Сервіс " натисніть кнопкумакроси, PopulateListBoxта клацнітьзапустити.

    Заповнено елемента керування, а потім у форму, відображається.
  11. Введіть у область коректування елемент керування, Манго (або будь-які значення thatis, ще не у списку).
  12. Виберіть CommandButton1.
Нове значення, що ви зараз, що з'являється в кінці списку.

Як додати новий елемент у списку, якщо область коректування елемент керування прив'язано до аркуша Excel

Коли користувач типу, це значення, яке вже немає у списку в елемента керування, можна додати нове значення до списку. Щоб додати нове значення, введення тексту в область коректування керування до списку, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У клітинки A1: A5 на аркуші 1, введіть значення, що потрібно touse заповнити елемента керування.
  3. Вибрати клітинки A1: A5 на аркуші 1.
  4. У меню Вставлення Укажітьім'ята клацніть визначити.

    Введіть у поліімена у книзіListRange і натисніть кнопку OK. визначене ім'я ListRangeстворено. визначене ім'я ListRange можна прив'язати RowSource властивість елемента керування на аркуші.
  5. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  6. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  7. запит на додавання елемента керування область коректування у форму.
  8. ВластивостіComboBox1введіть Sheet1! ListRange якRowSource властивість.
  9. запит на додавання елемента керування CommandButton у форму.
  10. Двічі клацніть на todisplay код вікно керування CommandButton керування " CommandButton ".
  11. У вікні код, введіть наведений нижче код події, Натисніть на CommandButton1 :
    Private Sub CommandButton1_Click()    Dim SourceData As Range    Dim found As Object        Set SourceData = Range("ListRange")    Set found = Nothing    ' Try to find the value on the worksheet.    Set found = SourceData.Find(ComboBox1.Value)        ' If the item is not found in the list...    If found Is Nothing Then        ' redefine ListRange.        SourceData.Resize(SourceData.Rows.Count + 1, 1).Name = "ListRange"        ' Add the new item to the end of the list on the worksheet.        SourceData.Offset(SourceData.Rows.Count, 0).Resize(1, 1).Value _         = ComboBox1.Value        ' Reset the list displayed in the ComboBox.        ComboBox1.RowSource = Range("listrange").Address(external:=True)    End IfEnd Sub
  12. У меню виконати команду " RunSub форму".

    У форму, що відображається на аркуші 1.
  13. У цей елемент керування область коректування , введіть значення, що не є у списку.
  14. Виберіть CommandButton1.
Новий елемент, введення тексту в область коректування керування буде додано до списку, а у списку, який обов'язково елемента керування буде розширено клітинки A1:A6.

Відображення списку елемента керування, коли у форму

Інколи може бути корисним для відображення списку елемента керування, під Вільний час відображається у форму. Нижче наведено приклад використовує, у разі активації у форму. Щоб відобразити список елемента керування, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У клітинки A1: A5 на аркуші 1, введіть значення, що потрібно touse заповнити елемента керування.
  3. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  4. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  5. запит на додавання елемента керування область коректування у форму.
  6. ВластивостіComboBox1введіть Sheet1! A1: A5 якRowSource властивість.
  7. Двічі клацніть на форму , що для відображення theCode вікно для у форму.
  8. У вікні код, введіть наведений нижче код події, Натисніть на CommandButton :
    Private Sub UserForm_Activate()           ComboBox1.DropDown       End Sub
  9. У меню виконати команду " RunSub форму".
У форму, що відображається на аркуші 1, і з'явиться список для ComboBox1.

Відображення списку один-елемента керування, під Вільний час вибору елемента в інший область коректування елемент керування.

Відображення списку один- елемента керування після вибору іншого- елемента керування, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У клітинки A1:A10 на аркуші 1, введіть значення, що потрібно touse заповнити елемента керування.
  3. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  4. У меню Вставлення команду "модуль".
  5. У вікні код модуля, введіть такий код:
    Sub DropDown_ComboBox()    UserForm1.ComboBox2.DropDownEnd Sub
  6. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  7. запит на додавання елемента керування область коректування у форму.
  8. ВластивостіComboBox1введіть Sheet1! A1: A5 якRowSource властивість.
  9. Двічі клацніть на елемента керування openthe вікно коду, елемента керування.
  10. У вікні код елемента керування, введіть наведений нижче код події, Натисніть на область коректування .
    Private Sub ComboBox1_Click()    Application.OnTime Now, "DropDown_ComboBox"End Sub
  11. Додати другий елемента керування у форму.
  12. ВластивостіComboBox2введіть Sheet1! A6:A10 якRowSource властивість.
  13. У меню виконати команду " RunSub форму".
Якщо клацнути елемент списку ComboBox1 , автоматично відобразиться список для ComboBox2 .

Щоб отримати додаткові відомості про керування область коректування клацніть номер статті в базі знань Microsoft Knowledge Base:
161598 OFF: Як додати дані на область коректування або елемент, у Word, Excel або
211446 XL2000: TextColumn властивість відображається в першому стовпці
211899 XL2000: Проблеми автоматична інсталяція заголовки стовпців елемента керування
213717 XL2000: Помилка виконання, використовуючи метод розкривний список у списку
213718 XL2000: Як відображати список область коректування, коли форму буде відображено
213721 XL2000: Як видалити всі елементи у список або область коректування
213722 XL2000: Як за допомогою властивості TextColumn
213752 XL2000: сценарій виконання методу AddItem викликає помилку, під Вільний час, пов'язаних із даними RowSource є.
213756 XL2000: RemoveItem методом список або область коректування керування

Рамка

Використовувати рамки групи логічно пов’язані елементи у форму. Рамка елементів керування, які часто використовуються групи OptionButton елементів керування.

Як циклі всі елементи керування кадру

Для сценарій виконання в для кожного. Далі цикл для доступу до всіх елементів керування рамка елемента керування, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. запит на додавання елемента керування кадрів у форму.
  5. Додати елемент керування, OptionButtonрамка елемента керування.

    Повторіть цей крок, коли рамка додати два OptionButton елементів керування.
  6. Двічі клацніть на рамка, відкриється вікно з theCode рамка елемента керування .
  7. У вікні код, введіть наведений нижче код події, Рамки, натисніть кнопку :
    Private Sub Frame1_Click()    Dim Ctrl As Control        For Each Ctrl In Frame1.Controls        Ctrl.Enabled = Not Ctrl.Enabled    NextEnd Sub
  8. У меню виконати команду " RunSub форму".
  9. У форму буде клацнути елемент керування- рамки.
Під Вільний час першого, якщо клацнути елемент керування рамка , всі елементи керування рамки можуть бути недоступні. Якщо натиснути кнопку, коли рамка знову, елементи керування будуть доступні ще раз.

OptionButton керування

Групи OptionButton елементів керування, можна зробити одного виділення в групі Параметри. Можна будь-який із таких способів OptionButton Група елементів керування:
  • Рамка
  • Ім'я _ групи властивість
Примітка.На значення "," значення " так " та " справжнє значення вказують, що встановлено на OptionButton . Вимкнути параметр не значення та помилкове значення вказують, що в OptionButton не вибрано.

Визначення OptionButton керування, вибраному за OptionButton елементи керування рамка

У результаті групування OptionButtons елементів керування за допомогою рамки елемент керування, можна визначити OptionButton керування, вибраному Зациклювання всі елементи керування кадру та перевірка до значення властивості кожного з елементів керування. Для визначення OptionButton керування, вибраному, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. запит на додавання елемента керування кадрів у форму.
  5. Додати елемент керування, OptionButtonрамка елемента керування.

    Повторіть цей крок, коли рамка додати два OptionButton елементів керування.
  6. запит на додавання елемента керування CommandButton форму, за межами рамка елемента керування.
  7. Двічі клацніть пункт CommandButton керування-todisplay вікно коду для у форму.
  8. У вікні код, введіть наведений нижче код події, Натисніть на CommandButton1 :
    Private Sub CommandButton1_Click()     For Each x In Frame1.Controls         If x.Value = True Then             MsgBox x.Caption         End If     Next End Sub
  9. У меню виконати команду " RunSub форму".
  10. У формувиберіть один- OptionButton елемент керування та виберітьCommandButton1.
У вікні протокол IMAP з'явиться містить заголовок OptionButton вибраного елемента керування.

Визначення OptionButton керування, вибраної

Нижче наведено приклад призначена для визначення OptionButton керування, вибраному у група1. Щоб створити форму, із двох груп OptionButton керування, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. запит на додавання елемента керування кадрів у форму.
  5. Додати елемент керування, OptionButtonрамка елемента керування.

    Повторіть цей крок, коли рамка додати два OptionButton елементів керування.
  6. Для кожного елемента керування OptionButton типу. Група1ім'я _ групи властивості.
  7. Повторіть кроки 4 та 5 для створення другого рамка, який містить три OptionButton елементів керування .
  8. Введіть для кожного OptionButton керування у другому рамка.Групу2ім'я _ групи властивості.
  9. запит на додавання елемента керування CommandButton форму, за межами рамки елементів керування.
  10. Двічі клацніть пункт CommandButton керування-todisplay вікно коду для у форму.
  11. У вікні код, введіть наведений нижче код події, Натисніть на CommandButton1 :
    Private Sub CommandButton1_Click()     Dim x As Control          ' Loop through ALL the controls on the UserForm.     For Each x In Me.Controls         ' Check to see if "Option" is in the Name of each control.         If InStr(x.Name, "Option") Then             ' Check Group name.             If x.GroupName = "Group1" Then                 ' Check the status of the OptionButton.                 If x.Value = True Then                     MsgBox x.Caption                     Exit For                 End If             End If         End If     Next End Sub
  12. У меню виконати команду " RunSub форму".
  13. У форму виберіть один елемент керування OptionButton , у група1 і виберітьCommandButton1.
У вікні протокол IMAP з'явиться містить заголовок вибраного OptionButton елемента керування.

Щоб отримати додаткові відомості про елементи керування, OptionButton клацніть номер статті в базі знань Microsoft Knowledge Base:
213724 XL2000: Проблеми з використанням TripleState властивості, для параметра

прапорець керування

прапорець керування можна вказати значення true або false. прапорець керування, яке з'явиться прапорець, у ньому вказує на значення True. прапорець , матиме не встановлено прапорець вказує на значення false (хибність). Якщо значення властивості TripleStateпрапорець елемент керування може мати значення Null. Керування прапорець , який має значення Null , здається, недоступний.

Примітка.На значення "," значення " так " та " справжнє значення вказують, що встановлено прапорець поруч із елемент керування. Від значення, ні значення та помилкове значення вказують на те, що знято прапорець керування.

Щоб перевірити значення прапорець керування

За допомогою властивість значення повертає поточне значення елемента керування прапорець , виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. запит на додавання елемента керування прапорець у форму.
  5. Виберіть у списку властивостей CheckBox1Справжнє як властивість TripleState .
  6. Двічі клацніть на todisplay код вікно керування прапорець поруч із керування " прапорець ".
  7. У вікні код, введіть наведений нижче код події CheckBox1 зміни :
    Private Sub CheckBox1_Change()    Select Case CheckBox1.Value        Case True            CheckBox1.Caption = "True"        Case False            CheckBox1.Caption = "False"        Case Else            CheckBox1.Caption = "Null"    End SelectEnd Sub
  8. У меню виконати команду " RunSub форму".
Після натискання кнопка, цей елемент керування прапорець , підпис прапорець керування зміни для відображення поточного значення.

Елемент керування

Елемент керування, має таким самим чином, як CommandButton елемент керування, доки не клацнути його. Якщо клацнути елемент керування, схоже, натискання або зсуваються вниз. Властивість " значення " елемент керування, виконуються при кнопка і False , коли у кнопка виділення. Якщо значення властивості TripleStateелемент керування може мати значення Null. Елемент керування, який має значення Null відображається як недоступний.

Примітка.На значення "," значення " так " та "значення True вказують на те, що вибраний елемент керування. Вимкнути параметр, ні значення та помилкове значення вказують, що елемент керування не вибрано.

Як отримати значення елемент керування

Щоб отримати значення на елемент керування, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. Додати елемент керування, у полі форму.
  5. запит на додавання елемента керування підпис у форму.
  6. Двічі клацніть на елемент керування-toopen вікно коду елемент керування.
  7. У вікні код, введіть наведений нижче код ToggleButton1Click події:
    Private Sub ToggleButton1_Click()    If ToggleButton1.Value = True Then        ' Set UserForm background to Red.        Me.BackColor = RGB(255, 0, 0)    Else        ' Set UserForm background to Blue.        Me.BackColor = RGB(0, 0, 255)    End IfEnd Sub
  8. У меню виконати команду " RunSub форму".
Після натискання кнопка, елемент керування, колір тла форму змін.

Створення групи взаємовиключними елемент елементів керування.

У цьому прикладі використовується MouseUp подію встановити значення змінної і викликає ExclusiveToggleButtons процедури. Процедура ExclusiveToggleButtons визначає, елемент керування, встановлено а потім скасовує з іншими. Для створення групи взаємовиключними- елемент керування, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення команду "модуль".
  4. У вікні код модуля, введіть такий код:
    ' Variable that holds the name of the ToggleButton that was clicked.Public clicked As StringSub ExclusiveToggleButtons()   Dim toggle As Control   ' Loop through all the ToggleButtons on Frame1.   For Each toggle In UserForm1.Frame1.Controls       ' If Name of ToggleButton matches name of ToggleButton       ' that was clicked...       If toggle.Name = clicked Then          '...select the button.          toggle.Value = True       Else          '...otherwise clear the selection of the button.          toggle.Value = False       End If    NextEnd Sub
  5. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  6. запит на додавання елемента керування кадрів у форму.
  7. Коли рамка додати елемент керування.

    Повторіть цей крок, додати два додаткові елементи керування елемент керування рамки .
  8. Двічі клацніть пункт рамка, displaythe код вікна для у форму.
  9. У вікні код модуля, введіть такі codefor, Елемент MouseUp події:
    Private Sub ToggleButton1_MouseUp(ByVal Button As Integer, _              ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)       clicked = ToggleButton1.Name       Application.OnTime Now, "ExclusiveToggleButtons"    End Sub    Private Sub ToggleButton2_MouseUp(ByVal Button As Integer, _              ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)        clicked = ToggleButton2.Name        Application.OnTime Now, "ExclusiveToggleButtons"    End Sub    Private Sub ToggleButton3_MouseUp(ByVal Button As Integer, _              ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)        clicked = ToggleButton3.Name        Application.OnTime Now, "ExclusiveToggleButtons"    End Sub
  10. У меню виконати команду " RunSub форму".
Якщо клацнути елемент керування, раніше вибраний елемент керування скасовано.

Вкладок керування

сценарій виконання вкладок елемент керування, щоб переглянути різні набори відомості для набору елементів керування.

Контроль, вкладок Керування програмним способом

Щоб змінити колір властивість елемента керування зображення , залежно від вибраної вкладку, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть редактор Visual Basic.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. запит на додавання елемента керування вкладок у форму.
  5. запит на додавання елемента керування зображення , що охоплює базі вкладок елемента керування, але, не поширюється на вкладках.
  6. В області властивості Image1 типу.& H000000FF &колір властивості.
  7. Двічі клацніть на елемент керування вкладок openthe код вікно керування вкладок .
  8. У вікні код, введіть наведений нижче код події TabStrip1 зміни :
    Private Sub TabStrip1_Change()    Dim i As Integer    i = TabStrip1.SelectedItem.Index    Select Case i        Case 0            ' If Tab1 is selected, change the color of Image control to Red.            Image1.BackColor = RGB(255, 0, 0)        Case 1            ' If Tab2 is selected, change the color of Image control to Green.            Image1.BackColor = RGB(0, 255, 0)    End SelectEnd Sub
  9. У меню виконати команду " RunSub форму".
Колір зображення керування змінами, залежно від того, на сторінці керування вкладок , що є активним.

Щоб отримати додаткові відомості про керування вкладок клацніть номер статті в базі знань Microsoft Knowledge Base:
213254 XL2000: Способи сценарій виконання вкладок елемент керування у форму.

Робоча область для кількох керування

сценарій виконання кількох елемент керування для роботи з багато інформації, яка може бути відсортований на кілька категорій. Керування кількох складається з одного або більше сторінки об'єктів, що кожен мати різний набір елементів керування. Ви можете встановити активна сторінка програмним способом значення властивості кількох елемента керування.

Контроль, робоча Керування програмним способом

запит на додавання елемента керування кількох і керувати ним за допомогою макросу, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. запит на додавання елемента керування кількох у форму.
  5. запит на додавання елемента керування Мітки Page1 на кількох елемента керування.
  6. запит на додавання елемента керування текстового поля Page1 на кількох елемента керування.
  7. На кількох елемент керування, клацніть Page2та повторіть кроки 5and 6, щоб додати елемент керування підписом і керування текстового поля .
  8. Двічі клацніть на кількох керування openthe вікно коду, кількох елемента керування.
  9. У вікні код, введіть наведений нижче код події MultiPage1 зміни :
    Private Sub MultiPage1_Change()    Select Case MultiPage1.Value        ' If activating Page1...        Case 0            Label1.Caption = TextBox2.Text            TextBox1.Text = ""        ' If activating Page2...        Case 1            Label2.Caption = TextBox1.Text            TextBox2.Text = ""    End SelectEnd Sub
  10. У вікні код, введіть наведений нижче код Форму ініціалізації події:
    Private Sub UserForm_Initialize()    ' Force Page1 to be active when UserForm is displayed.    MultiPage1.Value = 0    Label1.Caption = ""End Sub
  11. У меню виконати команду " RunSub форму".

    Введіть у текстове поле елемента керування на Page1, Тест. Під Вільний час очищення youclick вкладці Page2TextBox2 та заголовок Label2 зміни, внесені в TextBox1 на Page1 запис А ("Test").

Створення майстер-інтерфейс за допомогою багатосторінкового елемент керування

Завдання, потрібно кілька додаткових дій, майстер-інтерфейс може бути в дуже ефективна. Для створення майстер-інтерфейсу, не використовуйте кілька UserForms можна кількох елемента керування. У цьому прикладі, керує кількох елемент керування, який має три сторінки. Процедура, яка додається до ініціалізації події у форму вимикає Page2 і Page3 а також сили Page1 кількох елемента керування бути активними.

Примітка. Проіндексувати сторінки керування кількох за допомогою колекції сторінок , перша сторінка колекції не сторінки нуль. Ця процедура встановлює назви контролю CommandButton і вимикає в <> кнопка.

Примітка. Процедури, призначено події CommandButton1Виберіть елементи керування, функціональних можливостей у <> кнопка. Процедури, призначено події CommandButton2Виберіть елементи керування, функціональних можливостей у Далі > кнопка. Для створення майстер-інтерфейс, за допомогою елемента керування в кількох , виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. запит на додавання елемента керування кількох у форму.
  5. Page1 вкладку, клацніть правою кнопкою миші та виберітьНову сторінку , щоб додати Page3 кількох керування.
  6. запит на додавання елемента керування CommandButton форму, яка відсутня у кількох елемента керування.

    Повторюйте ці інтерактивні елементи, щоб додати другий CommandButton керування у форму.
  7. Двічі клацніть на форму , щоб відкрити на Codewindow у форму.
  8. У вікні код, введіть наведений нижче код Форму ініціалізації події:
    Private Sub UserForm_Initialize()    With MultiPage1        ' The next 2 lines disable Page2 & Page3.        .Pages(1).Enabled = False        .Pages(2).Enabled = False        ' Make Page1 the active page.        .Value = 0    End With        ' Set the caption on the CommandButtons.    CommandButton1.Caption = "<Back"    CommandButton1.Enabled = False    CommandButton2.Caption = "Next>"End Sub' Procedure for the "<Back" buttonPrivate Sub CommandButton1_Click()    Select Case MultiPage1.Value        Case 1                                 ' If Page2 is active...            With MultiPage1                .Pages(0).Enabled = True       ' Enable Page1.                .Value = MultiPage1.Value - 1  ' Move back 1 page.                .Pages(1).Enabled = False      ' Disable Page2.            End With            CommandButton1.Enabled = False     ' Disable Back button.                    Case 2                                 ' If Page3 is active...            With MultiPage1                .Pages(1).Enabled = True       ' Enable Page2.                .Value = MultiPage1.Value - 1  ' Move back 1 page.                .Pages(2).Enabled = False      ' Disable Page3.   CommandButton2.Caption = "Next>"            End With    End SelectEnd Sub' Procedure for the "Next>" buttonPrivate Sub CommandButton2_Click()    Select Case MultiPage1.Value        Case 0                                  ' If Page1 is active...            With MultiPage1                .Value = MultiPage1.Value + 1   ' Move forward 1 page.                .Pages(1).Enabled = True        ' Enable Page2.                .Pages(0).Enabled = False       ' Disable Page1.            End With            CommandButton1.Enabled = True       ' Enable Back button.                    Case 1                                  ' If Page2 is active...            With MultiPage1                .Value = MultiPage1.Value + 1   ' Move forward 1 page.                .Pages(2).Enabled = True        ' Enable Page3.                .Pages(1).Enabled = False       ' Disable Page2.            End With            CommandButton2.Caption = "Finish"   ' Change Next button to Finish.                    Case 2                                  ' If Page3 is active...            MsgBox "Finished!"                  ' User is Finished.            Unload Me                           ' Unload the UserForm.    End SelectEnd Sub
  9. У меню виконати команду " RunSub форму".
Після натискання кнопка Далі >, активації Page2 і <> активується кнопка. Після натискання кнопка Далі > ще раз, Page3 активації, а також змінює назву для CommandButton2 "Готово".

Смуга прокручування керування

Можна використовувати елемент керування смугу прокручування , щоб змінити значення, яке відображається для іншого елемента керування, наприклад, елемент керування підписом .

Як змінити підпис до елемента керування, відповідно до значення смуги прокручування елемент керування

Щоб змінити властивість заголовків елемент керування підписом поточні настройки властивості значеннясмуги прокручування елемента керування, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. запит на додавання елемента керування смугу прокручування в форму.
  5. запит на додавання елемента керування підпис у форму.
  6. Двічі клацніть на елемент керування смугу прокручування openthe код вікно керування смуги прокручування .
  7. У вікні код, введіть наведений нижче код події ScrollBar1 зміни :
    Private Sub ScrollBar1_Change()    Label1.Caption = ScrollBar1.ValueEnd Sub
  8. У меню виконати команду " RunSub форму".
Під Вільний час прокручування за допомогою елемента керування смугу прокручування , Label1 оновлюється поточного значення смуги прокручування елемента керування.

SpinButton керування

Елемент керування SpinButton , як елемент керування смугу прокручування , часто використовуються, щоб збільшити або зменшити значення іншого елемента керування, наприклад, елемент керування підписом . Властивість SmallChange визначає, скільки значення елемента керування SpinButton змінюється користувач.

запит на додавання SpinButton керування, що збільшує або зменшує на дату, яка зберігається у текстовому полі

Щоб додати SpinButton керування, що збільшує або зменшує на дату, яка зберігається у текстовому полі , виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. запит на додавання елемента керування SpinButton у форму.
  5. запит на додавання елемента керування текстового поля у форму.
  6. Двічі клацніть на toopen код вікно керування SpinButton керування " SpinButton ".
  7. У вікні код, введіть наведений нижче код події SpinButton1 SpinUp :
    Private Sub SpinButton1_SpinUp()    TextBox1.Text = DateValue(TextBox1.Text) + 1End Sub
  8. У вікні код, введіть наведений нижче код події SpinButton1 SpinDown :
    Private Sub SpinButton1_SpinDown()    TextBox1.Text = DateValue(TextBox1.Text) - 1End Sub
  9. У вікні код, введіть наведений нижче код Форму ініціалізації події:
    Private Sub UserForm_Initialize()    TextBox1.Text = DateEnd Sub
  10. У меню виконати команду " RunSub форму".
Коли з'явиться у форму в TextBox1з'явиться поточної дати. Якщо клацнути елемент керування SpinButton , термін є incremented або ретрансляцій зменшено за один день.

У цьому прикладі Якщо змінити властивість SmallChangeSpinButton1, ви не впливають на кількості днів, запис А TextBox1 змінюється після натискання кнопка SpinButton1. Кількість днів визначає лише при SpinUp події, так і у випадку SpinDownSpinButton1процедури.

Щоб отримати додаткові відомості про керування SpinButton клацніть номер статті в базі знань Microsoft Knowledge Base:
213224 XL2000: Visual Basic, наприклад користування спін кнопку з датою

RefEdit керування

Керування RefEdit , імітує поведінку посилання поля, створені в Excel. Властивість значення можна отримати поточний Адреса клітинки, які зберігаються в RefEdit елемент керування.

Як заповнити діапазон клітинок, залежно від вибраного за допомогою елемента керування RefEdit діапазон

За допомогою елемента керування RefEdit заповнення клітинки, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. запит на додавання елемента керування RefEdit у форму.
  5. запит на додавання елемента керування CommandButton у форму.
  6. Двічі клацніть на toopen код вікно керування CommandButton керування " CommandButton ".
  7. У вікні код, введіть наведений нижче код події, Натисніть на CommandButton1 :
    Private Sub CommandButton1_Click()    Dim MyRange As String    MyRange = RefEdit1.Value    Range(MyRange).Value = "test"    Unload MeEnd Sub
  8. У меню виконати команду " RunSub форму".

    UserFormappears.
  9. Натисніть кнопку в контролю RefEdit .

    Зауважте, що, у форму, згортання.
  10. Виділіть діапазон клітинок, наприклад A1: A5 та натисніть кнопку, і thebutton, розширення у форму, керування RefEdit .
  11. Виберіть CommandButton1.
У форму, закривається, і клітинок, які було встановлено, тепер містять слова "test".

Щоб отримати додаткові відомості про керування RefEdit клацніть номер статті в базі знань Microsoft Knowledge Base:
213776 XL2000: Як за допомогою елемента керування RefEdit у форму.

Керування зображенням

Призначення елемента керування є зображення у форму. Щоб призначити зображення до елемента керування , під Вільний час запуску, функція LoadPicture .

Як завантажити зображення на елемент керування, зображення

Щоб вставити зображення керування, які запропонує вибрати зображення, щоб завантажити під Вільний час вибору елемента керування , виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову пусту книгу.
  2. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  3. У меню Вставлення , виберітьформу Вставлення у форму у книзі.
  4. запит на додавання елемента керування на зображення на у форму.
  5. Двічі клацніть на елемента керування, щоб відкрити вікно "theCode" для елемента керування .
  6. У вікні код, введіть наведений нижче код події, Натисніть на Image1 :
    Private Sub Image1_Click()    Dim fname As String        ' Display the Open dialog box.    fname = Application.GetOpenFilename(filefilter:= _            "Bitmap Files(*.bmp),*.bmp", Title:="Select Image To Open")        ' If you did not click Cancel...    If fname <> "False" Then        ' Load the bitmap into the Image control.        Image1.Picture = LoadPicture(fname)        ' Refresh the UserForm.        Me.Repaint    End IfEnd Sub
  7. У меню виконати команду " RunSub форму".

    У форму з'являється.
  8. Клацніть елемент керування, зображення .

    Whenyou, натисніть кнопку елемента керування, Вибрати зображення щоб відкрити діалогове вікно-boxappears, і виберіть файл точкового рисунка вставити в контролю над нелегальною.
Щоб отримати додаткові відомості про елемента керування клацніть номер статті в базі знань Microsoft Knowledge Base:
213732 XL2000: За допомогою функції LoadPicture елемента керування, зображення

Додаткові відомості

До об'єкта

Повний список усіх властивостей і способи певну команду, доступний у Об'єкта. Щоб знайти цю інформацію, у програмі Excel, виконайте такі дії:
  1. У меню " Сервіс "макросі виберіть Visual BasicEditor.
  2. У меню " вигляд " натисніть кнопку " ObjectBrowser".
  3. У полі Пошуку введіть ім'я елемента керування, який ви хочете і натисніть кнопку Пошук.
Щоб отримати додаткові відомості про те, як до об'єкта, у редакторі Visual Basic, виберіть Довідка Microsoft Visual Basic , допомогти меню, введіть Властивості об'єкта у помічнику Office або в майстрі відповідей а потім клацніть пошуку , щоб переглянути розділ.
Щоб отримати додаткові відомості про інсталяцію Довідка Microsoft Excel на вашому комп'ютері клацніть номер статті в базі знань Microsoft Knowledge Base:
231946 OFF2000: Як додати або видалити з одного програми або компонента Office

Попередження. Цю статтю переведено автоматично

Властивості

Ідентифікатор статті: 829070 – останній перегляд: 09/23/2015 04:59:00 – виправлення: 1.0

Microsoft Office Excel 2003, Microsoft Excel 2010, Microsoft Office Excel 2007 - Українська версія, Excel 2016, Microsoft Excel 2013

  • kbprogramming kbfunctions kbhowtomaster kbhowto kbmt KB829070 KbMtuk
Зворотний зв’язок