Как изменить размер шрифта label в vba excel

Vba-урок 12.2. элементы управления (controls)

Запросы

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

Есть два основных вида запросов: запросы на выборку и на изменение. Запрос на выборку только находит данные и предоставляет к ним доступ. Результаты такого запроса можно просмотреть на экране, распечатать или скопировать в буфер обмена, а также использовать в качестве источника записей для формы или отчета.

С помощью запроса на изменение, как видно из названия, можно выполнять определенные операции с найденными данными: создавать таблицы, добавлять информацию в уже существующие таблицы, а также обновлять или удалять данные.

Дополнительные сведения о запросах см. в статье Знакомство с запросами.

Свойство Cells рабочего листа

У Объекта листа есть другое свойство, называемое Cells, которое очень похоже на Range . Есть два отличия:

  1. Cells возвращают диапазон только одной ячейки.
  2. Cells принимает строку и столбец в качестве аргументов.

В приведенном ниже примере показано, как записывать значения
в ячейки, используя свойства Range и Cells.

Sub IspCells()

    ' Написать в А1
    Sheet1.Range("A1").Value2 = 10
    Sheet1.Cells(1, 1).Value2  = 10

    ' Написать в А10
    Sheet1.Range("A10").Value2 = 10
    Sheet1.Cells(10, 1).Value2  = 10

    ' Написать в E1
    Sheet1.Range("E1").Value2 = 10
    Sheet1.Cells(1, 5).Value2  = 10

End Sub

Вам должно быть интересно, когда использовать Cells, а когда Range. Использование Range полезно для доступа к одним и тем же ячейкам при каждом запуске макроса.

Например, если вы использовали макрос для вычисления суммы и
каждый раз записывали ее в ячейку A10, тогда Range подойдет для этой задачи.

Использование свойства Cells полезно, если вы обращаетесь к
ячейке по номеру, который может отличаться. Проще объяснить это на примере.

В следующем коде мы просим пользователя указать номер столбца. Использование Cells дает нам возможность использовать переменное число для столбца.

Sub ZapisVPervuyuPustuyuYacheiku()

    Dim UserCol As Integer
    
    ' Получить номер столбца от пользователя
    UserCol = Application.InputBox("Пожалуйста, введите номер столбца...", Type:=1)
    
    ' Написать текст в выбранный пользователем столбец
    Sheet1.Cells(1, UserCol).Value2 = "Иван Петров"

End Sub

В приведенном выше примере мы используем номер для столбца,
а не букву.

Чтобы использовать Range здесь, потребуется преобразовать эти значения в ссылку на
буквенно-цифровую ячейку, например, «С1». Использование свойства Cells позволяет нам
предоставить строку и номер столбца для доступа к ячейке.

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

Командная кнопка Button

Элемент управления Button
(командная кнопка) предназначен для выполнения какого-либо действия в
программе.

Свойство Text
этого элемента должно показывать назначение командной кнопки.

Если щёлкнуть мышью по этому элементу, то будет выполняться
обработчик события Click,
связанный с этим элементом.

Для кнопки можно задать клавиши быстрого доступа. В этом случае
можно не щёлкать мышь по кнопке, а нажимать сочетание клавиш
Alt+<подчёркнутый символ в надписи кнопки>. Для задания
клавиши быстрого доступа необходимо в свойстве текст кнопки перед
необходимой буквой поставить символ &
(амперсанд).

Для того, чтобы символ &
(амперсанд) воспринимался в названии просто как символ,
необходимо задать свойству UseMnemonic
значение false.

Как создать выпадающий список

Для этого необходимо сначала создать форму, если она у Вас уже есть то это даже лучше, но для начинающих я повторюсь.

Открываем Access в режиме конструктора, выбираем «Формы» на окне объекты, и жмем создать

Затем нам предложат выбрать источник данных, но нам этого не нужно мы просто жмем «ОК»

Затем на панели элементов выбираем элемент «Поле со списком» и перетащим его на нашу форму, и сразу же в это время запустится мастер создания полей со списком. На первом шаге нам предложат, выбрать способ получения данных, и для начала мы выберем «Фиксированный набор значений», в дальнейшем мы разберем, как можно использовать получения данных на основе запроса или таблицы. А пока жмем далее:

Затем необходимо ввести набор значений, которые будет содержать наш список. И здесь мне бы хотелось бы рассказать, что очень часто мы используем два столбца, т.е. в первом храним идентификатор, а во втором само значение. Другим словами, чтобы не записывать в базу все значение целиком, мы записываем только идентификатор (например, для оптимизации размера базы данных). Поэтому мы укажем 2 столбца, и заполним их следующим образом:

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

Вот в принципе и все, единственное на следующем шаге мы можем задать подпись нашего выпадающего списка и жмем «Готово»

В итоге у нас на форме будет отображено следующее

Надпись «Свободный» означает, что данному выпадающему списку не заданно не одно поле из источника данных, поэтому все, что мы выберем, никуда не запишется.

Теперь сохраняем форму, и запускам ее:

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

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

И теперь у нас все будет выглядеть как надо

Отображается второй столбец, а записывается в базу первый, т.е. идентификатор.

Ну и теперь вкратце, как и обещал, покажу, как задать список значений на основе запроса к базе данных. Не используя при этом ввод значений, так как все наши значения будут храниться в базе. Для этого давайте определимся с источником, пусть это будет таблица test_table, вот с таким данными, простой запрос select:

И теперь чтобы переделать наше поле со списком заходим в его свойства, переходим на вкладку «Данные» и меняем там «Тип источника строк» на «Таблица, представление, процедура» и «Источник строк» на запрос скажем вот такой

От себя я добавил условие where priz = 0 просто так чтобы Вы понимали, что эта таблица может использоваться для разных полей со списком.

Больше ничего не меняем, просто сохраняем и запускаем нашу форму

И теперь наш выпадающий список берет значения не из простого списка, а из базы данных.

С выпадающими списками Вы теперь знакомы, и знаете даже небольшие хитрости, которые помогут Вам в реализации Ваших задач. Удачи!

5.2. Добавление новой диаграммы в форму или отчет

Для добавления диаграмм необходимо
иметь установленное приложение MS Graph 5.0. MS Access не
устанавливает MS Graph
по умолчанию при установке с параметром «Обычная». При создании элемента управления-диаграммы непосредственно
в форме или отчете MS Access вызывает мастера по созданию диаграмм,
упрощающего выполнение этой задачи. Кнопка,
создающая диаграмму, не входит в состав ни одной стандартной панели
инструментов. При необходимости, следует добавить кнопку
«Диаграмма» на панель инструментов конструктора форм или отчетов.

· 
Для построения диаграммы вам,
прежде всего, необходимо подготовить данные к виду удобному для отображения
на диаграмме. При построении диаграммы
ограничьте количество отображаемых на ней данных, так как в противном случае
диаграмма окажется загроможденной и будет плохо «читаться».

· 
Если таблица, для которой нужно
создать диаграмму, находится в другой базе данных или Приложении, импортируйте,
или свяжите
ее с базой данных MS Access.

· 
Решите, какие таблицы или
запросы будут служить источником данных для диаграммы. Если будет использован
запрос, создайте его и включите следующие поля:

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

· 
Содержащие подписи, которые следует отобразить на диаграмме.

Поля привязки,
если требуется, чтобы диаграмма отражала изменения в поле от записи к записи.
Значения в поле привязки должны соответствовать в каждой записи значениям
поля в базовой таблице или запросе формы или отчета. Предположим, например,
что базовая таблица формы содержит поле «КодТовара«. Диаграмму следует привязать к этому полю,
поэтому его необходимо включить в базовый запрос диаграммы.

F Задание.

Создайте аналогичную диаграмму,
используя возможности построения диаграмм самого MS Access.

· 
С помощью Конструктора отчетов
создайте отчет (п.4. данного задания).

· 
В режиме конструктора отчета
выберите команду Вставка
Þ Диаграмма.

Если требуется часто создавать
диаграммы, добавьте кнопку «Диаграмма»   на панель элементов.

· 
Установите указатель на панель
инструментов и нажмите правую кнопку мыши.

· 
Выберите команду «Настройка…».

Переменные. Типы данных

В программировании базовыми понятиями являются «переменная» и «значение переменной».

Переменная (variable) — это величина (объект), значение которой меняется в ходе выполнения программы. Переменная в компьютере представляется по присвоенному ей имени (идентификатору), и ее значение определяется оператором присваивания.

Для каждого идентификатора переменной выделяется место в памяти, где хранится ее значение.

Для каждого встречаемого в программе нового имени переменной VBA автоматически определяет ее (выделяет для нее место в памяти). Это место остается пустым до присвоения переменной какого-либо значения. Переменные сравнивают с контейнерами для хранения данных любых типов.

Типы данных делятся на

  • простые (или скалярные)
    • числовые,
    • строковые,
    • логические
  • сложные (или структурированные) – массив – n-мерная совокупность индексированных переменных одного типа. Массиву присваивается имя. Массив состоит из элементов (переменных), которые в памяти размещаются последовательно. Обращение в программе ко всему массиву производится по его имени. Для обращения к конкретному элементу массива необходимо указать его имя и в круглых скобках – индекс (номер) массива. Все элементы массива имеют одно имя, но различные номера (положения) в массиве.

Стандартные типы данных

Тип
данных

Префикс

Символ описания

Размер

Значение (может содержать)

Integer

Int

%

2 байта

Короткое целое число: от -32788 до +32767

Long

Lng

&

4 байта

Длинное целое число:
от –2 147 483 648  до +2 147 483 647

Single

Sng

4 байта

Число с плавающей точкой одинарной точности:  от – 3,4Е38  до +3,4Е38

Double

Dbl

#

8 байт

Число с плавающей точкой двойной точности:
от -1.79Е308 до 1.79Е308

Byte

Byt

(нет)

1байт

Байт: от 0 до 255

Currency

Cur

@

8 байт

Число с фиксированной точкой:
от -922 337 203 685 477,5808 до +922 337 203 685 477,5807

String

Str

$

10 байт + +2 байта на символ

Строка: от 0 до 65535 символов

Boolean

Bin

(нет)

2 байта

Булевское число: True или False

Date

Dat

(нет)

8 байт

Дата и время

Variant

Var

(нет)

< 16 байт

Любые данные (универсального типа, определяемые пользователем)

Object

Obj

(нет)

Любая ссылка (указатель) на объект

Объявление переменных, массивов и констант

Переменные в программе объявляются, т. е. определяется тип переменной и область действия (видимости).

Объявлять переменные можно на двух уровнях

  • на уровне процедуры
  • на уровне модуля

Объявление производится операторами Public и Private; на уровнях модулей и процедуры -оператором Dim; только на уровне процедуры (локальные) – оператором Static.

Инициализация объявленных переменных происходит во время компиляции: числовой переменной присваивается значение нуль (0); строковой переменной – пустая строка (нулевой длины); переменной типа Variant – значение Emtry (отсутствие значения). Значение переменной изменяется в процессе выполнения программы.

Для объявления переменной или массива используется оператор Dim. Его упрощенный формат для объявления переменной:

Примеры описания переменных:

Dim A As Integer

переменная А объявлена целой (As Integer)

Dim Коэффициент As Single

переменная  Коэффициент объявлена действительным числом единичной длины (As Single)

Dim Результат As Double

Результат объявлен действительным числом двойной точности (As Double).

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

Примеры описания массивов:

Dim intVector (40) AS Integer 

одномерный массив целых чисел

Dim intMatrica (4 TO 6) AS Integer

двумерный массив

Константы и их объявление

Как и переменные, константы имеют имя, но не изменяют своего значения во время выполнения программы. Для определения констант в Visual Basic используется оператор Const такого формата:

Примеры объявления констант:

  • Const Max = 100000
  • Public Const strVolume = «Maximum»
  • Const intMax AS Integer = 10 000

Если при явном объявлении переменной не указан тип данных, заданы оператор Dim и ее имя, будет создана переменная типа Variant.

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

  • длина имени не может превышать 255 символов;
  • первым символом в имени переменной должна быть буква;
  • в имени можно использовать прописные или строчные буквы, числа и знак подчеркивания;
  • запрещены ключевые слова (имена функций и операторов VBA) и символы @, $, #, &, %, !.

