Как изменить пользовательские формы в Microsoft Excel с помощью Visual Basic для приложений (VBA)

Переводы статьи Переводы статьи
Код статьи: 829070 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В данной статье описывается, как изменить пользовательские формы программными средствами в Microsoft Excel. Включает примеры и Microsoft Visual Basic для приложений (VBA) макросов, которые показывают, как получить пользовательские формы и способы использования элементов управления ActiveX ™, доступные возможности для пользовательские формы.

Введение в основные принципы пользовательские формы описание, как отображать пользовательские формы, как можно временно скрыть пользовательские формы и закрыть пользовательские формы. Также показаны способы использования наиболее распространенные события, которые связанные с пользовательские формы — Инициализация события, Нажмите кнопку событие и Завершить работу событие. Один или несколько из приведенных ниже примерах демонстрируются способы Использование каждого из следующих элементов управления ActiveX ™ в пользовательской форме:
  • Метка Управление
  • Текстовое поле Управление
  • CommandButton Управление
  • ListBox Управление
  • Поле со списком Управление
  • Рамка Управление
  • OptionButton Управление
  • Флажок Управление
  • ToggleButton Управление
  • TabStrip Управление
  • Многостраничные Управление
  • Полоса прокрутки Управление
  • SpinButton Управление
  • RefEdit Управление
  • Изображение Управление

ВВЕДЕНИЕ

В данной статье описывается использование VBA для внесения изменений в Пользовательские формы в Microsoft Excel.

Дополнительная информация

Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации Это включает, но не ограничивается, подразумеваемые гарантии товарности или пригодности для определенной цели. В данной статье предполагается, что вы знакомы с языком программирования предложенном и с помощью средств, которые используются для создания и отладки. Сотрудники службы поддержки Майкрософт могут пояснить конкретной процедуры, но они будут изменять примеры для реализации дополнительных возможностей или удовлетворения конкретных требований.

Основы пользовательской формы

Отображение UserForm

Синтаксис, используемый для отображения пользовательской формы программными средствами следующее:
UserFormName.Показать
Чтобы отобразить пользовательскую форму с именем UserForm1, используйте следующее код:
UserForm1.Show
UserForm можно загрузить в память без фактического его отображения. Может потребоваться сложные UserForm несколько секунд появляется. Поскольку UserForm можно загружать в память, можно определить, когда несут эти дополнительные издержки. Чтобы загрузить UserForm1 в памяти без его отображения, используйте следующий код:
Load UserForm1
Чтобы отобразить пользовательскую форму, необходимо использоватьПоказать метод, который был ранее виден.

Как временно скрыть UserForm

Если требуется, чтобы временно скрыть UserForm, используйтеСкрыть метод. Требуется скрыть UserForm, если приложение включает в себя перемещение между пользовательские формы. Чтобы скрыть UserForm, используйте следующий код:
UserForm1.Hide
Для получения дополнительных сведений нажмите кнопку номер следующей статьи базы знаний Майкрософт Основание:
213747XL2000: Как для перемещения между настраиваемые пользовательские формы с кнопками

Как удалить пользовательскую форму из памяти

Удаление пользовательской формы из памяти, используйтеВыгрузка оператор. Выгрузка пользовательскую форму с именем UserForm1, с помощью Следующий код:
Unload UserForm1
При выгрузке UserForm в процедуру обработки события, связанные с пользовательской форме или связанное с элементом управления на пользовательской форме (например, нажатия кнопкиCommandButton элемент управления), можно использовать "Me" ключевое слово, а не имя Пользовательская форма. Чтобы использовать «Me» ключевое слово для выгрузки UserForm, используйте следующий код:
Unload Me

Как использовать события пользовательскую форму

Пользовательские формы поддерживает многие стандартные события, можно присоединить VBA процедуры. При возникновении события, процедуры, которая прикреплена к Запускает событие. Одно действие, которое выполняется пользователем, можно инициировать несколько события. Среди наиболее часто используемых события для UserForm — Инициализация события, Нажмите кнопку событие и Завершить работу событие.

Примечание Возможно, модуль Visual Basic, который содержит процедуру обработки события Название модуля пользовательской формы «позади». Модуль, содержащий события процедуры не отображается в Модули Коллекция окно Microsoft Project Explorer визуального Базовый редактор. Необходимо дважды щелкнуть в теле пользовательской формы для просмотра пользовательской формы Модуль кода.

Способы перехвата событий пользовательской формы

Для перехвата событий пользовательской формы, выполните следующие действия.
  1. Создайте новую книгу в Microsoft Excel.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Дважды щелкните значок Пользовательская форма для отображения Окно кода для пользовательской формы.
  5. В модуле введите следующий код:
    Private Sub UserForm_Click()
    
        Me.Height = Int(Rnd * 500)
        Me.Width = Int(Rnd * 750)
    
    End Sub
    
    Private Sub UserForm_Initialize()
    
        Me.Caption = "Events Events Events!"
        Me.BackColor = RGB(10, 25, 100)
    
    End Sub
    
    Private Sub UserForm_Resize()
    
        msg = "Width: " & Me.Width & Chr(10) & "Height: " & Me.Height
        MsgBox prompt:=msg, Title:="Resize Event"
    
    End Sub
    
    
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    
        msg = "Now Unloading " & Me.Caption
        MsgBox prompt:=msg, Title:="QueryClose Event"
    
    End Sub
    
    Private Sub UserForm_Terminate()
    
        msg = "Now Unloading " & Me.Caption
        MsgBox prompt:=msg, Title:="Terminate Event"
    
    End Sub
  6. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
При первой загрузке пользовательской формы используется макрос Инициализация событие изменения Заголовок Свойства пользовательской формы «Событий события события!» и Цвет фона Свойство темно-синего цвета.

При выборе пользовательской формы, вы начать Нажмите кнопку событие. В Нажмите кнопку событие изменяет размер пользовательской формы. Поскольку создана процедура очередь Изменение размера события, появление двух окон сообщений при нажатии кнопки Пользовательская форма. В Изменение размера событие возникает два раза с выделенным кодом Нажмите кнопку событие изменяет оба Ширина свойства и Высота Свойства пользовательской формы.

Закрытие пользовательской формы инициирует QueryClose событие. В QueryClose события отображает окно сообщения, которое содержит заголовок, что вы присваивает пользовательской формы в коде Инициализация событие. Можно использовать QueryClose событие, когда требуется выполнить набор действий, если пользователь закрывает пользовательской формы.

В Завершить работу событие создает окно сообщения о том, что заголовок Пользовательская форма является UserForm1. В Завершить работу событие возникает после удаления пользовательской формы из памяти и Возвращает заголовок пользовательской формы в исходное состояние.

Как запретить UserForm закрыт с помощью кнопки «Закрыть»

При выполнении пользовательской формы Закрыть добавлена кнопка в правом верхнем углу окна пользовательской формы. Если требуется запретить Пользовательская форма с абонентом с помощью Закрыть Кнопка, вы должны ловушки QueryClose событие.

В QueryClose событие происходит непосредственно перед UserForm выгружается из памяти. Использование CloseMode Аргумент QueryClose событие, для определения способа закрытия пользовательской формы. В vbFormControlMenu значение для CloseMode Указывает, что аргумент Закрытьбыла нажата кнопка. Для сохранения активных UserForm, установка Отмена Аргумент QueryClose события Значение true. Для использования QueryClose события для предотвращения закрытия с помощью пользовательской формы Закрыть кнопки, выполните следующие действия:
  1. Создайте новую книгу в Microsoft Excel.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Добавить CommandButton управление пользовательской формы.
  5. Дважды щелкните значок Пользовательская форма для отображения Окно кода для пользовательской формы.
  6. В окне кода введите следующий код:
    Private Sub CommandButton1_Click()
    
        Unload Me
    
    End Sub
    
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    
        IF CloseMode = vbFormControlMenu Then
            Cancel = True
            Me.Caption = "Click the CommandButton to close Me!"
        End If
    
    End Sub
  7. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
Пользовательская форма не закрывается при нажатии кнопки Закрыть Нажатие кнопки. Необходимо нажать кнопку CommandButton элемент управления для закрытия пользовательской формы.

Для получения дополнительных сведений нажмите кнопку следующие номера статей базы знаний Майкрософт:
207714XL2000: Ошибки времени выполнения, используя коллекцию пользовательские формы
211527 XL2000: Невозможно перетащите элемент управления пользовательской формы на листе
211868 XL2000: Ошибка при запуске макроса для вставки элемента управления в пользовательскую форму
213582 XL2000: Проблемы при использовании макроса для добавления элемента управления в пользовательскую форму
213583 XL2000: Не удается показать пользовательские формы в других проектах
213736 XL2000: Как определить ключ нажимается с помощью кнопки мыши
213744 XL2000: Как можно временно скрыть UserForm
213747 XL2000: Как для перемещения между настраиваемые пользовательские формы с кнопками
213749 XL2000: как Чтобы использовать пользовательскую форму для ввода данных
213768 XL2000: Как динамически изменять размеры формы пользователя
213774 XL2000: Инструкции по созданию загрузочного экрана с пользовательской форме

Код VBA

В Microsoft Excel имеется пятнадцати различных элементов управления, которые можно использовать на пользовательские формы. Этот раздел содержит различные примеры, использующие эти элементы управления программными средствами.

Примечание Содержит код VBA, в этой статье примеры, которые влияют на свойства и события для элементов управления. Если вы требуется, можно использовать окно «Свойства» для просмотра списка свойств, доступны для элемента управления. Чтобы просмотреть список свойств, на Представление меню, нажмите кнопку Окно "Свойства".

В режиме конструктора для редактирования элементов управления

При использовании редактора Visual Basic для создания диалогового окна при использовании режима разработки. В режиме конструктора можно редактировать элементы управления и изменять свойства элементов управления на пользовательской формы в окне «Свойства». Для отображения в окне «Свойства»Представление меню, нажмите кнопку Окно "Свойства".

Примечание Элементы управления не отвечать на события, находясь в режиме конструктора. При запуске диалогового окна для отображения его так, что пользователи видят его программа находится в режиме выполнения. Изменения, внесенные в свойства элемента управления при исполнении режим не сохраняются при выгрузке из памяти пользовательской формы.

Примечание Элементы управления для обработки событий в режиме выполнения.

Способы обращения к элементам управления в пользовательскую форму

Каким образом можно ссылаться на элементы управления программными средствами зависит от типа лист модуля Visual Basic, где выполнение кода. Если код выполняется из общего модуля, используется следующий синтаксис:
UserFormName.Controlname.Property = Значение
Например, если вы хотите установитьТекст свойства элемента Текстовое поле элемент управления с именем TextBox1 на пользовательской форме с именем UserForm1 значение Боб, используйте следующий код:
UserForm1.TextBox1.Text = "Bob"
Если код процедуры, который инициировал событие элемента управления или пользовательской формы, нет необходимости ссылаться на имя пользовательской формы. Вместо этого используйте следующий код:
TextBox1.Text = "Bob"
После присоединения кода к объекту код к одним из событий объекта. Во многих примерах, приведенных в этой статье, добавьте кодНажмите кнопку события CommandButton объект.

Элементы управления Label

Метка элементы управления в основном используются для описания других элементов управления на Пользовательская форма. A Метка элемент управления не редактируются пользователем во время пользовательской формы запущена. Использование Заголовок задать или вернуть текст в свойства Метка элемент управления. Другие часто используемые свойства форматирования Метка включить элемент управления Шрифт свойства и Цвет текста свойство.

Как использовать оператор WITH для форматирования элемента управления Label

Для использования С ПОМОЩЬЮ Инструкция для изменения свойств Метка элемент управления, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Добавить Метка управление пользовательской формы.
  5. Добавить CommandButton управление пользовательской формы.
  6. Дважды щелкните значок CommandButton Управление Откройте окно кода для пользовательской формы.
  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 With
    
    End Sub
  8. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
  9. Нажмите кнопку CommandButton.
Текст «Это пример 1» появляется в Метка Управление полужирным шрифтом Times New Roman с размером шрифта 14.

Элементы управления TextBox

Текстовое поле элементы управления часто используются для сбора сведений, вводимых пользователем. В Текст свойство содержит записи, сделанные в Текстовое поле элемент управления.

Использование элемента управления TextBox для проверки пароля

