2015-01-26 2 views
0

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

подпрограмма является ComboBox ActiveX с именем TabProg, который должен выполняться при изменении значения. В настоящее время я добавил, чтобы проверить, не работает ли активный лист, пытающийся запустить код, «Загрузка программы», чтобы попытаться отклонить любые возможные ошибки. См. Фрагмент ниже.

Private Sub TabProg_Change() 
    MsgBox "Whomp!", vbOKOnly + vbExclamation 
    If ActiveSheet.Name <> "Program Loading" Then 'do nothing 
    Else 
     'Run desired actions on "Program Loading" sheet 
    End If 
End Sub 

Любые известные причины, по которым это происходит, или другие способы его поймать, были бы полезны. Благодаря!

Редактировать 1: I do not Эта проблема возникает, когда я открываю другие книги в новых экземплярах Excel.

Редактирование 2: Я изменил код, чтобы включить окно сообщения всякий раз, когда код пытается запустить, как показано выше. Это происходит каждый раз, когда я открываю или закрываю и сохраняю любой файл Excel, включая сам файл. Выпадающий список в ActiveX ComboBox - это список имен, которые соответствуют 10 листам в пределах Workbook A. Если я удалю лист, который установлен в ComboBox, ошибка исчезнет. Если я изменю ComboBox на другой лист, ошибка снова появится.

ответ

0

Из того, что вы написали в своем вопросе, я не думаю, что ваша проблема может быть реплицирована. Я думаю, что ваш файл Excel поврежден. У меня был такой опыт: был файл для экспериментов с макросами, один из макросов использовал объект Excel Speech, чтобы сказать «Это тестовый файл» при открытии этого конкретного файла. Макрос был (как и все другие макросы из этого файла), не входящими в мою книгу ПЕРСОНАЛА, он был назначен для этой книги в файле на заказ. В какой-то момент произошло смешное: эта закрытая подпрограмма «Это тестовый файл» активизировалась каждый раз, когда я открывал любой файл Excel. Я не нашел никаких решений, я просто удалил файл, в котором была сохранена подпрограмма. Это разрешило проблему, но у меня нет объяснений. Я боюсь, что одно и то же может быть применимо к вашему файлу, но, возможно, другие люди имеют лучшую идею ... может быть, это что-то в системном реестре ??? Я не знаю. Можете ли вы вручную скопировать элементы/код из этого файла во вновь созданный файл и просто удалить оригинал?

Смежные вопросы