Неявное объявление переменных.

Final Thoughts

  1. is superfluous (because it simply calls without a label), but its name describes its purpose.

  2. Custom labels defined using should not be longer than 10 characters (approximately).

  3. and use the VBA function to determine whether an argument (which must be ) was passed to the procedure.

  4. is made a Sub instead of a Function so it will not be considered a user-defined function (UDF) in Excel’s Insert Function dialog. Therefore, its first argument is declared to receive the clicked button’s ID from . This also helps to visually distinguish code referencing from code referencing . Plus, calling followed by followed by has a certain appealing symmetry.

  5. If desired, could easily be made a to match , but this would allow it to be referenced in a cell formula like the following example, which might be awkward. If you do this, you will probably want to make a , too.

Although we have referred to Excel throughout this tutorial, applies to any Windows application of VBA.

If you’re serious about writing macros, subscribe for more VBA tips. Simply fill out the form below and we’ll share our best time-saving VBA tips.

Модули. Процедуры

Для хранения кода VBA применяются модули – самостоятельные объекты, каждый из которых содержит одну или несколько процедур.

На языке VBA процедура — это самостоятельная замкнутая программная единица, включающая операторы описания локальных данных процедуры и операторы, которые выполняются в ней.

Процедура выполняется автоматически в ответ на событие. События возникают в результате действий пользователя или выполнения программы; их может генерировать система.

Типы процедур.

– процедуры-подпрограммы Sub;

общий формат:

Sub
<тело процедуры >End Sub

Процедура-подпрограмма Sub выполняет действия, может иметь не один ответ (результат), содержать вызовы других процедур и вызываться на выполнение из других процедур;

– процедуры-функции Function;

общий формат:

Function
<операторы>End Function

Процедура-функция возвращает единственное значение (полученное в результате расчета, возврат текущей даты и др.). После того как она определена (создана), к ней можно обращаться как к встроенной функции.

Процедуры обоих типов могут иметь аргументы – переменные, значения которых определяют работу процедуры при конкретном вызове.

Область действия процедур:

– общая (Public) – процедура доступна для всех процедур во всех модулях;

– личная (Private) – процедура доступна для других процедур только в том  модуле, в котором она объявлена.

Если процедуры не используются вне данного модуля, их следует декларировать как личные процедуры. При объявлении личной процедуры в первой строке перед ключевым словом Function или Sub вставляется префикс Private:

Private Function Имя ()

или

Private Sub Имя ()   .

Синтаксис процедур в VBA.

Рассмотрим синтаксис на примере процедуры-подпрограммы.

Процедуры начинаются ключевым словом Sub.

Ключевое слово — это слово или символ, которые распознаются как элемент языка VBА.

Sub имя ()
<тело_процедуры >
<тело_процедуры >End Sub

При записи нескольких операторов в одной строке надо отделять их двоеточием (:).

Создание процедуры:

  1. Открыть редактор VBA.
  2. Создать модуль Insert–Modul.
  3. Insert–Procedur–Sub (или Function) (Вставка–Процедура– Подпрограмма (или Функция)).
  4. Набрать текст процедуры.
  5. По команде Debug–Compile VBAproject (Отладка–Компилировать) выполнить отладку процедуры.
  6. Командой Файл–Сохранить сохранить созданную процедуру.

Common control functions

The following table shows the most commonly used functions that are available to all controls.

Function Operation Example
Enabled Enable/Disable control combobox.Enabled = Truetextbox.Enabled = False
SetFocus Sets the focus to the control
(cannot use with the Label)
combobox.SetFocus
Visible Show/Hide control combobox.Visible = Truetextbox.Visible = False
' https://excelmacromastery.com/
Private Sub checkboxAddNotes_Click()

    ' Enable texbox when checkbox set to true
    If checkboxAddNotes.Value = True Then
        textboxNotes.Enabled = True
        textboxNotes.SetFocus
    Else
        textboxNotes.Enabled = False
    End If
         
End Sub	 

Выражение нажатие кнопки введенное в поле свойства события вызывает ошибку

Профиль Группа: Участник Сообщений: 8 Регистрация: 23.3.2006

Репутация: нет Всего: нет

Цитата
«Выражение Нажатие кнопки, введенное в поле свойства события, вызывает ошибку: возникла ошибка при установлении связи в приложении « Microsoft Office Access » с сервером OLE или элементом управления ActiveX*Результатом выражения не является имя макроса, имя функции или строка *Ошибка при вычислении функции, события или макроса»

Профиль Группа: Участник Сообщений: 22 Регистрация: 7.4.2006

Репутация: нет Всего: нет

Профиль Группа: Участник Сообщений: 8 Регистрация: 23.3.2006

Репутация: нет Всего: нет

Профиль Группа: Участник Сообщений: 8 Регистрация: 23.3.2006

Репутация: нет Всего: нет

Свойства поля со списком

Свойство Описание
AutoSize Автоподбор размера комбинированного поля. True – размер автоматически подстраивается под длину выбранной или введенной строки. False – размер элемента управления определяется свойствами Width и Height.
AutoTab Включение автоматической табуляции – передачи фокуса следующему элементу управления при достижении максимального числа символов при значениях свойства MaxLenght > 0. True – автоматическая табуляция включена, False – выключена.
ColumnCount Указывает количество столбцов в раскрывающемся списке. Значение по умолчанию = 1.
ColumnHeads Добавляет строку заголовков в раскрывающийся список. True – заголовки столбцов включены, False – заголовки столбцов выключены. Значение по умолчанию = False.
ColumnWidths Ширина столбцов в раскрывающемся списке. Значения для нескольких столбцов указываются в одну строку через точку с запятой (;).
ControlSource Ссылка на ячейку для ее привязки к элементу управления ComboBox.
ControlTipText Текст всплывающей подсказки при наведении курсора на элемент управления.
Enabled Доступ пользователя к полю и раскрывающемуся списку. True – доступ разрешен, False – доступ запрещен*. Значение по умолчанию = True.
Font Шрифт, начертание и размер текста в поле.
Height Высота элемента управления ComboBox.
Left Расстояние от левого края внутренней границы пользовательской формы до левого края комбинированного списка.
List Позволяет заполнить ComboBox данными из одномерного или двухмерного массива, а также обращаться к отдельным элементам раскрывающегося списка по индексам для записи и чтения.
ListIndex Номер выбранной пользователем строки в раскрывающемся списке. Нумерация начинается с нуля. Если ничего не выбрано, ListIndex = -1.
ListRows Количество видимых строк в раскрытом списке. Если общее количество строк больше ListRows, появляется полоса прокрутки. Значение по умолчанию = 8.
Locked Запрет на отображение раскрывающегося списка, ввод и редактирование данных в поле. True – ввод и редактирование запрещены**, False – ввод и редактирование разрешены. Значение по умолчанию = False.
MatchRequired Задает проверку вводимых в поле строк с элементами списка. True – проверка включена (допускается ввод только строк, совпадающих с элементами списка), False – проверка выключена (допускается ввод любых строк). Значение по умолчанию = False.
MaxLenght Максимальная длина строки в поле. Значение по умолчанию = 0, что означает – ограничений нет.
RowSource Источник строк для раскрывающегося списка (адрес диапазона на рабочем листе Excel).
TabIndex Целое число, определяющее позицию элемента управления в очереди на получение фокуса при табуляции. Отсчет начинается с 0.
Text Текстовое содержимое (значение) поля (=Value).
TextAlign Выравнивание текста в поле: 1 (fmTextAlignLeft) – по левому краю, 2 (fmTextAlignCenter) – по центру, 3 (fmTextAlignRight) – по правому краю.
Top Расстояние от верхнего края внутренней границы пользовательской формы до верхнего края комбинированного списка.
Value Текстовое содержимое (значение) поля (=Text).
Visible Видимость поля со списком. True – ComboBox отображается на пользовательской форме, False – ComboBox скрыт.
Width Ширина элемента управления.

