VBA Forms в пользовательском дополнении - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь создать надстройку Excel, в которой при нажатии будет отображаться форма VBA. Это довольно простое окно со списком и одна командная кнопка.

Ниже приведен код в командной кнопке

Private Sub CommandButton1_Click()
ThisWorkbook.IsAddin = False

On Error GoTo ErrHandler:

KeyAcc = WorksheetFunction.VLookup(ComboBox1.Value, Sheet1.Range("A:B"), 2, False)
MsgBox KeyAcc
ThisWorkbook.IsAddin = True
Unload Me

Exit Sub

ErrHandler:
MsgBox ComboBox1.Value & " Not found in the Database"
ThisWorkbook.IsAddin = True
Unload Me

ActiveWorkbook.Save = False
End Sub

Код в форме загрузки

Private Sub UserForm_Activate()
Application.ScreenUpdating = False

Dim cCount As Integer
ThisWorkbook.IsAddin = False
ThisWorkbook.Sheets("Sheet1").Select
For cCount = 1 To 320
    UserForm1.ComboBox1.AddItem Range("A" & cCount).Value
Next
ThisWorkbook.IsAddin = True
ComboBox1.SetFocus
End Sub

Проблема, с которой я столкнулся всякий раз, когда пользователь активирует эту кнопку в первой книге ie, после открытия нового Excel и выполнения операции, которая работает, однажды, когда я пытаюсь закрыть пустую книгу, он спрашивает хотите ли вы сохранить изменения в Аддин

Есть ли способ избежать этого?

1 Ответ

0 голосов
/ 03 февраля 2020

Вам не нужна вся эта работа только для загрузки вашего комбобокса:

Private Sub UserForm_Activate()

Me.ComboBox1.List = ThisWorkbook.Sheets("Sheet1").Range("A1:A320").Value
ComboBox1.SetFocus
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...