Проблемы с обновлением пользовательской формы при запуске макроса при установке флажка - PullRequest
0 голосов
/ 04 мая 2020

По сути, я хочу найти способ для моей пользовательской формы обновляться каждый раз, когда на моем листе нажимается флажок. Код, который я написал, работает, но он открывает новую пользовательскую форму каждый раз, когда нажимается новый флажок. Моя цель такова: в Sheet1 у меня есть куча разных автомобилей (отсортированных по маркам и моделям). У каждой машины есть флажок, которому назначен макрос под названием «тест». Когда установлен первый флажок, марка и модель автомобиля указываются в пользовательской форме . При щелчке второго флажка появляется такая же, но новая форма пользователя . Однако я не хочу, чтобы всплывала куча новых пользовательских форм. Я хочу, чтобы пользовательская форма "обновлялась" или "заменялась" новой при нажатии нового флажка. Ниже мой макрос (тест) и код пользовательской формы. Я новичок в vba, и пользовательские формы меня довольно сбивают с толку. Любая помощь приветствуется. Спасибо !!

Sub test()

Dim b As Object
Set b = ActiveSheet.CheckBoxes(Application.Caller).TopLeftCell
RowNumber = b.Row 'Finds Row that has checkbox

Set make = Range("A" & RowNumber)
Set model = Range("B" & RowNumber)
Union(Range(make.Address), Range(model.Address)).Copy 'Copies Make and Model in row that has checkbox
Sheets("Sheet2").Range("A1").End(xlDown).Offset(1, 0).PasteSpecial

Dim myUserForm As UserForm1
Set myUserForm = New UserForm1
myUserForm.Show False

End Sub

Private Sub UserForm_Activate()

Dim make As Range
For Each make In Range(Sheets("Sheet2").Range("A2"), Sheets("Sheet2").Range("A2").End(xlDown))
itemrow = make.Row - 1
Controls("make_TextBox" & itemrow).Value = Sheets("Sheet2").Range("A2").Offset(itemrow, 0).Value
Next make

Dim model As Range
For Each model In Range(Sheets("Sheet2").Range("B2"), Sheets("Sheet2").Range("B2").End(xlDown))
itemrow = model.Row - 1
Controls("model_TextBox" & itemrow).Value = Sheets("Sheet2").Range("B2").Offset(itemrow, 0).Value
Next model


End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...