* При Enabled в значении False пользователь не может раскрывать список, а также вводить или редактировать данные в поле.** Для элемента управления ComboBox действие свойства Locked в значении True аналогично действию свойства Enabled в значении False.

В таблице перечислены только основные, часто используемые свойства поля со списком. Еще больше доступных свойств отображено в окне Properties элемента управления ComboBox, а все методы, события и свойства – в окне Object Browser.

Вызывается Object Browser нажатием клавиши «F2». Слева выберите объект ComboBox, а справа смотрите его методы, события и свойства.

Свойства BackColor, BackStyle, BorderColor, BorderStyle отвечают за внешнее оформление комбинированного списка и его границ. Попробуйте выбирать доступные значения этих свойств в окне Properties, наблюдая за изменениями внешнего вида элемента управления ComboBox на проекте пользовательской формы.

What Next?

If everything worked and you didn’t see any error messages, try switching back into Excel (press ALT and F11 again to do this) and see if your chart has data labels containing the film names.

What you should see if everything has gone according to plan.

If something went wrong, don’t panic! Try checking these things first:

  • Go back over the code and make sure that you’ve spelt everything correctly.
  • Make sure that your list of film names are in the cells you’ve referred to in your code.
  • Make sure that the chart you are trying to label is the only one in the worksheet.
  • Make sure that when you run your code, you have selected the worksheet that contains your chart.

If you’ve tried all of the above and it still doesn’t work you can try copying the code shown below into your own module, or download the full example by clicking here.

Dim FilmDataSeries As Series

Dim SingleCell As Range

Dim FilmList As Range

Dim FilmCounter As Integer

Set FilmList = Range(«A2», «A11»)

Set FilmDataSeries = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)

For Each SingleCell In FilmList

FilmCounter = FilmCounter + 1

The final part of this series provides a few suggestions of ways to improve your program, including a better way to run it.

This blog wouldn’t be complete without the obligatory link to our Excel training course information and VBA course info!

Источник

Свойство Range

Рабочий лист имеет свойство Range, которое можно использовать для доступа к ячейкам в VBA. Свойство Range принимает тот же аргумент, что и большинство функций Excel Worksheet, например: «А1», «А3: С6» и т.д.

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

Sub ZapisVYacheiku()

    ' Запишите число в ячейку A1 на листе 1 этой книги
    ThisWorkbook.Worksheets("Лист1").Range("A1").Value2 = 67

    ' Напишите текст в ячейку A2 на листе 1 этой рабочей книги
    ThisWorkbook.Worksheets("Лист1").Range("A2").Value2 = "Иван Петров"

    ' Запишите дату в ячейку A3 на листе 1 этой книги
    ThisWorkbook.Worksheets("Лист1").Range("A3").Value2 = #11/21/2019#

End Sub

Как видно из кода, Range является членом Worksheets, которая, в свою очередь, является членом Workbook. Иерархия такая же, как и в Excel, поэтому должно быть легко понять. Чтобы сделать что-то с Range, вы должны сначала указать рабочую книгу и рабочий лист, которому она принадлежит.

В оставшейся части этой статьи я буду использовать для ссылки на лист.

Следующий код показывает приведенный выше пример с использованием кодового имени рабочего листа, т.е. Лист1 вместо ThisWorkbook.Worksheets («Лист1»).

Sub IspKodImya ()

    ' Запишите число в ячейку A1 на листе 1 этой книги    
     Sheet1.Range("A1").Value2 = 67

    ' Напишите текст в ячейку A2 на листе 1 этой рабочей книги
    Sheet1.Range("A2").Value2 = "Иван Петров"

    ' Запишите дату в ячейку A3 на листе 1 этой книги
    Sheet1.Range("A3").Value2 = #11/21/2019#

End Sub

Вы также можете писать в несколько ячеек, используя свойство
Range

Sub ZapisNeskol()

    ' Запишите число в диапазон ячеек
    Sheet1.Range("A1:A10").Value2 = 67

    ' Написать текст в несколько диапазонов ячеек
    Sheet1.Range("B2:B5,B7:B9").Value2 = "Иван Петров"

End Sub

Основные сведения о базах данных

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

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

Для удобства также приводим ссылку на оригинал (на английском языке).