Если для свойства PasswordChar свойства элемента Текстовое поле элемент управления, он становится элементом управления «маскированные редактирования». Каждый символ, было введено Текстовое поле символ, указанный элемент управления визуально заменяется. Для использования Текстовое поле элемент управления для проверки пароля, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Добавить Текстовое поле управление пользовательской формы.
  5. На Представление меню, нажмите кнопкуСвойства Отображение окна «Свойства».
  6. В PasswordChar свойства элемента Текстовое поле элемент управления, тип *.

    Примечание При изменении значения звездочку.
  7. Добавить CommandButton управление пользовательской формы.
  8. Дважды щелкните значок CommandButton Управление Откройте окно кода для пользовательской формы.
  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 If
    
    End Sub
    
    
  10. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
  11. Введите пароль Пользовательская форма В диалоговом окне Текстовое поле элемент управления.
  12. Нажмите кнопку CommandButtonэлемент управления.
Например «userform» указан пароль. Если при вводе Неправильный пароль, появится окно сообщения о том, что ваш пароль неправильный, Текстовое поле элемент управления удаляется и затем повторно введите пароль. Когда Введите правильный пароль, появляется сообщение приветствия и является пользовательской формы закрыт.

Для получения дополнительных сведений нажмите кнопку номер следующей статьи базы знаний Майкрософт Основание:
213555XL2000: Отсутствует свойство проверки данных для UserForm текстовые поля

Элемента управления CommandButton

Можно использовать CommandButton элемент управления для запуска процедуры VBA. Обычно это процедуры VBA присоединенные к Нажмите кнопку события CommandButton элемент управления. Для использования CommandButton элемент управления, который выполняет процедуру при Нажмите кнопку событие происходит, выполните следующие действия.
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Добавить CommandButton управление пользовательской формы.
  5. Дважды щелкните значок CommandButton Управление отобразить окно кода для пользовательской формы.
  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. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
Цвет фона CommandButton1щелкните его при каждом изменении элемента управления.

Для получения дополнительных сведений о CommandButton элемента управления, щелкните следующий номер статьи в Microsoft Knowledge Base:
213572XL2000: Нажать кнопку "Отмена" не может выйти из пользовательской формы
213743 XL2000: Как установить кнопки по умолчанию на пользовательской форме

Элементы управления ListBox

Цель ListBox элемент управления — это предоставить пользователю список элементов для выбора с. Можно хранить список элементов для ListBox элемент управления на листе Excel. Для заполнения ListBox управления с диапазона ячеек на листе, с помощью Источник строк свойство. При использовании MultiSelect свойство, можно настроить ListBox элемент управления принимать множественного выбора.

Получение текущего выделенного элемента из элемента управления ListBox

Использование Значение свойства элемента ListBox элемент управления возвращает текущий выбранный элемент. Для возврата текущий выбранный элемент в одиночный выбор ListBox элемент управления, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. Введите значения, которые требуется в A1:A5 ячеек на листе Sheet1, используется для заполнения ListBox элемент управления.
  3. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  4. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  5. Добавить ListBox управление пользовательской формы.
  6. Дважды щелкните значок ListBox Управление отобразить окно программного кода ListBox элемент управления.
  7. В окне кода введите следующий код для Щелкните Список1 событие:
    Private Sub ListBox1_Click()
    
        MsgBox ListBox1.Value
    
    End Sub 
  8. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
При выборе элемента в списке, откроется окно с сообщением текущий выбранный элемент.

Получение выбранных элементов в элементе управления ListBox несколько select

Чтобы определить, какие элементы, выбранные в выделить несколько ListBox элемент управления, необходимо перебрать все элементы в списке, и затем запрос Выбранные свойство. Для возвращения элементов, выделенных в нескольких Select ListBox элемент управления, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. Введите значения, которые требуется в A1:A5 ячеек на листе Sheet1, используется для заполнения ListBox элемент управления.
  3. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  4. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  5. Добавить ListBox управление пользовательской формы.
  6. На Представление меню, нажмите кнопкуСвойства Чтобы открыть окно свойств.
  7. Введите значения, которые указаны в следующих ListBox свойства элемента управления:
       Property	   Value
       -----------     -----------------------
       MultiSelect	   1 - frmMultiSelectMulti
       RowSource	   Sheet1!A1:A8
  8. Добавить CommandButton управление пользовательской формы.
  9. Дважды щелкните значок CommandButton Управление отобразить окно кода для пользовательской формы.
  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. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
  12. Выберите один или несколько элементов в списке.
  13. Нажмите кнопку CommandButton1.
После нажатия кнопки CommandButton1, каждый элемент, При выборе в ListBox элемент управления отображается в отдельном окне сообщения. После того как все выбранные элементы отображаются в окне сообщения, пользовательская форма автоматически закрывается.

Использование свойства Источник строк для заполнения элемента управления ListBox с ячейками листа

Для использования Источник строк свойство для заполнения ListBox Управление из диапазона ячеек на листе, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. Введите значения, которые требуется в A1:A5 ячеек на листе Sheet1, используется для заполнения ListBox элемент управления.
  3. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  4. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  5. Добавить ListBox управление пользовательской формы.
  6. Добавить CommandButton управление пользовательской формы.
  7. Дважды щелкните значок CommandButton Управление отобразить окно кода для пользовательской формы.
  8. В окне кода введите следующий код для Нажмите кнопку CommandButton1 событие:
    Private Sub CommandButton1_Click()
        ListBox1.RowSource = "=Sheet1!A1:A5"
    End Sub 
  9. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.

    ПримечаниеListBox1 не содержит никаких значений.
  10. Нажмите кнопку CommandButton1.
ListBox1 заполняется значениями в A1:A5 ячеек на листе Sheet1.

Как заполнить элемент управления ListBox с помощью значений в массиве

В этом примере показано, как заполнить ListBox Управление с помощью переменной массива. Необходимо присвоить значения из Массив, в который ListBox один элемент управления одновременно. Как правило этот процесс требует Используйте структуры цикла, например Цикле for…Далее цикл. Для заполнения ListBox Управление с помощью переменной массива, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Добавить ListBox управление пользовательской формы.
  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.Show
    
    End Sub 
  7. На Сервис меню, нажмите кнопкуМакросы, нажмите кнопку PopulateListBox, а затем нажмите кнопкуЗапустить.
В PopulateListBox процедура создает простой массив, а затем добавляет элементы в Массив для ListBox элемент управления с помощью AddItem метод. После этого появится пользовательской формы.

Как использовать горизонтальный диапазон ячеек на листе для заполнения элемента управления ListBox

Если для свойства Источник строк свойства элемента ListBox горизонтальный диапазон ячеек, только первое значение элемента управления появится в ListBox элемент управления.

Для заполнения ListBox горизонтальный диапазон ячеек с помощью элемента управления AddItem метод, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. Введите значения, которые требуется в A1:E1 ячеек на листе Sheet1, используется для заполнения ListBox элемент управления.
  3. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  4. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  5. Добавить ListBox управление пользовательской формы.
  6. На Вставка меню, нажмите кнопкуМодуль Чтобы вставить лист модуля.
  7. В окне кода введите следующий код:
    Sub PopulateListWithHorizontalRange()
    
        For Each x In Sheet1.Range("A1:E1")
            UserForm1.ListBox1.AddItem x.Value
        Next
        
        UserForm1.Show
    
    End Sub
  8. На Сервис меню, нажмите кнопкуМакросы, нажмите кнопкуPopulateListWithHorizontalRange, а затем нажмите кнопкуЗапустить.
Макрос процедуры перебирает ячеек a1: E5 Sheet1, добавление значения для ListBox1 по одному.

ПримечаниеListBox1 не привязан к a1: E5 ячеек на листе Sheet1.

Как вернуть несколько значений из элемента управления ListBox, к которому привязан к нескольким столбцам данных

Можно изменить формат ListBox элементы управления для отображения более одного столбца данных. Это означает, что очередь ListBox элемент управления отображает несколько элементов в каждой строке списка. Для возвращать несколько значений из элемента, выбранного в списке, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. Введите следующие данные в ячейках, которые указаны в Sheet1.

    Свернуть эту таблицуРазвернуть эту таблицу
    A1: годB1: областьC1: продажи
    A2: 1996 B2: СевернаяC2: 140
    A3: 1996B3: ЮжнаяC3: 210
    A4: 1997B4: СевернаяC4: 190
    A5: 1997B5: ЮжнаяC5: 195
  3. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  4. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  5. Добавить Метка управление пользовательской формы.
  6. Добавить ListBox управление пользовательской формы.
  7. Щелкните правой кнопкой мыши ListBox, а затем нажмите кнопкуСвойства.
  8. Введите или выберите значения, которые указаны для следующие свойства ListBox элемент управления, как показано в следующей таблице:
       Property       Value
       ----------------------------
       BoundColumn     1
       ColumnCount     3
       ColumnHeads     True
       RowSource       Sheet1!A2:A5
  9. Дважды щелкните значок ListBox Управление отобразить окно программного кода ListBox элемент управления.
  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 & " " & Val3
    
    End Sub
  11. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
Если щелкнуть запись в ListBox изменении метки элемента управления, для отображения всех трех элементов в Эта запись.

Удаление всех элементов из элемента управления ListBox, который связан с листом

Чтобы удалить все элементы из ListBox значение, снимите флажок, связанный с листом в Источник строк свойство. Чтобы удалить элементы из ListBox элемент управления, связанный с листа, выполните следующие действия.
  1. Запустите Excel и откройте новую пустую книгу.
  2. Введите значения, которые требуется в A1:A5 ячеек на листе Sheet1, используется для заполнения ListBox элемент управления.
  3. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  4. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  5. Добавить ListBox управление пользовательской формы.
  6. Щелкните правой кнопкой мыши ListBox элемент управления, а затем Нажмите кнопку Свойства.
  7. В Источник строк свойство, тип Лист1!A5.
  8. Добавить CommandButton управление пользовательской формы.
  9. Дважды щелкните значок CommandButton Управление отобразить окно программного кода CommandButton элемент управления.
  10. В окне кода введите следующий код для Нажмите кнопку CommandButton1 событие:
    Private Sub CommandButton1_Click()
    
        ListBox1.RowSource = ""
    
    End Sub
  11. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.

    В ListBoxзаполнение элемента управления, которая была добавлена пользовательская форма значения, введенные на листе Sheet1.
  12. Нажмите кнопку CommandButton1.
Все элементы удаляются из ListBox1.

Удаление всех элементов из элемента управления ListBox, который не связан с листом

Нет, удаляет все элементы из одной команды VBA ListBox элемент управления, если список не связана с листа. Чтобы удалить все элементы из ListBox элемент управления, который заполняется массив Visual Basic, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Добавить ListBox управление пользовательской формы.
  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.Show
    
    End Sub 
  7. Добавить CommandButton управление пользовательской формы.
  8. Дважды щелкните значок CommandButton Управление отобразить окно программного кода CommandButton элемент управления.
  9. В окне кода введите следующий код для Нажмите кнопку CommandButton1 событие:
    Private Sub CommandButton1_Click()
    
        For i = 1 To ListBox1.ListCount
            ListBox1.RemoveItem 0
        Next I
    
    End Sub
  10. На Сервис меню, нажмите кнопкуМакросы, нажмите кнопку PopulateListBox, а затем нажмите кнопкуЗапустить.

    В ListBox заполнение элемента управления, а затем появится пользовательской формы.
  11. Нажмите кнопку CommandButton1.
Все элементы удаляются из ListBox1.

Для Дополнительные сведения об элементе управления ListBox, щелкните следующую статью номера статей базы знаний Майкрософт:
161598OFF: Способы добавления данных в ComboBox или ListBox в Excel или Word
211446 XL2000: TextColumn свойство отображается только первый столбец
211896 XL2000: Как для имитации сочетание управления редактирования списка в пользовательские формы
211899 XL2000: Проблемы с установкой заголовков столбцов в элементе управления ListBox
213721 XL2000: Как удалить все элементы из списка или поля со списком
213722 XL2000: Как с помощью свойства TextColumn
213723 XL2000: Как для возвращения значения из раскрывающегося списка, отображающего несколько столбцов
213746 XL2000: как для заполнения элемента управления списка с помощью нескольких диапазонов
213748 XL2000: как Чтобы взять один список, основанный на другом списке
213752 XL2000: Использование метода AddItem вызывает ошибку, когда источник строк с привязкой к данным
213756 XL2000: С помощью метода RemoveItem с элементом управления ListBox или ComboBox
213759 XL2000: как Чтобы определить, какие элементы выбраны в поле со списком

Элементы управления ComboBox

Можно использовать Поле со списком управлять раскрывающийся список или поле со списком, где можно Выберите значение из списка или введите новое значение. В Стиль Определяет свойство, если Поле со списком элемент управления действует как раскрывающийся список или поле со списком.

Примечание Во всех примерах, приведенных в предыдущем разделе ListBox элемент управления также может быть применен к Поле со списком элемент управления, за исключением "Получение выделенных элементов Пример нескольких элемента ListBox Выбор".

Как добавить новый элемент в список, если элемент управления ComboBox не связана с листа

При вводе значения, не включен в список в Поле со списком элемент управления, можно добавить в список новое значение. Чтобы добавить новое значение, в Поле со списком Если Поле со списком элемент управления не связан с листа, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  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. Дважды щелкните значок 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. В Поле со списком элемент управления, тип Mangoes (или любое значение уже не в списке).
  12. Нажмите кнопку CommandButton1.
Новое значение, которое теперь отображается в конце списка.

Как добавить новый элемент в список, если связанный элемент управления ComboBox на лист

Когда пользователь вводит значение, которое уже не находится в списке Поле со списком элемент управления, можно добавить в список новое значение. Чтобы добавить новое значение, в Поле со списком элемент управления списка, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. Введите значения, которые требуется в A1:A5 ячеек на листе Sheet1, используется для заполнения Поле со списком элемент управления.
  3. Выберите A1:A5 ячеек на листе Sheet1.
  4. На Вставка Выберите пунктИмя, а затем нажмите кнопку Определение.

    ВИмена в книге поле типа ListRange , и выберите команду ОК. Это создает определенное имя ListRange. Можно использовать определенное имя ListRange для привязки Источник строк свойства элемента Поле со списком элемент управления на лист.
  5. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  6. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  7. Добавить Поле со списком управление пользовательской формы.
  8. В Свойства Дополнительные ComboBox1, тип Лист1!ListRange какИсточник строк свойство.
  9. Добавить CommandButton управление пользовательской формы.
  10. Дважды щелкните значок 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 If
    
    End Sub
  12. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.

    Пользовательская форма отображается на листе Sheet1.
  13. В Поле со списком элемента управления, введите значение, которое уже не находится в списке.
  14. Нажмите кнопку CommandButton1.
Новый элемент, которые в Поле со списком элемент управления добавляется в список и в список, Поле со списком элемент управления привязан к включает ячейки a1: a6.

Отображение списка элемента управления ComboBox при появлении пользовательской формы

В некоторых случаях бывает полезно для отображения списка Поле со списком элемент управления при первом появлении пользовательской форме. В следующем примере используется очередь Активация события пользовательской формы. Чтобы отобразить список Поле со списком элемент управления, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. Введите значения, которые требуется в A1:A5 ячеек на листе Sheet1, используется для заполнения Поле со списком элемент управления.
  3. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  4. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  5. Добавить Поле со списком управление пользовательской формы.
  6. В Свойства Дополнительные ComboBox1, тип Лист1!A5 какИсточник строк свойство.
  7. Дважды щелкните значок Пользовательская форма для отображения Окно кода для пользовательской формы.
  8. В окне кода введите следующий код для Нажмите CommandButton событие:
    Private Sub UserForm_Activate()
    
               ComboBox1.DropDown
    
           End Sub
  9. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
Пользовательская форма отображается на листе Sheet1 и приведен список ComboBox1.

Отображение списка одного элемента управления ComboBox при выборе варианта в другом элементе управления ComboBox

Для автоматического отображения списка одного Поле со списком элемент управления, когда выбор сделан в другой Поле со списком элемент управления, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. Введите в ячейки a1: a10 на листе Лист1, значения, которые требуется используется для заполнения Поле со списком элемент управления.
  3. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  4. На Вставка меню, нажмите кнопкуМодуль.
  5. В окне кода модуля введите следующий код:
    Sub DropDown_ComboBox()
    
        UserForm1.ComboBox2.DropDown
    
    End Sub
  6. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  7. Добавить Поле со списком управление пользовательской формы.
  8. В Свойства Дополнительные ComboBox1, тип Лист1!A5 какИсточник строк свойство.
  9. Дважды щелкните значок Поле со списком элемент управления, чтобы открыть окно кода для Поле со списком элемент управления.
  10. В окне «код» Поле со списком элемента управления, введите следующий код для Щелкните поле со списком событие:
    Private Sub ComboBox1_Click()
    
        Application.OnTime Now, "DropDown_ComboBox"
    
    End Sub
  11. Добавить еще Поле со списком управление пользовательской формы.
  12. В Свойства Дополнительные ComboBox2, тип Лист1!A6:A10 какИсточник строк свойство.
  13. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
При выборе элемента в ComboBox1 список, список для ComboBox2 автоматически откроется.

Для получения дополнительных сведений сведения об элементе управления ComboBox, обратитесь к следующей статье для просмотра статьи базы знаний Майкрософт:
161598OFF: Способы добавления данных в ComboBox или ListBox в Excel или Word
211446 XL2000: TextColumn свойство отображается только первый столбец
211899 XL2000: Проблемы с установкой заголовков столбцов в элементе управления ListBox
213717 XL2000: Ошибка во время выполнения с помощью метода раскрывающийся список со списком
213718 XL2000: Отображение списка поля со списком при пользовательской формы отображается как
213721 XL2000: Как удалить все элементы из списка или поля со списком
213722 XL2000: Как с помощью свойства TextColumn
213752 XL2000: С помощью метода AddItem приводит к ошибке при привязке данных — это источник строк
213756 XL2000: С помощью метода RemoveItem с элементом управления ListBox или ComboBox

Управления Frame

Использование Рамка элемент управления, чтобы логически сгруппировать связанные элементы в пользовательской форме. Рамка часто используемые элементы управления в группу OptionButton элементы управления.

Как организовать цикл через все элементы управления в элементе управления Frame

Для использования Для Each…Далее цикл доступ все элементы управления Рамка элемент управления, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Добавить Рамка управление пользовательской формы.
  5. Добавить OptionButton Управление Рамка элемент управления.

    Повторите этот шаг для добавления двух дополнительных OptionButton элементы управления Рамка элемент управления.
  6. Дважды щелкните значок Рамка элемент управления, чтобы открыть Окно программного кода Рамка элемент управления.
  7. В окне кода введите следующий код для Щелкните рамку событие:
    Private Sub Frame1_Click()
    
        Dim Ctrl As Control
        
        For Each Ctrl In Frame1.Controls
            Ctrl.Enabled = Not Ctrl.Enabled
        Next
    
    End Sub
  8. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
  9. В пользовательской форме, нажмите кнопку Рамкаэлемент управления.
При первом нажатии кнопки Рамка элемент управления, все элементы управления Рамка элемент управления недоступны. Если нажать кнопку Рамкаэлемент управления, элементы управления снова становятся доступными.

Элемент управления OptionButton

Можно использовать группы OptionButton элементы управления один вариант из группы параметров. Вы можете воспользуйтесь одним из следующих методов для группировки OptionButton элементы управления:
  • Рамка Управление
  • Имя_группы Свойство
Примечание В На значение, Да значение и Значение true указать, что значение OptionButton выбран. В Выключение значение, Нет значение и Значение false указать, что значение OptionButton не выбран.

Определение элемента управления OptionButton, выбранного в элементе управления Frame доступны для элементов управления OptionButton

При группировке Переключателей С элементы управления с помощью Рамка элемент управления, можно определить, OptionButton элемент управления, который установлен по цикла по всем элементам управления в очередь Рамка Проверка и управления Значение свойства каждого элемента управления. Для определения OptionButton элемент управления, который выбран, выполните следующие действия.
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Добавить Рамка управление пользовательской формы.
  5. Добавить OptionButton Управление Рамка элемент управления.

    Повторите этот шаг для добавления двух дополнительных OptionButton элементы управления Рамка элемент управления.
  6. Добавить CommandButton на пользовательской форме вне элемента управления Рамка элемент управления.
  7. Дважды щелкните значок CommandButton Управление отобразить окно кода для пользовательской формы.
  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. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
  10. В Пользовательская форма, выберите один OptionButton элемент управления, а затем нажмите кнопкуCommandButton1.
Появится окно сообщения, которое содержит заголовок в настоящее время выбран OptionButton элемент управления.

Определение элемента управления OptionButton, выбранной

Следующий пример предназначен для определения OptionButton элемент управления, который выбран в Group1. Чтобы создать пользовательскую форму, имеющую две группы OptionButton элементы управления, выполните следующие действия.
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Добавить Рамка управление пользовательской формы.
  5. Добавить OptionButton Управление Рамка элемент управления.

    Повторите этот шаг для добавления двух дополнительных OptionButton элементы управления Рамка элемент управления.
  6. Для каждого OptionButton элемент управления, тип «Группа1» В диалоговом окне Имя_группы свойство.
  7. Повторите шаги 4 и 5 для создания второго Рамка элемент управления, который содержит три OptionButton элементы управления.
  8. Для каждого OptionButton контроль за секунду Рамка элемент управления, тип Группа2 В диалоговом окне Имя_группы свойство.
  9. Добавить CommandButton на пользовательской форме вне элемента управления Рамка элементы управления.
  10. Дважды щелкните значок CommandButton Управление отобразить окно кода для пользовательской формы.
  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. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
  13. В пользовательской форме выберите один OptionButton элемент управления в группу Group1 и нажмите кнопкуCommandButton1.
Появится окно сообщения, которое содержит заголовок OptionButton элемент управления, который выбран в данный момент.

Для получения дополнительных сведений о Элемента управления OptionButton, щелкните следующий номер статьи в Microsoft Knowledge Base:
213724XL2000: Проблемы, с помощью свойства Тройное для переключателя

Элемент управления CheckBox

Можно использовать Флажок элемент управления для указания значения true или false. A Флажок элемент управления, отображаемый с установленным флажком в его показывает значение Значение true. A Флажок Нет, появится флажок указывает на значение Значение false. Если значение Тройное Это свойство Значение true, Флажок элемент управления также может иметь значение Значение NULL. A Флажок элемент управления, который имеет значение Значение NULL Вероятно, недоступен.

Примечание В На значение, Да значение и Значение true указать, что значение Флажок элемент управления выделен. В Выключение значение, Нет значение и Значение false указать, что значение Флажок элемент управления снят.

Как проверить значение элемента управления CheckBox

Для использования Значение свойство возвращает текущее значение Флажок элемент управления, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Добавить Флажок управление пользовательской формы.
  5. В списке свойства для CheckBox1, выберите Значение true как Тройное свойство.
  6. Дважды щелкните значок Флажок Управление отобразить окно программного кода Флажок элемент управления.
  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 Select
    
    End Sub
  8. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
При нажатии кнопки Флажок элемент управления, Заголовок Флажок изменения элемента управления в соответствии с текущим значением.

Элемент управления ToggleButton

A ToggleButton элемент управления имеет тот же внешний вид, как CommandButton элемент управления, пока вы не щелкните его. При нажатии кнопки ToggleButton элемент управления, которая нажата или перетекает. В Значение свойства элемента ToggleButton элемент управления Значение true При выборе этой кнопки и Значение false Если кнопка не выбрана. Если значение Тройное Это свойство Значение true, ToggleButton элемент управления также может иметь значение Значение NULL. A ToggleButton элемент управления, который имеет значение Значение NULL Вероятно, недоступен.

Примечание В На значение, Да значение и Значение true указать, что значение ToggleButton элемент управления выделен. В Выключение значение, Нет значение и Значение false указать, что значение ToggleButton элемент управления не установлен.

Как получить значение элемента управления ToggleButton

Чтобы получить значение ToggleButton элемент управления, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Добавить ToggleButton управлять пользовательской формы.
  5. Добавить Метка управление пользовательской формы.
  6. Дважды щелкните значок ToggleButton Управление Откройте окно программного кода ToggleButton элемент управления.
  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 If
    
    End Sub
  8. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
При нажатии кнопки ToggleButton элемент управления, изменяет цвет фона пользовательской формы.

Как создать группу взаимоисключающих элементов управления ToggleButton

