Ошибка can t design mode because control can t be created

 

martyni

Пользователь

Сообщений: 10
Регистрация: 06.07.2013

Друзья, подскажите, пожалуйста.
Файл с макросами хорошо работает у меня на компьютере (Office 2007), но при переносе на другие (также с 2007-ым) выдает ошибку «Can’t exit design mode because control «ComboBox1″ cannot be created». При этом он все время возвращается в режим конструктора, но даже, если из него выйти, то макросы ни с кнопок на листе, ни те, что по входу в ячейку не запускаются. При этом вручную (через Разработчик — Макросы — Выполнить) их запустить можно. В параметрах безопасности, естественно, запуск макросов разрешен.

Долго искал в сети, много где спрашивают об этой ошибке, но нигде четких ответов и описания причин не нашел.
В приложении сокращенный файл: на листе Меню, соответственно, должны работать кнопки, вроде «Удал. зпт» и при входе в ячейки серого цвета в столбце С должна открываться форма.

Заранее спасибо

 

Dima S

Пользователь

Сообщений: 2063
Регистрация: 01.01.1970

вы бы хоть написали когда возникает эта ошибка — при запуске, или после каких то действий?
на всех компьютерах или определенных?
я открыл файл, добавил запись — ничего не выскакивает…
может офис какой то глюкнутый, либо не установлены какие то библиотеки…

 

martyni

Пользователь

Сообщений: 10
Регистрация: 06.07.2013

Да, извините, упустил.
На нескольких компьютерах пробовал — на всех макросы не работали с кнопки на листе, причем даже на один компьютер я переустановил тот же дистрибутив офис 2007, что и у меня стоит, все равно не работало. Но, указанная ошибка появлялась после сохранения файла на тех компьютерах и их новом открытии. Появлялась сразу же после включения макросов.

Может быть дело в том, что у меня на компьюетере, на котором сделал файл, стоит 64 разрядный виндоус 7, а пробую запустить его я на 7-ке и winXP 32разр.?

 

Юрий М

Модератор

Сообщений: 60810
Регистрация: 14.09.2012

Контакты см. в профиле

 

martyni

Пользователь

Сообщений: 10
Регистрация: 06.07.2013

Да, похожая ситуация. Но сейчас я взял компьютер, который не обновлялся последние полгода, и ошибка такая же. Т.е. как вот

в этом сообщении

(сообщение 41 от

andrey062006

). Ответа, как решить, пока еще не было. Но вот мой компьютер, на котором файл создавался и на котором этот файл работает, обновлялся.

Изменено: martyni01.02.2015 00:05:16

 

Юрий М

Модератор

Сообщений: 60810
Регистрация: 14.09.2012

Контакты см. в профиле

Ещё похожая

тема

Да и у Яндекса попробуйте

спросить

 

martyni

Пользователь

Сообщений: 10
Регистрация: 06.07.2013

В яндексе вопросов на этот счет много, только все без ответов (во всяком случае, там где я смотрел).
А у Вас тот файл, который я прикладывал, работает? Например, кнопка ‘В конец’ на листе ‘меню’ (должно выделить ячейку С258).
А после сохранения файла эта ошибка (Can’t exit design mode because control cannot be created) не появляется?
Это я к тому, что, пожалуй, то общее, что есть у тех компьютеров, на которых появляется эта ошибка, это то, что они давно не обновлялись и вообще не имеют доступа к сети.

 

Юрий М

Модератор

Сообщений: 60810
Регистрация: 14.09.2012

Контакты см. в профиле

Скачал файл — кнопка работает. Сохранил, закрыл, открыл — работает. 2007.

 

martyni

Пользователь

Сообщений: 10
Регистрация: 06.07.2013

#9

01.02.2015 09:58:29

Проблема решена путем установки последних обновлений excel 2007 и bat-ника.
Т.е. изначально файл создавался в версии экселя 12.0.6712.5000 SP3 MSO 12.6683.5000 Там он работает хорошо.
Но на машине с экселем 2007 с «голым» SP2 (т.е. с 12.0.6425.1000) — не работали никакие элементы activeX на листе, не открывались формы, а после сохранения файла в этой версии непрерывно выдавало ошибку Can’t exit design mode because control «…» cannot be created
После обновления экселя до 12.0.6712.5000 SP3 MSO 12.6683.5000 пользовательские формы по условию на листе стали открываться, а кнопки по-прежнему не работали, тут помог bat-ник, взятый из

этой темы

Т.е., похоже это та же проблема, только т.н. обратной совместимости — т.е. это последнее обновление офиса делает несовместимыми файлы, сделанные в ней, с экселями предыдущих версий. Как-то так.

What is the cause of this error and how do I fix it?

enter image description here

This started occurring on a workbook of ours for reasons unexplained. I made a tiny change to the VBA code behind it, just plotting slightly different values on a chart; everything looks really benign, and definitely not button-related. Why this error, then?

The error occurs only on certain machines, not others.

There is a Microsoft Dev Center article on this error, but it isn’t helpful:

All controls must be instantiated before you can exit design mode. This error has the following causes and solutions:

The control specified in the error message dialog box could not be created. Code can only run after all controls are instantiated and properly connected. Make sure every file needed for the control is available before trying again.

Note that this is a different issue from the one caused by the Dec 10, 2014 Microsoft Office automatic update; the fix for that one doesn’t solve this problem.

Community's user avatar

asked Jan 8, 2015 at 9:14

Jean-François Corbett's user avatar

3

There is a very simple fix for this issue:

  1. Close all Excel documents
  2. Open a blank document
  3. Excel options > Trust center settings>macro settings>Select{Disable all macros with notifications}
  4. Active X settings >

    Select either:

    • Disable all controls without notifications
    • Prompt me before enabling all controls with minimal restrictions

Apply all settings and close.

Open the affected file and check allow the prompt to enable macros if required.

Jamal's user avatar

Jamal

4551 gold badge6 silver badges17 bronze badges

answered Aug 15, 2015 at 1:19

Sujith Srinivas's user avatar

I had the same message for Control ‘CommandButton13’. The spreadsheet worked OK on my colleagues PC, but not mine.
I noticed that in the VBA editor, one of the worksheets had somehow had the name changed from Sheet13 to CommandButton1. On my colleauges PC, we changed the name back & saved the file. It now works OK on my PC too.

Cheers,

answered Sep 21, 2015 at 11:53

JoeBloggs's user avatar

My answer to the problem was to delete the control buttons from the errored file and then just copy/paste the original ones back in from a previous copy of the file. It seemed to work fine.

answered Sep 29, 2022 at 16:02

Eric Maier's user avatar

1

Due to a recent Office Update, ActiveX Controls became useless, maybe that’s the issue that troubles you.
There ara a few archives related that once deleted and regenerated can solve your problem, if that’s your issue.

For more information, you can read this post:
Bacon Bits: Office Update Breaks ActiveX Controls

Hope it works!

answered Jan 8, 2015 at 12:31

Angel's user avatar

AngelAngel

262 bronze badges

3

  • Remove From My Forums
  • Вопрос

  • Возникли проблемы с кнопками ActiveX CommandButton. При работе с файлом было замечено, что некоторые кнопки перестали нажиматься. Открыть свойства кнопки не удается, ее вообще нет в списке объектов.

    Кроме того, невозможно выполнить макрос, расположенный на листе со сломанной кнопкой. При попытке запуска макроса из редактора возникает ошибка Run-time error ‘32809’.

    Когда и почему ломаются кнопки — не ясно. Формат файла xls. Проверялось в Excel 2010 и 2013. Исходный файл содержит 250 листов, из них около 70 видимы, около 50 имеют кнопки. Иногда при открытии файла появляется предупреждение
    «Данные могут быть утеряны».

    В приложенном файле оставил только сломанные листы:
    ActiveX and VBA bug 0.xls (https://yadi.sk/i/c3fpWMyLg9ZsS)

    Подскажите, как бороться с этой проблемой.

Ответы

  • Вот, что выдаёт Справка:

    «Can’t exit design mode because control can’t be created

    All controls must be instantiated before you can exit design mode. This error has the following causes and solutions:
    The control specified in the error message dialog box could not be created.
    Code can only run after all controls are instantiated and properly connected. Make sure every file needed for the control is available before trying again.

    For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh).».

    Команды VBA для Excel 2003, отличаются от команд для Excel 2010. Проверьте, что созданные Вами кнопки, действительно имеют привязку к макросам. Нажатие кнопки, должно запускать макрос, который в свою очередь должен
    выполнить определённое действие, например «Добавление строк».
    Возможно, что два файла-примера, помогут Вам выйти на правильное для Вас решение.

    P.S.
    Внимательно изучите обсуждение, возможно это Ваш случай. Проверьте, все ли обновления установлены.


    Да, я Жук, три пары лапок и фасеточные глаза :))

    • Изменено

      30 мая 2015 г. 6:38

    • Предложено в качестве ответа
      ЖукMVP, Moderator
      22 июня 2015 г. 11:54
    • Помечено в качестве ответа
      ЖукMVP, Moderator
      25 июня 2015 г. 7:57

    • Помечено в качестве ответа
      arxz
      8 октября 2015 г. 8:22

Студворк — интернет-сервис помощи студентам

Добрый день, коллеги!

Создал файл для работы в компании с различными с различными элементами управления. На работе эксель 2010. Когда запускал его дома через 2007 эксель, выскакивала ошибка бейсика при запуске «Can’t exit design mode because Control ‘CheckBox38’ can not be created» (вложения смогу позже добавить, если необходимо). При этом сам чекбок на листе присутствовал, но при двойном клике на него открывался ВБА и предлагал закодировать чекбокс 39 (их всего 38). И так со всеми кнопками, переключателями, чекбоксами. Излечилось пересозданием всех элементов, и работало на моем домашнем ПК. На рабочем при работе с этим файлом возникала аналогичная проблема. В итоге у меня одна версия для рабочего ПК, и одна для домашнего.

Грешил на разные версии экселя, т.к. у коллег тоже все работало нормально. С проблемой не разобрался ну и думаю фиг с ним.

Теперь, когда файл выложили для работы и других отделов с ним, у них возникает такая же проблема, хотя эксель у всех 2010. Видимо проблема все таки не в версии.

В интернете ответа не нашел, прошу вашей помощи, в чем же все таки проблема?

Резюмирую:
При запуске файла с разных ПК возникает ошибка ВБА «Can’t exit design mode because Control ‘CheckBox38’ can not be created», если пересоздать элемент, на который ссылается ошибка, то следующая ошибка сошлется на другой элемент, вплоть до того, пока не будут пересозданы все элементы на листе.

I am developing an Excel VBA application on my desktop machine. I have a DatePicker ActiveX control on my spreadsheet. It was working fine.

Then, while on travel, I was working on the application on a laptop. When I returned, I moved the file back to my desktop machine. Now when I try to run the app, I continually get the error «Can’t exit design mode because Control ‘DTPicker1″ can not be created».

Renaming the control and all its references in the code hasn’t helped. When I try to delete the control I still get the message even though there is no longer a control of that name.

How do I fix this?

Jean-François Corbett's user avatar

asked May 17, 2014 at 19:06

BillD's user avatar

2

Sounds like something in your workbook got corrupted. Something like this has happened to me once or twice.

The solution is then to copy everything (code and sheet contents) to a new workbook and rebuild your application there.

[Upgraded from comment since this solved the issue.]

answered May 18, 2014 at 20:08

Jean-François Corbett's user avatar

0

In my case, an error occurred when I developed an excel sheet with ActiveX DTPicker control in MS Excel 2013, moved it to Excel 2010 (still working), saved some changes and moved it back to the development environment in Excel 2013 — DTPickers cannot be loaded.

After some internet investigation I found a bit tricky manual how to solve the issue:

  1. Open the project code and unload the References that Excel allows.
  2. Make some little change in your code (I added one comment line) — to reload the project or something like that.
  3. Run some macro, for example only the one activating the first sheet.
  4. Close and reopen the Excel.
  5. Voila — Date and time pickers are loaded correctly.

As a firs I deleted the temporary files in «C:UsersxxxAppDataLocalTempExcel8.0» but it did not helped as a standalone action, so I don’t know, if it is a useful action or not.

answered Feb 25, 2015 at 17:01

raca's user avatar

racaraca

211 silver badge3 bronze badges

Had a similar issue where «Control ‘CommandButton13’ can not be created». The spreadsheet still worked on my colleagues PC. I spotted in the VBA editor that Sheet13 had become renamed to CommandButton1. On my colleagues PC, we changed the name back to Sheet13. It now works OK on my PC.

answered Sep 21, 2015 at 11:58

JoeBloggs's user avatar

Years later, stumbled on a solution, only because I recorded the steps that led up to the situation.

1) Had changed all worksheet securities to include UserInterfaceOnly:= True
2) Active-X controls were on protected sheets

The Workbook:Open included a routine to refresh all the sheet protections, something needed for UserInterfaceOnly to work, allowing macros to make sheet changes, but not the user. Always the newest Active-X control gave the ‘Can’t Exit Design Mode because…» or if the project is protected altogether, a 57121 error, which is catastrophic if trying to switch the offered Debug mode. Saving the workbook with the sheet that has the newest AC on it and reopening gave no issue.

Solution: Copied the protection loop at bottom to the top of Workbook_Open and changed protect to unprotect password(whatever yours is). Now the workbooks open again without any of these 2 warnings. Added the protection loop also to the Before_Safe to ensure the workbook would always be in a secure state, in case it gets loaded on a macro disabled system.

answered Jan 18, 2020 at 11:36

SekeRob2's user avatar

  • Ошибка can not choose method
  • Ошибка can not be run twice казаки 3
  • Ошибка can bus opel
  • Ошибка calls not allowed
  • Ошибка calling debug with incomplete return type qdebug