0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 24
|
|
1 | |
Excel Макросы в старой версии excel плохо работают в новых версиях excel (2007 и выше)30.09.2020, 12:31. Показов 2440. Ответов 13
Метки нет (Все метки)
Добрый день.
Cкачал в интернете программу в excel сделанную на макросах. Пробовал открывать в excel 2007, 2010 - почти ни чего не работает (Вылетает ошибка "Run time error" или пишет что скрипты отключены системой безопасности.) Открыл в excel 2003 portable - вроде бы после каких-то смен опции безопасности стали рабоать некоторые скрипты.. но тоже с ошибками. Вобщем, возможно ли что-то сделать с программкой - что бы она стала работать в новых версиях excel корректно , ну или хотя бы в старых, но без ошибок. Программу прилагаю. Cпасибо.
0
|
30.09.2020, 12:31 | |
Ответы с готовыми решениями:
13
Где находится опция "Добавить интерактивность" в Excel 2007 и более новых версиях? Адаптировать файл Excel от старой версии (2003) к новой (2016) Не работают VBA макросы Excel Определение новых клиентов в клиентской базе (Excel 2007) |
3912 / 2312 / 782
Регистрация: 02.11.2012
Сообщений: 6,152
|
|
30.09.2020, 13:10 | 2 |
это что то у вас. У меня в 2007 открылась без проблем.
Добавлено через 2 минуты Параметры эксель - Центр управления безопасностью-Параметры Центра управления безопасностью-Параметры макросов-Включить все. Макросы разрешены у вас?
0
|
30.09.2020, 13:31 | 3 |
Надо разбирать конкретную ошибку. Этот диалог, скорее всего, имеет кнопку Debug. Можно её нажать и изучить, что за ошибка там произошла. Ну а в моём бложике можно ознакомиться со статейкой ,где описывается процесс отладки и выявление-устранение ошибок
Шаловливые ручонки авторов этих портаблов режут что попало. Могли нафиг вырезать библиотеки VBA, как "ненужные". Ищите другой билд.
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
|
30.09.2020, 14:00 | 4 |
Varlam1414, когда переходишь на лист результата, то там в ячейке D200 стоит формула =ВПР(A200;E184:F197;2;1) и она выдает ошибку #Н/Д, которая возникает тогда, когда первый параметр (А200 и там у вас 0) меньше минимального значения первого столбца таблицы. А ошибка, вследствие этого, возникает в строке
O2_T = Cells(216, 11) + Cells(200, 4) Если вас не затруднит, то почитайте описание ВПР. Если вы надеетесь, что запустив чужую программу вы получите нужный результат, то не всегда. А открывается файл нормально на 7. Добавлено через 5 минут Кстати, что означает, с точки зрения программирования, ПЛОХО РАБОТАЮТ?
1
|
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 24
|
|
30.09.2020, 15:23 [ТС] | 5 |
Открывается. Cейчас изменил разрешения, вроде бы больше не пишет что макросы отключены.
0
|
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 24
|
|
30.09.2020, 15:27 [ТС] | 6 |
Burk
Varlam1414, когда переходишь на лист результата, то там в ячейке D200 стоит формула =ВПР(A200;E184:F197;2;1) и она выдает ошибку #Н/Д, которая возникает тогда, когда первый параметр (А200 и там у вас 0) меньше минимального значения первого столбца таблицы. А ошибка, вследствие этого, возникает в строке O2_T = Cells(216, 11) + Cells(200, 4) Если вас не затруднит, то почитайте описание ВПР. Если вы надеетесь, что запустив чужую программу вы получите нужный результат, то не всегда. А открывается файл нормально на 7. Добавлено через 5 минут Кстати, что означает, с точки зрения программирования, ПЛОХО РАБОТАЮТ? Да, нашел эту ошибку. Но когда открыл в excel 2003 - это значение само подставилось 817 и все посчиталось без ошибок. Но зато в excel 2003 (Как и в 2007 )возникает другая ошибка. Когда пытаешься добавить новый город в справочник с другой широтой или изменить широту существующего города на другу - возникает ошибка:
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
|
30.09.2020, 15:45 | 7 |
Varlam1414, ну так нельзя, ваши миниатюры не шибко то и нужны. А вот если вы при желтенькой ошибке встанете мышкой на какую-то переменную, в данном случае на U или на Cells(3,4), то увидите её значение, может у вас и номера листа такого нет. И вообще нужна последовательность действий напр. переход на второй лист, потом ввел в ячейку такую-то то-то, нажал на кнопку ........
Добавлено через 6 минут И лучше писать последовательность действий, приводящих к ошибке.
0
|
3912 / 2312 / 782
Регистрация: 02.11.2012
Сообщений: 6,152
|
|
30.09.2020, 15:57 | 8 |
Ошибка, скорей всего, по тому что вы добавили новую широту, а лист с названием данной широты отсутствует.
П.С. В файле куча скрытых листов.
0
|
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 24
|
|
30.09.2020, 20:00 [ТС] | 9 |
Burk
Vlad999 Varlam1414, ну так нельзя, ваши миниатюры не шибко то и нужны. А вот если вы при желтенькой ошибке встанете мышкой на какую-то переменную, в данном случае на U или на Cells(3,4), то увидите её значение, может у вас и номера листа такого нет. И вообще нужна последовательность действий напр. переход на второй лист, потом ввел в ячейку такую-то то-то, нажал на кнопку ........ Добавлено через 6 минут И лучше писать последовательность действий, приводящих к ошибке. Ошибка, скорей всего, по тому что вы добавили новую широту, а лист с названием данной широты отсутствует. П.С. В файле куча скрытых листов. -Именно так Скрипт принимает для расчета только те широты которые есть в Листах. Я если честно вообще не знаю что это за листы и зачем они нужны. Но как я понял -если создать лист с нужной широтой- смогу использовать ее в расчетах. В скрине видно что есть листы с значениями 48 , 44, 40, 52 ,56,50,64 - эти широты можно вбивать и ошибки не будет. Вопрос- как создать лист со значением например -25. P.S и почему эти листы вообще скрыты?? Это защита какая-то?
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
|
01.10.2020, 04:42 | 10 |
Ну это совсем детский вопрос, который имеет несколько решений. Например, встать на название любого листа внизу и правой кнопкой Вставить, а потом новый лист Переименовать как надо. И такие вещи лучше смотреть в поисковике самому.
0
|
01.10.2020, 06:57 | 11 |
Varlam1414, Научись пользоваться цитированием на форуме. Какой смысл полностью вставлять текст сообщения собеседника, если отвечаешь не конкретно на эти слова, а продолжаешь диалог, задавая новые вопросы? Да ещё и без тегов цитирования. Зачем мне по два раза читать одно и тоже сообщение, чтоб найти новое сообщение?
Задай этот вопрос автору этого творения. Может быть, для интерфейса эти листы лишние.
0
|
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 24
|
|
01.10.2020, 11:14 [ТС] | 12 |
Прошу прощения что доставил вам неудобства.
Добавлено через 8 минут Честно говоря и сам понимаю что это должно быть довольно просто. Но наведя курсор на произвольный лист и нажав правой кнопкой увидел опцию insert которая предлагает на выбор варианты UserForm / Module / Class Module ) Вот и задался вопросом - как же воткнуть лист))
0
|
3912 / 2312 / 782
Регистрация: 02.11.2012
Сообщений: 6,152
|
|
01.10.2020, 12:17 | 13 |
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
|
01.10.2020, 12:26 | 14 |
не на лист, а на НАЗВАНИЕ ЛИСТА - не в проекте, а на любом листе экселя,как я и писал, и первый же пункт появившегося меню будет ВСТАВИТЬ!!!!
Наберите в поисковике ВСТАВКА НОВОГО ЛИСТА эксель и получите миллион комментов.Если в семерке, то можно нажать на верхний левый кругляшок левой кнопкой и пункт СОЗДАТЬ. Читайте больше, а то что-то надоело вам объяснять то, что вы можете прочитать сами. Это не Ликбез, а форум.
0
|
01.10.2020, 12:26 | |
01.10.2020, 12:26 | |
Помогаю со студенческими работами здесь
14
Как заставить работать макросы, написанные в excel 2003, для коррекции данных в word 2007? Реализовать проверку текущей версии программы и оповещение пользователя о новых версиях Макросы на копирование данных из нескольких файлов excel в один файл excel Формулы Excel 2007. Глюк в Excel 2007-? Перевод макросов Excel 2007 для работы в Excel 2016 Excel 2007 - стандартное меню в стиле Excel 2000 (2003, XP) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |