VBA Excel
241 subscribers
88 photos
23 links
VBA Excel для начинающих. Справка по VBA Excel. Visual Basic for Applications. Справочник. Самоучитель.
Download Telegram
Первая форма для начинающих

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

Создайте или откройте файл Excel с расширением .xlsm (Книга Excel с поддержкой макросов).

Перейдите в редактор VBA, нажав сочетание клавиш «Левая_клавиша_Alt+F11».

В открывшемся окне редактора VBA выберите вкладку «Insert» главного меню и нажмите кнопку «UserForm». То же подменю откроется при нажатии на треугольник у второй кнопки после значка Excel на панели инструментов.

#VBA #ExcelVBA #Форма #Form #UserForm
Формы в VBA Excel

Формы в VBA Excel (UserForms) — это инструмент для создания удобного интерфейса пользователя. UserForm — это графическая форма, которая позволяет взаимодействовать с пользователем через элементы управления (текстовые поля, кнопки, списки и т.д.).

Как создать форму?

1️⃣ Откройте редактор VBA (Alt + F11).
2️⃣ В меню выберите: Insert → UserForm.
3️⃣ Перед вами откроется конструктор форм.

На панели инструментов (Toolbox) вы найдете стандартные элементы:

Label — надпись;
TextBox — поле ввода;
CommandButton — кнопка;
ComboBox и ListBox — выпадающие списки и т.д.

Просто перетащите нужный элемент на форму и настройте его свойства (щелчок правой кнопкой → Properties).

При создании UserForm окно Toolbox обычно открывается автоматически. Если этого не произошло, в главном меню выберите: View → Toolbox.

Вот пример простой формы для ввода имени:

1️⃣ Добавьте TextBox и CommandButton на форму.
2️⃣ В модуле формы напишите:

Private Sub CommandButton1_Click()
MsgBox "Привет, " & TextBox1.Text & "!"
Unload Me
End Sub


3️⃣ Для отображения формы создайте процедуру в модуле:

Sub ShowForm()
UserForm1.Show
End Sub


▶️ Запустите макрос ShowForm — и форма откроется!

Напишите своё имя в TextBox1 и нажмите кнопку CommandButton1.

#UserForm #Форма #ПользовательскаяФорма #UserFormVBA #ФормаVBA
🎁 Поздравление-сюрприз от VBA Excel

Хотите оригинально поздравить с каким-нибудь праздником коллегу по работе? 🎈 Это можно организовать с помощью VBA Excel. 🚀

Как это работает?

Поздравляемый включает свой компьютер, на котором после загрузки Windows, из папки "Автозагрузка" открывается файл Excel с поздравлением (форма с поздравлением разворачивается на весь экран). 🖥

🛠 Что для этого нужно?

1️⃣ Создайте файл Excel с поддержкой макросов.
2️⃣ Сохраните его в папку "Автозагрузка". Обычно, путь к ней таков: C:\Users\user\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.
3️⃣ Откройте редактор VBA, создайте пользовательскую форму и добавьте на нее три элемента Label.
4️⃣ Вставьте в модули книги и формы следующие процедуры:

' В модуль книги
Private Sub Workbook_Open()
UserForm1.Show
End Sub

'В модуль формы
Private Sub UserForm_Initialize()
Dim colForm&, colTxt&, c1$, c2$, c3$
colForm = RGB(0, 0, 255) 'Цвет формы (синий)
colTxt = RGB(255, 255, 255) 'Цвет текста (белый)
c1 = "Привет!" 'Заголовок
c2 = "Поздравляю с Днем рождения!!!" 'Поздравление
c3 = "Твой Комп" 'Подпись

With Application
.DisplayFullScreen = True
Me.Width = .Width
Me.Height = .Height
.DisplayFullScreen = False
End With

With Me
.Caption = ""
.BackColor = colForm
End With

With Label1
.Caption = c1
.BackColor = colForm
.TextAlign = fmTextAlignCenter
.Font.Size = 40
.ForeColor = colTxt
.Width = Me.Width
.Height = 50
.Top = Me.Height / 3
.Left = 0
End With

With Label2
.Caption = c2
.BackColor = colForm
.TextAlign = fmTextAlignCenter
.Font.Size = 50
.ForeColor = colTxt
.Width = Me.Width
.Height = 60
.Top = Me.Height / 2.4
.Left = 0
End With

With Label3
.Caption = c3
.BackColor = colForm
.TextAlign = fmTextAlignCenter
.Font.Size = 30
.ForeColor = colTxt
.Width = Me.Width
.Height = 40
.Top = Me.Height / 1.8
.Left = 0
End With
End Sub


5️⃣ Сохраните книгу.

💡 Примечания
🔹 Каждому элементу Label можно задать свой размер и цвет текста.
🔹 Другие варианты разворачивания формы на весь экран, если вдруг не получится с этим кодом, можно посмотреть здесь.

#VBA #ExcelVBA #UserForm #Форма #Поздравление
🔥5👍1