Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 24
1
Excel

Макросы в старой версии excel плохо работают в новых версиях excel (2007 и выше)

30.09.2020, 12:31. Показов 2440. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Cкачал в интернете программу в excel сделанную на макросах. Пробовал открывать в excel 2007, 2010 - почти ни чего не работает (Вылетает ошибка "Run time error" или пишет что скрипты отключены системой безопасности.)

Открыл в excel 2003 portable - вроде бы после каких-то смен опции безопасности стали рабоать некоторые скрипты.. но тоже с ошибками.

Вобщем, возможно ли что-то сделать с программкой - что бы она стала работать в новых версиях excel корректно , ну или хотя бы в старых, но без ошибок.

Программу прилагаю. Cпасибо.
Вложения
Тип файла: xls Солнечная радиация 26-10-04.xls (562.5 Кб, 12 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.09.2020, 12:31
Ответы с готовыми решениями:

Где находится опция "Добавить интерактивность" в Excel 2007 и более новых версиях?
В "Excel 2003" если сделать так: Файл - Сохранить как... Откроется окно "Сохранение документа";...

Адаптировать файл Excel от старой версии (2003) к новой (2016)
Здравствуйте! Помогите решить проблему с Excel-файлом с кучей дополнительных функций. Начальник...

Не работают VBA макросы Excel
Доброго времени суток, перестали работать полностью все макросы у некоторых пользователей, не...

Определение новых клиентов в клиентской базе (Excel 2007)
Большая просьба откликнуться!!! есть база данных по клиентам компании, с объемами продаж...

13
3912 / 2312 / 782
Регистрация: 02.11.2012
Сообщений: 6,152
30.09.2020, 13:10 2
это что то у вас. У меня в 2007 открылась без проблем.

Добавлено через 2 минуты
Параметры эксель - Центр управления безопасностью-Параметры Центра управления безопасностью-Параметры макросов-Включить все. Макросы разрешены у вас?
0
835 / 466 / 79
Регистрация: 18.05.2016
Сообщений: 1,244
Записей в блоге: 4
30.09.2020, 13:31 3
Цитата Сообщение от Varlam1414 Посмотреть сообщение
"Run time error"
Надо разбирать конкретную ошибку. Этот диалог, скорее всего, имеет кнопку Debug. Можно её нажать и изучить, что за ошибка там произошла. Ну а в моём бложике можно ознакомиться со статейкой ,где описывается процесс отладки и выявление-устранение ошибок

Цитата Сообщение от Varlam1414 Посмотреть сообщение
portable
Шаловливые ручонки авторов этих портаблов режут что попало. Могли нафиг вырезать библиотеки 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 )возникает другая ошибка. Когда пытаешься добавить новый город в справочник с другой широтой или изменить широту существующего города на другу - возникает ошибка:
Миниатюры
Макросы в старой версии excel плохо работают в новых версиях excel (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 и почему эти листы вообще скрыты?? Это защита какая-то?
Миниатюры
Макросы в старой версии excel плохо работают в новых версиях excel (2007 и выше)  
0
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
01.10.2020, 04:42 10
Цитата Сообщение от Varlam1414 Посмотреть сообщение
Вопрос- как создать лист со значением например -25.
Ну это совсем детский вопрос, который имеет несколько решений. Например, встать на название любого листа внизу и правой кнопкой Вставить, а потом новый лист Переименовать как надо. И такие вещи лучше смотреть в поисковике самому.
0
835 / 466 / 79
Регистрация: 18.05.2016
Сообщений: 1,244
Записей в блоге: 4
01.10.2020, 06:57 11
Varlam1414, Научись пользоваться цитированием на форуме. Какой смысл полностью вставлять текст сообщения собеседника, если отвечаешь не конкретно на эти слова, а продолжаешь диалог, задавая новые вопросы? Да ещё и без тегов цитирования. Зачем мне по два раза читать одно и тоже сообщение, чтоб найти новое сообщение?

Цитата Сообщение от Varlam1414 Посмотреть сообщение
Это защита какая-то?
Задай этот вопрос автору этого творения. Может быть, для интерфейса эти листы лишние.
0
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 24
01.10.2020, 11:14  [ТС] 12
Цитата Сообщение от amd48 Посмотреть сообщение
Varlam1414, Научись пользоваться цитированием на форуме. Какой смысл полностью вставлять текст сообщения собеседника, если отвечаешь не конкретно на эти слова, а продолжаешь диалог, задавая новые вопросы? Да ещё и без тегов цитирования. Зачем мне по два раза читать одно и тоже сообщение, чтоб найти новое сообщение?
Прошу прощения что доставил вам неудобства.

Добавлено через 8 минут
Цитата Сообщение от Burk Посмотреть сообщение
Ну это совсем детский вопрос, который имеет несколько решений. Например, встать на название любого листа внизу и правой кнопкой Вставить, а потом новый лист Переименовать как надо. И такие вещи лучше смотреть в поисковике самому.
Честно говоря и сам понимаю что это должно быть довольно просто. Но наведя курсор на произвольный лист и нажав правой кнопкой увидел опцию insert которая предлагает на выбор варианты UserForm / Module / Class Module )
Вот и задался вопросом - как же воткнуть лист))
0
3912 / 2312 / 782
Регистрация: 02.11.2012
Сообщений: 6,152
01.10.2020, 12:17 13
Цитата Сообщение от Varlam1414 Посмотреть сообщение
Но наведя курсор на произвольный лист
Это делается в окне экселя а не VBA.
0
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
01.10.2020, 12:26 14
не на лист, а на НАЗВАНИЕ ЛИСТА - не в проекте, а на любом листе экселя,как я и писал, и первый же пункт появившегося меню будет ВСТАВИТЬ!!!!
Наберите в поисковике ВСТАВКА НОВОГО ЛИСТА эксель и получите миллион комментов.Если в семерке, то можно нажать на верхний левый кругляшок левой кнопкой и пункт СОЗДАТЬ.
Читайте больше, а то что-то надоело вам объяснять то, что вы можете прочитать сами. Это не Ликбез, а форум.
0
01.10.2020, 12:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2020, 12:26
Помогаю со студенческими работами здесь

Как заставить работать макросы, написанные в excel 2003, для коррекции данных в word 2007?
ситуация следующая макросы, написанные в excel 2003 для коррекции данных в word 2003 все...

Реализовать проверку текущей версии программы и оповещение пользователя о новых версиях
Здравствуйте! Меня интересует то, как я могу подключить базу данных к проекту C++? Или даже не базу...

Макросы на копирование данных из нескольких файлов excel в один файл excel
Здравствуйте! Помогите сделать два макроса в excel, которые будут копировать данные из множества...

Формулы Excel 2007. Глюк в Excel 2007-?
Есть столбец с данными некоторого финансового потока -H Програмным способом забиваю столбец -I...

Перевод макросов Excel 2007 для работы в Excel 2016
Здравствуйте. Перешли вынуждено на Офис 2016 и макросы созданные в Офисе 2007 для Excel перестали...

Excel 2007 - стандартное меню в стиле Excel 2000 (2003, XP)
Для тех, кто столкнулся с 2007-м Office... Предлагается на рассмотрение VBA код, который создает в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru