Самсгенерированные блоки Excel ActiveX сотнями - PullRequest
0 голосов
/ 29 апреля 2019

Я понятия не имею, когда это происходит, но каким-то образом Excel укладывает сотни комбинированных блоков в одно и то же место на одном из моих листов. У меня есть некоторое кодирование со списком, но это только для регулировки размера шрифта.

Я также пытался удалить ящики вручную, но когда я очистил 254 из них, я переключил вкладки. проделал некоторую работу, сохранил и вернулся к первому листу, и было 504 комбинированных списка.

Вот макрос для комбо-боксов. Я использую версию ActiveX.

Private Sub ComboBox3_Change()
  Dim cb As ComboBox

    With ActiveSheet

        Set cb = .OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _
                                 DisplayAsIcon:=False, Left:=322.5, Top:=11.5, Width:=176.5, Height:= _
                                 61.5).Object

        cb.Font.Size = 20

    End With

End Sub

Кто-нибудь видел это раньше или знает, как это остановить? Я сейчас открыта для всего.

1 Ответ

1 голос
/ 29 апреля 2019

Этот код, добавляйте Combobox в то же место каждый раз, когда запускается событие с именем

Change

, поэтому каждый раз, когда вы меняете значение Combo,перед ним стоит еще один.

Чтобы остановить это, прекратите добавлять, вместо этого

set cb = .oleobjects.add()

используйте

   set cb = .olebjects("HEREPUTYOURCHECKNAME")

.

Set cb = .OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _
                         DisplayAsIcon:=False, Left:=322.5, Top:=11.5, Width:=176.5, Height:= _
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...