Здравствуйте. |
|
Karataev Пользователь Сообщений: 2306 |
Наверное Вам надо создать пустой файл, скопируйте в него все листы из имеющегося файла, и скопируйте модули с макросами. С тем файлом, который Вы выложили на форуме, работать наверное нельзя, т.к. если зайти в VBE, то видно, что несколько модулей книг. Такого по идее не должно быть. |
Вот и хотелось причину выяснить. |
|
Karataev Пользователь Сообщений: 2306 |
Причину можно искать, но файлом в том виде, какой сейчас есть, мне кажется нельзя пользоваться. |
sokol92 Пользователь Сообщений: 4445 |
Уважаемый DmitriyBastr! Профессор ( ZVI ) уже наметил для Вашего файла (и аналогичных) курс лечения . От себя хочу добавить: перед копированием листов преобразуйте «умные» таблицы в обычные диапазоны. |
DmitriyBastr Пользователь Сообщений: 82 |
#6 21.02.2018 15:00:35 Этим файлом и не пользуются уже. |
Разрушительный сбой |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Ребята. И файлик у меня, благодаря более ранним советам бинарный, и наполнение формы уже практически на 98 % автоматизировано.
А вот перенести содержимое листов из одного файла в другой — практически невозможно. И дело даже не в объеме. Сами листы постоянно меняются.
Я просто научился жить с этой ошибкой. Возникает она строго когда меняется расположение/размер элемента на форме, которая
1. создана в 97 версии Excel
2. испытала по меньшей мере 48 модификаций (я версии считаю)
3. содержит пару сотен разных элементов.
4. испытала неоднократные нагрузки на основные элементы в тысячи и десятки тысяч записей
Я не говорю, что моя форма — великий и непогрешимый продукт моцга.
Она давно уже просится в отдельное приложение. Но пока я дорабатываю мелочи концепции — об отдельном приложении речи не идет.
То что xlsm — большая мусорка, я понимаю. Но сделать с этим пока ничего не могу. В файлах хls возникают проблемки с условным форматированием, некоторыми новыми функциями. От условного форматирования я планомерно ухожу. Но работы пока в этом направлении много. Индикация — важная вещь при экспресс-анализе непрерывно добавляющейся инфы.
А вот как уйти от функций СУММЕСЛИ, СЧЁТЕСЛИ и т.п.? Можно, конечно, наваять свою приблуду, но работать она будет заведомо и ощутимо медленнее. Доживу до SQL — буду выпендриваться.
Так что большинство советов я учитываю и использую. Они помогли мне в моем случае локализовать ошибку, условия ее возникновения, действия к ней приводящие, что мной и освещено здесь.
Добавлено через 2 часа 11 минут
Сообщение от StepInLik
6. На счет инфы со ссылкой и не лицензионным ПО не понял. Пожалуйста поясните.
Забыл совсем… прошу прощения. Если ПО нелицензионное (офис), то объективно возникает ошибка при подключении модуля, следящего за этим делом. Но у меня ошибка возникает и на лицензионном 2010 офисе (prof+). Так что ко мне это дело не относится. Ссылку здесь я привел, суммируя всё, что я нахожу или к чему прихожу сам по данному вопросу.
Добавлено через 5 минут
Сообщение от StepInLik
странно что он у вас вообще работает(и даже открывается) при (по всей видимости) таких объемах и будучи эксэмэльным (xlsx(m)
мои собственные проверки. Файл xlsm (2010-2013) работает и открывается при количестве строк 140 тыс. Файл еще работал, но у меня уже не открылся при количестве строки 730 тыс. Проблема была в нехватке оперативки. так что большой вопрос — а открылся ли файл. С таким монстром работать в excel почти невозможно (недопустимый износ нервов). поэтому дальше я не экспериментировал. Понятно, что мои задачи — задачи баз данных. Я сейчас отрабатываю концептуально программу обработки БД. Формировать БД и приложения, работающие с ней буду позже. И скорее всего с профильными спецами. Моя задача будет — грамотно формировать ТО с учетом ньюансов. Кто-б мне такой подарок в жизни сделал?!
Добавлено через 4 минуты
Сообщение от StepInLik
переносите не объекты (со всем мусором), а внешнее состояние объектов — т.е. содержимое, оформление, названия …
что имелось ввиду? копирование? как перенести форму? перерисовать?
я открываю VBA и драг-энд-дропом перетаскиваю формы, класс, модули из одного файла в другой. листы — копирую стандартным способом «переместить/копировать лист»
Добавлено через 1 минуту
Сообщение от anton-sf
с контролем создания и уничтожения объектов
я не уничтожаю и не создаю сами объекты на форме. Они созданы на этапе конструирования, позиционированы и отредактированы. Их наполнение — программное.
При редактировании элементов и возникает сбой.
Добавлено через 45 минут
Сообщение от AndreA SN
При редактировании элементов
имеется ввиду не программное наполнение, а редактирование элементов в конструкторе формы
Есть программа , написанная на VBA и находится на сервере. Несколько человек одновременно работает с этими даннымы.
До сих пор это программа работала без проблема.
Но, сегодня мне понадобилось нескольо изменения делать и для этого и отключила доступ к книге.
После изменение хотела поставить галочку доступ к книге. После этого программа не открывается. Такая ошибка получается: «Automation error. Разрушительный сбой»
Дело в том что это ошибка получается только после галочку доступ к книге.
Что за ошибка? Что можно делать?
Только сейчас заметила что Office 2007 все нормально работает. А Office 2010 и 2013 такая ошибка получается.
может неустановлена библиотека
- Профессиональные приемы работы в Microsoft Excel
-
►
Обмен опытом -
►
Microsoft Excel -
►
Automation error. Разрушительный сбой
в файле нет защиты — это просто сделан совместный доступ, при его установке скрывается содержимое vba проекта.
Gameower, можно так поискать проблемный код. Удалите из файла все макросы, а оставьте только модуль «Module1». Не забудьте удалить макросы и в модулях листов.
Затем посмотрите, осталась ли ошибка. Если осталась, то дальше уже нужно смотреть модуль «Module1» и процедуру «Курс_Евро». И выложите на форуме файл, в котором будет только один проблемный модуль.
в файле нет защиты — это просто сделан совместный доступ, при его установке скрывается содержимое vba проекта.
Gameower, можно так поискать проблемный код. Удалите из файла все макросы, а оставьте только модуль «Module1». Не забудьте удалить макросы и в модулях листов.
Затем посмотрите, осталась ли ошибка. Если осталась, то дальше уже нужно смотреть модуль «Module1» и процедуру «Курс_Евро». И выложите на форуме файл, в котором будет только один проблемный модуль. Karataev
в файле нет защиты — это просто сделан совместный доступ, при его установке скрывается содержимое vba проекта.
Gameower, можно так поискать проблемный код. Удалите из файла все макросы, а оставьте только модуль «Module1». Не забудьте удалить макросы и в модулях листов.
Затем посмотрите, осталась ли ошибка. Если осталась, то дальше уже нужно смотреть модуль «Module1» и процедуру «Курс_Евро». И выложите на форуме файл, в котором будет только один проблемный модуль. Автор — Karataev
Дата добавления — 11.07.2016 в 13:45
Источник
VBA Automation Error
In this Article
This tutorial will explain what a VBA Automation Error means and how it occurs.
Excel is made up of objects – the Workbook object, Worksheet object, Range object and Cell object to name but a few. Each object has multiple properties and methods whose behavior can be controlled with VBA code. If the VBA code is not correctly programmed, then an automation error can occur. It is one of the more frustrating errors in VBA as it can often pop up for no apparent reason when your code looks perfectly fine!
(See our Error Handling Guide for more information about VBA Errors)
Referring to a Variable no Longer Active
An Automation Error could occur when you are referring to a workbook or worksheet via a variable, but the variable is no longer active.
When we run the code above, we will get an automation error. This is due to the fact that we have opened a workbook and assigned a variable to that workbook. We have then closed the workbook but in the next line of code we try to activate the closed workbook. This will cause the error as the variable is no longer active.
If we want to activate a workbook, we first need to have the workbook open!
Memory Overload
This error can also sometimes occur if you have a loop and you forget to clear an object during the course of the loop. However, it might only occur sometimes, and not others- which is one of the reasons why this error is can be so annoying.
Take for example this code below:
The variable is declared as an Object, and then the SET keyword is used to assign an image to the object. The object is then populated with an image and inserted into the Excel sheet with some formatting taking place at the same time. We then add a loop to the code to insert 100 images into the Excel sheet. Occasionally this causes an automation error, but sometimes it doesn’t – frustrating, right?
The solution to this problem is to clear the object variable within the loop by setting the object to NOTHING – this will free the memory and prevent the error.
DLL Errors and Updating Windows
Sometimes the error occurs and there is nothing that can be done within VBA code. Re-registering DLL’s that are being used, making sure that our Windows is up to date and as a last resort, running a Registry Check as sometimes the only things that may work to clear this error.
A good way of avoiding this error is to make sure that error traps are in place using the On Error Go To or On Error Resume Next routines.
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro — A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!
VBA Code Examples Add-in
Easily access all of the code examples found on our site.
Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.
Источник
Excel vba automation error разрушительный сбой
This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.
Asked by:
Question
I have worked on a file for long time using Excel 2003. I have few macros and custom functions written. I decided to use another computer to do some additional work on this file — mainly new formulas and outline, but no code writing. The file was opened as 2003 and was saved in the same fashion, was not converted to 2007 at any point.
I saved it and closed it. I then opened it on my original computer and after opening it gave me «Automation Error — Catastrophic Failure» message without an error number. Right after that it sent me to VBA screen and instead of having my file name under the Project Tree, it has «VBAproject». I click on it and can see my code and my forms, but the worksheets are not label properly plus they have this little blue icon next to them.
I tried to open the file again by clicking Disable macros, and no error was given but obviously can’t do much with the file.
One thing I read around is about sharing and references. This file sharing options were turned off so that’s not it. I then realized under VBA-Tools-References that the office 2007 is referencing different files for some of the selections, like Visual Basic For Applications, Microsoft Excel 12.0 Object Library, etc. I copied those files to the proper folders on the 2003 computer but that didn’t do the trick. When I click disable macros and go to check the references in the 2003 version everything looks normal.
Any ideas? I did quite of work on this file so redoing this is the last resort but I hope I don’t have to go that route.
Thank you in advance!
All replies
Automation errors usually occur when a workbook is trying to run some macro that contains objects they are not included in the references section of the VBA editor. One example that would produce this is having some controls on a form which require a specific DLL to be correctly registered on a client PC. If these DLLs are on your pc, the workbook is fine. Put this same workbook on another PC without the DLLs, and an automation error will occur.
Hope this helps.
Thank you Jennifer,
So tell me what is the best way to check what dll is crashing? Should I simply check which files are referenced in the VBA-Tools-References and see of those files are on the other computer?
Whilst it might be a reference issue what you describe seems much more serious than the usual problems associated with a missing or incompatible reference.
It’s not clear from your original description which Excel version you are currently using, though I assume 2007 as you mentioned «12.0» in the references. FWIW those references are normal, indeed all project will include the following as default
Visual Basic For Applications
Microsoft Excel x.0 Object Library
OLE Automation
Microsoft Office x.0 Object Library
and possibly if a form has ever been added —
Microsoft Forms 2.0 Object Library
where x refers to the Excel version.
Can you open the file in Safe mode, from the Run command
«excel.exe /safe» without quotes
(you might then need to change security settings via the UI to open a file with VBA)
Can you open the file in Excel 2003
Is there anything you can think of in the file that’s not typical about the xls/a(?) originally saved in 2003.
Regards,
Peter Thornton
Hello Peter and thank you for the response.
I am opening the file with Excel 2003 (on Windows XP if it matters). I have worked on this file for long time and just recently did some cosmetic work on Excel 2007 on another computer. I did some VBA coding at that point but it was minor and primarily for formatting help.
The issue is that now I open the file in 2003 and gives me the error. What is even more absurd, I re-worked an old file (which was never opened on 2007) and that file still gives the same error on few of my company’s computers that are all running on 2003.
The current references look like this:
Visual Basic For Applications
Microsoft Excel 11.0 Object Library
OLE Automation
Microsoft Office 11.0 Object Library
Microsoft Forms 2.0 Object Library
I was able to uncheck the 3rd and 4th of these but still the file gives an error. When I open the file on 2007 the 11.0 becomes 12.0 and no other changes.
I can’t think of any special references since all my work has been done on 2003 with few minor changes in 2007. This error drives me crazy since I can’t do anything with the file. I will try this safe mode opening. I have never opened a file through VBA but will try.
When you round trip a VBA file saved on an old version to a new, and back again reference problems can be introduced, even if you haven’t done anything apart from save.
That occurs when the reference has been updated to the new version then not found in the old version’s system. Whilst that can make some VBA stuff fail, normally not with the serious consequences you described. However the ref’s you show this time look fine for the file when opened in 2003, indeed exactly what I’d expect. Actually I’m surprised you were able to remove two of the ref’s.
The cosmetic changes you made in 2007 sound like formats, some of these may cause problems when reopened in 2003, though normally the compatibility checker will pick these up.
I’m a bit confused though, if I follow you are saying you’ve got problems with a file that’s never even been opened in 2007. Also if I follow the exact same file opens fine in some 2003 systems but not in others. Does the file include any non standard forms controls, any controls that you would have needed to add to the toolbox for example.
Regards,
Peter Thornton
Sorry to confuse you here — I am talking about 2 files.
First file — was used in 2003, then saved and more formatting work was done on 2007, after that this file crashed on my personal computer and one my coworker’s as well. We can says this «round-trip» is the cause.
The second file is technically a copy of the first before it was opened on 2007. I re-did all of the work that I previously did on 2007 on my 2003 excel and that file is works fine on my computer but is crashing on some of my coworkers computers. This file was never opened on 2007.
Got me thinking though — I have loaded some custom toolbars on my excel that I am not sure all people within my company have. I don’t know if I am going in the wrong direction here. Still I got a file now that I can open along with 2-3 other co-workers, but majority of the people can’t and this file was not opened on 2007 but the error (at least the message) is exactly the same as the error I myself was getting when doing this 2003-2007 round trip.
Curiouser and curiouser!
Do you have an original copy of the file that you neither modified in 2007 nor 2003, if so does that work on all machines.
Are there any Links ?
Any non standard controls that would have needed to be added to the Toolbox ?
Can you open the problematic files on the problematic machines in Safe Mode (see my first post) ?
Any references marked MISSING ?
Any Open event code, if so hold Shift when opening.
Custom Toolbars, do you mean «attached» to the workbook or created on demand. FWIW I really think best never to «attach» custom toolbars, instead create the custom toolbar in the workbook’s open event and delete in the close. That said I can’t think of any reason for a custom toolbar to cause the problems you described.
Regards,
Peter Thornton
Glad I got your curiosity! 🙂
The file I worked on from scratch over a year now. It was always done on 2003.
If you mean links to outside sources — no. There are hyperlinks within the file itself, but nothing fancy on that end.
I don’t think any non-standard controls are added to the Toolbox.
I can open even the file that crashes on my computer by selecting Disable Macros. I tried the safe mode as well with the file that always crashes and besides the message that the macros are disabled in the beginning everything else is fine. So I assume all my coworkers would be able to open it with Safe mode as well.
No MISSING references. Unless it is hiding somewhere else, but I would assume the error message would let me know that.
No Open event code — that includes all of the tabs as well and no change event code.
The custom toolbars are widely used by my company and never caused many errors. But you are right, I don’t think that is the error.
I would gladly send you the file, but it is full with company information. What is even more annoying is that I work in a different location from the rest of my coworkers that have issues with this file so I can’t see what is going on there.
Before I did the changes with 2007, a month ago I had this issue — after my regular update on the file, the other person tried to open the file but got the same error. This was the first time when we faced that error. While waiting for him to hear from IT, I did some more updates to the file (didn’t remove anything old and didn’t add any code) and sent him the most recent copy. Suddenly it worked for him. Bizarre! 2 weeks later I did the updates on 2007 and I got the same error myself. For a year working with this file neither of us had any problems. It just recently started. I think it must be something not necessary related to this file, but rather with my excel, which was activated by another file and this file doesn’t like it. Is that too crazy of an idea?
Источник
Adblock
detector
16.05.19 — 09:46
Добрый день.
Стоит 1С 8.2 УПП.
Платформа 8.3.12.1790
Стоит Excel 2010.
У нескольких пользователей началась ерунда с работой Экселя.
Есть обработка, которая открывает файл экселя и оттуда данные закидывает в заказ поставщику.
В обработке в начале идет «Новый COMОбъект(«Excel.Application»)».
И на этой строчке у одного из пользователей (в разные дни это может быть разный пользователь, сегодня один, завтра другой, бессистемно как то) выходит ошибка:
-2147418113(0x8000FFFF): Разрушительный сбой
Соответственно это на любом файле экселя вылетает, от самого файла не зависит, так как ещё и не дошло действие до него.
Вопрос, может кто сталкивался с таким и подскажет куда копать?
P.S. под этим же пользователем с другого терминала все нормально работает, т.е. проблема где то возникает на конкретном терминале.
1 — 16.05.19 — 09:50
2 — 16.05.19 — 09:53
(0) Какая разрядность 1С и excel?
3 — 16.05.19 — 09:55
(1) там про работу самого экселя. А у меня и на пустом файле новом такая ошибка выходит. Да даже просто обработку если сделать с кодом
Excel = Новый COMОбъект(«Excel.Application»);
Без выбора файла, то уже ошибка будет. Просто на обработке из одной строчки этой. Так что никак от файла самого не зависит это к сожалению.
4 — 16.05.19 — 09:56
(1) уточню, что через сам Эксель на терминале файл спокойно открывается и делается что угодно с ним.
5 — 16.05.19 — 09:57
(2) Хм. 64 у 1С и 32 у Экселя.
6 — 16.05.19 — 10:04
(3) да ты ж работаешь через объект Excel, ошибки теже
7 — 16.05.19 — 10:07
(6) но лично в Экселе же нет ошибок никаких. Спокойно файлы открываются, работаешь с ними, закрываешь. Ошибок нет.
Ошибка лишь в 1С в момент вот попытки создания комобъекта с экселем.
8 — 16.05.19 — 10:10
(7) тогда начинай сначала — кэш чистил?
9 — 16.05.19 — 10:11
(8) да
10 — 16.05.19 — 10:12
(9) пересохранить файл под другим именем?
11 — 16.05.19 — 10:15
(10) Да. Так же как и копирование вручную ячейки и т.д.. Но как я выше написал, ошибка выходи без файла.
Просто когда 1 строчка в обработке: Excel = Новый COMОбъект(«Excel.Application»);
Т.е. от файла никак не зависит. Это может быть и пустой файл и что угодно.
12 — 16.05.19 — 10:17
(0) Такая ошибка была, когда на ПК была установлен Клиент 1С х64.
13 — 16.05.19 — 10:18
(11) а если файл сохранить в старом формате? 97-2003
14 — 16.05.19 — 10:21
(5) По идеи должно работать. Но ошибка точно в разрядности.
(12) Попробуй поставить 64х эксель или 32х битную платформу.
15 — 16.05.19 — 10:21
(13) А он в старом формате и есть. Но пробовал и новые форматы тоже.
(12) т.е. разрядность экселя тоже надо 64 сделать или что имеете ввиду?
Да и почему вчера ошибка была у другого пользователя, а сегодняшний работал нормально. Почему другие нормально работают.
Это всё вот не понятно.
16 — 16.05.19 — 10:22
а файл не занят чем то еще? или эксель открыт еще один?
17 — 16.05.19 — 10:24
(16) нет, не занят, проверил. Эксель…хм…если только завис как либо хитро, а так всё закрыто смотрю.
18 — 16.05.19 — 10:26
(17) RDP? завершить полностью сеанс пользователя
19 — 16.05.19 — 10:29
(0) неужели для чтения люди до сих пор COM пользуются?
20 — 16.05.19 — 10:34
(18) на всякий случай сейчас сам под ней полностью вышел из терминала и зашел заново, не помогло.
До этого да, оказывается крестиком тупо закрывали.
Ну да все равно ошибка есть.
(19) а через что предлагаешь сделать? Я по привычки с давних времен так делаю)))
21 — 16.05.19 — 10:38
(14) совет по 64 Экселю передал им конечно. Но пока согласуют, пока поставят. Это день другой уйдет, от меня это никак не зависит.
Так что этот момент буду иметь ввиду, но пока искать и другие пути решения.
22 — 16.05.19 — 10:40
(19) это несколько странно сейчас на платформе 8.3.12, если книга exel из 1 листа, то ТабличныйДокумент.Прочитать(ФайлЭкселя), далее работать как с табличным документом.
23 — 16.05.19 — 10:41
(22) -> (20)
24 — 16.05.19 — 10:43
(22) За идею спасибо, после обеда код перепишу и проверю, будет ли работать под проблемным пользователем.
25 — 16.05.19 — 11:15
Заверни в попытку, получи ОписаниеОшибки.
26 — 16.05.19 — 11:20
(25) изначально так и было, описание было пустым.
А без Попытки выходит вот что, что в начале написал.
27 — 16.05.19 — 11:32
(15) Не страдай и ставь х32 на Клиентские ПК
dragonIMV
28 — 16.05.19 — 12:06
(22) Данный метод сработал без ошибки. Так что спасибо за совет, остановлюсь на этом решении.
Return to VBA Code Examples
This tutorial will explain what a VBA Automation Error means and how it occurs.
Excel is made up of objects – the Workbook object, Worksheet object, Range object and Cell object to name but a few. Each object has multiple properties and methods whose behavior can be controlled with VBA code. If the VBA code is not correctly programmed, then an automation error can occur. It is one of the more frustrating errors in VBA as it can often pop up for no apparent reason when your code looks perfectly fine!
(See our Error Handling Guide for more information about VBA Errors)
Referring to a Variable no Longer Active
An Automation Error could occur when you are referring to a workbook or worksheet via a variable, but the variable is no longer active.
Sub TestAutomation()
Dim strFile As String
Dim wb As Workbook
'open file and set workbook variable
strFile = Application.GetOpenFilename
Set wb = Workbooks.Open(strFile)
'Close the workbook
wb.Close
'try to activate the workbook
wb.Activate
End Sub
When we run the code above, we will get an automation error. This is due to the fact that we have opened a workbook and assigned a variable to that workbook. We have then closed the workbook but in the next line of code we try to activate the closed workbook. This will cause the error as the variable is no longer active.
If we want to activate a workbook, we first need to have the workbook open!
Memory Overload
This error can also sometimes occur if you have a loop and you forget to clear an object during the course of the loop. However, it might only occur sometimes, and not others- which is one of the reasons why this error is can be so annoying.
Take for example this code below:
Sub InsertPicture()
Dim i As Integer
Dim shp As Object
For i = 1 To 100
With Worksheets("Sheet1")
'set the object variable
Set shp = .OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, DisplayAsIcon:=False, Left:=.Cells(i, "A").Left, Top:=.Cells(i, "A").Top, Width:=264, Height:=124)
End With
With shp
.Object.PictureSizeMode = 3
'load the picture
.Object.Picture = LoadPicture("C:dataimage" & i & ".jpg")
.Object.BorderStyle = 0
.Object.BackStyle = 0
End With
Next i
End Sub
The variable is declared as an Object, and then the SET keyword is used to assign an image to the object. The object is then populated with an image and inserted into the Excel sheet with some formatting taking place at the same time. We then add a loop to the code to insert 100 images into the Excel sheet. Occasionally this causes an automation error, but sometimes it doesn’t – frustrating, right?
The solution to this problem is to clear the object variable within the loop by setting the object to NOTHING – this will free the memory and prevent the error.
Sub InsertPicture()
Dim i As Integer
Dim shp As Object
For i = 1 To 100
With Worksheets("Sheet1")
'set the object variable
Set shp = .OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, DisplayAsIcon:=False, Left:=.Cells(i, "A").Left, Top:=.Cells(i, "A").Top, Width:=264, Height:=124)
End With
With shp
.Object.PictureSizeMode = 3
'load the picture
.Object.Picture = LoadPicture("C:dataimage.jpg")
.Object.BorderStyle = 0
.Object.BackStyle = 0
End With
'clear the object variable
Set shp = Nothing
Next i
End Sub
DLL Errors and Updating Windows
Sometimes the error occurs and there is nothing that can be done within VBA code. Re-registering DLL’s that are being used, making sure that our Windows is up to date and as a last resort, running a Registry Check as sometimes the only things that may work to clear this error.
A good way of avoiding this error is to make sure that error traps are in place using the On Error Go To or On Error Resume Next routines.
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro — A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!
Learn More!