В этом примере используется Кнопка вверх событие, чтобы задать переменную и вызывает метод ExclusiveToggleButtons процедура. В ExclusiveToggleButtons Определяет процедуру ToggleButton элемент управления выбран и отменяет другие. Для создания группа взаимно исключают друг друга ToggleButton элементы управления, выполните следующие действия.
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуМодуль.
  4. В окне кода модуля введите следующий код:
    ' Variable that holds the name of the ToggleButton that was clicked.
    Public clicked As String
    
    Sub 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
        Next
    
    End Sub
  5. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  6. Добавить Рамка управление пользовательской формы.
  7. Добавить ToggleButton Управление Рамка элемент управления.

    Повторите этот шаг для добавления двух дополнительных ToggleButton элементы управления Рамка элемент управления.
  8. Дважды щелкните значок Рамка элемент управления для отображения окно кода для пользовательской формы.
  9. Введите следующий код в окно кода для модуля для ToggleButton 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. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
При нажатии кнопки ToggleButton элемент управления, ранее выбранные ToggleButton элемент управления будет отменена.

Элемент управления TabStrip

Использование TabStrip элемент управления для просмотра различных наборов данных для набора элементы управления.

Способ управления TabStrip управления программными средствами

Для изменения Цвет фона свойства элемента Изображение элемент управления на основе выбранной вкладки, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Редактор Visual Basic.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Добавить TabStrip управление пользовательской формы.
  5. Добавить Изображение элемент управления, который охватывает основания TabStrip элемент управления, но которое не охватывает вкладок.
  6. Введите в панели Свойства Image1& H000000FF & В диалоговом окне Цвет фона свойство.
  7. Дважды щелкните значок TabStrip элемент управления, чтобы открыть окно кода для TabStrip элемент управления.
  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 Select
    
    End Sub
  9. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
Цвет Изображение управления изменениями в зависимости от страницы в TabStrip элемент управления, который является активным.

Для получения дополнительных сведений о TabStrip элемент управления, щелкните следующий номер статьи в База знаний корпорации Майкрософт:
213254XL2000: Как использовать элемент управления TabStrip на пользовательской форме

Многостраничные управления

Использование Многостраничные элемент управления для работы с большим количеством данных, могут быть распределены по несколько категорий. A Многостраничные элемент управления состоит из одного или более Страница объектами, содержащими другой набор элементов управления. Вы можете Установка активной страницы программным способом путем установки Значение свойства элемента Многостраничные элемент управления.

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

Чтобы добавить Многостраничные управлять и контролировать с помощью макроса, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Добавить Многостраничные управление пользовательской формы.
  5. Добавить Метка Управление Page1 на Многостраничные элемент управления.
  6. Добавить Текстовое поле Управление Page1 на Многостраничные элемент управления.
  7. На Многостраничные элемент управления, нажмите кнопку Страница 2, а затем повторите шаги 5 и 6 для добавления Метка элемент управления и Текстовое поле элемент управления.
  8. Дважды щелкните значок Многостраничные элемент управления, чтобы открыть окно кода для Многостраничные элемент управления.
  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 Select
    
    End Sub
  10. В окне кода введите следующий код для Пользовательская форма инициализации событие:
    Private Sub UserForm_Initialize()
    
        ' Force Page1 to be active when UserForm is displayed.
        MultiPage1.Value = 0
        Label1.Caption = ""
    
    End Sub
  11. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.

    В Текстовое поле Управление на Page1, тип Тест. Когда вы Перейдите на вкладку Страница 2 Вкладка, TextBox2 снят и заголовок Label2 изменения в записи, сделанные в TextBox1 на Page1 («Test»).

Как создать интерфейс мастера с помощью многостраничных управления

Когда задача требует несколько добавочных шагов мастера интерфейса может быть очень эффективным. Можно использовать Многостраничные элемент управления для создания интерфейса мастера вместо использования нескольких Пользовательские формы. В этом примере управляет Многостраничные элемент управления, который содержит три страницы. Процедура, к которой присоединена Инициализация событие UserForm отключает страница 2 и Page3 и заставляет Page1 из Многостраничные Управление активными.

Примечание Когда индексирование страниц Многостраничные элемент управления с помощью Страницы страница нуля является коллекция, первой страницы в коллекции. Это процедура также задает заголовок CommandButton элементы управления и отключает <> Нажатие кнопки.

Примечание Процедуры, которая назначается Нажмите кнопку события CommandButton1 функциональные возможности элементов управления <> Нажатие кнопки. Процедуры, которая назначается Нажмите кнопку события CommandButton2 функциональные возможности элементов управления Далее > Нажатие кнопки. Создание с помощью мастера интерфейса Многостраничные элемент управления, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Добавить Многостраничные управление пользовательской формы.
  5. Щелкните правой кнопкой мыши Page1 вкладки, а затем нажмите кнопкуНовая страница Чтобы добавить Page3 к Многостраничные элемент управления.
  6. Добавить CommandButton элемент управления в пользовательскую форму, не Многостраничные элемент управления.

    Повторите этот шаг для добавления в секунду CommandButton управлять пользовательской формы.
  7. Дважды щелкните значок Пользовательская форма Чтобы открыть код окно для пользовательской формы.
  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" button
    Private 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 Select
    
    End Sub
    
    ' Procedure for the "Next>" button
    Private 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 Select
    
    End Sub
    
  9. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
При нажатии кнопки Далее >Активируется страница 2 и очередь <> кнопка становится доступной. При нажатии кнопки Далее > во второй раз, активируется Page3 и заголовок CommandButton2 изменения в «Готово».

Элемент управления ScrollBar

Можно использовать Полоса прокрутки элемент управления изменить значение, отображаемое по другой управления, такие как Метка элемент управления.

Как изменить элемент управления Label, основанный на значении элемента управления ScrollBar

Для изменения Заголовок свойства элемента Метка текущее значение элемента управления Значение свойства элемента Полоса прокрутки элемент управления, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Добавить Полоса прокрутки управление пользовательской формы.
  5. Добавить Метка управление пользовательской формы.
  6. Дважды щелкните значок Полоса прокрутки элемент управления, чтобы открыть окно кода для Полоса прокрутки элемент управления.
  7. В окне кода введите следующий код для Изменение ScrollBar1 событие:
    Private Sub ScrollBar1_Change()
    
        Label1.Caption = ScrollBar1.Value
    
    End Sub
  8. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
При прокрутке с помощью Полоса прокрутки элемент управления, Label1 обновляется текущее значение Полоса прокрутки элемент управления.

Элемент управления SpinButton

A SpinButton управления, как Полоса прокрутки управления, часто используется для увеличения или уменьшения значения значение другого управления, такие как Метка элемент управления. В SmallChange свойство определяет, какое значение SpinButton При щелчке элемента управления изменения.

Как добавить элемент управления SpinButton, которое увеличивает или уменьшает дату, которая хранится в элементе управления TextBox

Чтобы добавить SpinButton элемент управления, который увеличивается или уменьшается на дату, которая хранится в Текстовое поле элемент управления, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Добавить SpinButton управление пользовательской формы.
  5. Добавить Текстовое поле управление пользовательской формы.
  6. Дважды щелкните значок SpinButton Управление Откройте окно программного кода SpinButton элемент управления.
  7. В окне кода введите следующий код для SpinButton1 SpinUp событие:
    Private Sub SpinButton1_SpinUp()
    
        TextBox1.Text = DateValue(TextBox1.Text) + 1
    
    End Sub
    
  8. В окне кода введите следующий код для SpinButton1 SpinDown событие:
    Private Sub SpinButton1_SpinDown()
    
        TextBox1.Text = DateValue(TextBox1.Text) - 1
    
    End Sub
    
  9. В окне кода введите следующий код для Пользовательская форма инициализации событие:
    Private Sub UserForm_Initialize()
    
        TextBox1.Text = Date
    
    End Sub
    
  10. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.
При появлении UserForm, текущая дата отображается в TextBox1. При нажатии кнопки SpinButton элемент управления, дата увеличивается или уменьшается на единицу день.

В этом примере, при изменении SmallChange свойства элемента SpinButton1, вы не влияют на количество дней, запись в TextBox1 изменен по щелчку SpinButton1. Количество дней, определяется только процедуры, которые присоединенные к SpinUp события и SpinDown события SpinButton1.

Для получения дополнительных сведений о SpinButton элемента управления, щелкните следующий номер статьи в Microsoft Knowledge Base:
213224XL2000: пример Visual Basic с помощью кнопки вращаться с датой

Элемент управления RefEdit

В RefEdit элемент управления имитирует поведение поля ссылки, которые являются встроенные в Microsoft Excel. Можно использовать Значение Чтобы получить текущий адрес ячейки, которые хранятся в RefEdit элемент управления.

Заполнение диапазона ячеек на основе диапазона, выбранного с помощью элемента управления RefEdit

Для использования RefEdit элемент управления для заполнения ячейки, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Добавить RefEdit управление пользовательской формы.
  5. Добавить CommandButton управление пользовательской формы.
  6. Дважды щелкните значок CommandButton Управление Откройте окно программного кода CommandButton элемент управления.
  7. В окне кода введите следующий код для Нажмите кнопку CommandButton1 событие:
    Private Sub CommandButton1_Click()
    
        Dim MyRange As String
        MyRange = RefEdit1.Value
        Range(MyRange).Value = "test"
        Unload Me
    
    End Sub
  8. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.

    UserFormappears.
  9. Нажмите кнопку RefEdit элемент управления.

    Обратите внимание, что свертывание пользовательской формы.
  10. Выделите диапазон ячеек, такие как A1:A5 и нажмите кнопку кнопки в RefEdit элемент управления для развертывания пользовательской формы.
  11. Нажмите кнопку CommandButton1.
Пользовательская форма закрывается, и теперь выделенные ячейки содержат слово «тест».

Для Дополнительные сведения об элементе управления RefEdit, щелкните следующую статью номер статьи базы знаний Майкрософт:
213776XL2000: Как использовать элемент управления RefEdit с пользовательской формы

Элемент управления изображения

Цель Изображение элемент управления является отображение рисунка на пользовательской форме. Для назначения изображение Изображение элемент управления во время выполнения, использование LoadPicture функция.

Как загрузить рисунок в рамку рисунка

Для вставки Изображение элемент управления, который предлагается выбрать изображение для загрузки, когда вы Перейдите на вкладку Изображение элемент управления, выполните следующие действия:
  1. Запустите Excel и откройте новую пустую книгу.
  2. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  3. На Вставка меню, нажмите кнопкуПользовательская форма Чтобы вставить UserForm в книге.
  4. Добавить Изображение управлять пользовательской формы.
  5. Дважды щелкните значок Изображение элемент управления, чтобы открыть Окно программного кода Изображение элемент управления.
  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 If
    
    End Sub
    
  7. На Запустить меню, нажмите кнопку Запустить Sub/UserForm.

    Пользовательская форма отображается.
  8. Нажмите кнопку Изображение элемент управления.

    Когда нажать кнопку Изображение элемент управления, Выберите изображение, чтобы открыть «Свойства системы» появится, а затем выберите файл точечного рисунка для вставки в элемент управления.
Щелкните для получения дополнительных сведений об элементе управления Image номер следующей статьи базы знаний Майкрософт Основание:
213732XL2000: С помощью функция LoadPicture с элементом управления Image

Дополнительные сведения

В обозревателе объектов

Полный список всех свойств и методов для конкретного команда доступна в Обозреватель объектов. Чтобы найти эти данные в Excel, выполните следующие действия:
  1. На Сервис Выберите пунктМакрос, а затем нажмите кнопку Visual Basic Редактор.
  2. На Представление меню, нажмите кнопку Объект Обозреватель.
  3. В Поиск текста Введите имя элемент управления и нажмите кнопку Поиск.
Для получения дополнительных сведений об использовании обозревателя объектов в редакторе Visual Basic, нажмите кнопку Справка по Microsoft Visual BasicВ меню Справка Тип меню Обозреватель объектовв поле помощника Office или мастера ответов и нажмите кнопку Поиск Чтобы просмотреть раздел.
Для получения дополнительных сведений о как установить Справка: Microsoft Excel на вашем компьютере, нажмите одну из следующих номер статьи базы знаний Майкрософт:
231946OFF2000: Как добавить или удалить одно приложение или компонент Office

Свойства

Код статьи: 829070 - Последний отзыв: 19 сентября 2011 г. - Revision: 5.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Office Excel 2003
  • Microsoft Excel 2010
  • Microsoft Office Excel 2007
Ключевые слова: 
kbprogramming kbfunctions kbhowtomaster kbhowto kbmt KB829070 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:829070

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com