Эта статья содержит краткие сведения о базах данных: что это, чем они могут быть полезны, каковы функции их отдельных элементов. Здесь используется терминология, свойственная Microsoft Access, однако описываемые понятия применимы по отношению к любым базам данных.

Creating a UserForm

To create a UserForm in Excel VBA, we first need to open the VBE Editor.

To insert a new user form into your code, select the UserForm option from the Insert Menu.

A new user form will appear in the Project Explorer and will be shown in the Code Window on the right.

You can rename your form using the Properties box.  This should appear below your Project Explorer.

If it is how visible, Press F4 or click View, Properties Window.

Click in the Name property and rename your form.

We can now start populating our form with controls – the text box control is the most popular control along with the label control and command button.

To populate the form with controls, we need to switch on the Toolbox.

In the Menu, select View > Toolbox.

Creating a Combo Box Control

A Combo Box (or a drop-down box) allows the user to select from a list of values.   To create a combo box, click in the toolbox on the Combo Box control, and click and drag the combo box in your form.

Name the Combo Box appropriately.

Adding values to the Combo Box

In order to populate it with values, we need to code into the Initialize method of the User form object.

To get to the Code Behind the Form (CBF), either double click on the form, or click on the code button in the Project Explorer to switch to code view.

In the left hand drop down list, select User form, and then in the right-hand drop down list, select Initialize.

Type the following code within the Sub and End Sub to populate the drop down box:

We can of course carry on an populate the list with the rest of the states in the USA!

To run the user form to see the list in action, 1) switch back to form view and then, 2) in the Toolbar, click on the Run button.

Click on the drop down arrow to see the list.

We can also use a Range in Excel to populate the Combo Box.

This will pick up any values stored in the Range A1 to A50 and populate the drop down list accordingly.

О подформах

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

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

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

Creating a List Box Control

A List Box control work in the same way as a Combo Box control, but allows us to see all the options on the form in a list format.

Select the List Box control in the toolbox and then drag to create a list box on your form.

Adding values to the List Box

In the Initialize event of the form, type the following code:

When we run the form, the list box will be shown as demonstrated in the image below:

Creating a Check Box Control

Check Boxes enable the user to check or uncheck an option.

Select the Check Box control, and then click in the form where you wish it to go.

Amend the caption and name of the Check Box in the Properties Window.

Creating an Option Group Control with Option Buttons

An Option Group allows the user to select from a number of available options. The first step in creating an option group is to add a Frame Control to the form, and then to add the Option Buttons within the frame that has been added. By doing this, we ensure that when we run the form, only one of the Option Buttons within the frame can be selected at a time.

Select the Frame control in the toolbox and then drag to create a frame on your form.

Select the Option Button control in the toolbox and then click WITHIN the frame created above to add option button into the frame. Repeat as required.

Click on the frame and 1) amend the name of the frame and the Caption. Then 2) click on each of the option buttons and amend the Caption.

Creating a Command Button to Exit the Form

At this stage, the only way of closing the form is to use the close button in the right-hand corner of the form control bar. A more efficient way to exit a form, and one in which we have more control over, is by creating an Exit button on the form.  This is done by means of the Command Button Control in the Toolbox.

Select the Command Button control, and then click and drag in your form to create the button.

Using the Caption Property, change the caption of the command button to OK, and the Accelerator to “O”

The purpose of the Accelerator is for the user to use the keyboard to activate the button, in this case Alt+O would activate the button.

Adding Code to the Command Button

For the command button to work, we need to add code behind it so that when the button is clicked, the code runs. This is called the Click event of the button.

To get to the click event, double-click on the button in the design view of the form.

1) The Click event will be automatically created as this is the event that is most commonly used for Command buttons.

2) If we were to click in the Procedure drop-down box on the right hand side, we would see a list of all the Event Methods that are available to the Command Button.  This list changes according to what type of control we have created as there are different events available for different types of controls.

Type the following code into the click event of the command button.

We can then run the form, fill in the text boxes and select from the drop down list.  We then click OK to enter the information into Excel.

Понравилась статья? Поделиться с друзьями:
Technology trends
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: