Как создать макросом UserForm, создать на ней кнопку и привязать к ней макрос? - VBA

Узнай цену своей работы

Формулировка задачи:

Пытаюсь сделать так:
Листинг программы
  1. Load MyBar1
  2. Set B = New MyBar1
  3. Set o = B.Controls.Add("Forms.CommandButton.1", "", True)
  4. o.OnAction "Макрос1"
Код на последней строчке выдаёт ошибку (объект не поддерживает этот метод).

Решение задачи: «Как создать макросом UserForm, создать на ней кнопку и привязать к ней макрос?»

textual
Листинг программы
  1. Option Explicit
  2.  
  3. Dim WithEvents c As MSForms.CommandButton 'Объявляем кнопку с её событиями
  4.  
  5. Private Sub c_Click()
  6.     '
  7.    'Событие нажатия на неё
  8.    '
  9.    'Варианты вызова макроса
  10.    Application.Run "Макрос1" ', Аргумент1, Аргумент2, Аргумент3, и_т_д
  11.    'Или
  12.    Макрос1 ', Аргумент1, Аргумент2,... '---Прямой вызов макроса
  13. End Sub
  14.  
  15. Private Sub UserForm_Initialize()
  16.     Set c = Controls.Add("Forms.CommandButton.1", "c", 1)
  17.     With c
  18.         .Move 10, 10, 100, 20 '-------- Скрытый метод размерности Move Left, Top, Width, Height
  19.        .Caption = "Нажми сюда"
  20.     End With
  21. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.429 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы