Страницы: 1
RSS
Созданое в Excel 97 не работает в Excel 2007
 
На работе стоит ХР, а дома 7. На рабочем работает нормально. Решил по свободе посидеть над документом дома, а семёрка на любой макрос ругается. Пример:
Код
Private Sub Workbook_Open()
    Application.ScreenUpdating = False
    Sheets("СЧЕТ").Visible = True
    Sheets("ГРАФИК").Visible = False
    With UserForm1
        .Show 0
        .OptionButton2 = True
    End With
    Application.ScreenUpdating = True
End Sub

Ругаться начинает с строки:
Код
Sheets("СЧЕТ").Visible = True

Подскажите в чем может быть причина?
Изменено: Ronin751 - 05.11.2013 21:45:32
 
А где Вы откопали Excel-97? ))
 
Имел в виду 97-2003. xls
 
Может между ХР и семеркой есть какая то не совместимость? Ведь если я уже на семерке пишу тот же макрос, то все работает хорошо.  :(
 
Ну бы хоть ради приличия текст ошибки привели. Предположу, что оно: Ошибка - Cant find Project or library
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Простите! О примере ошибки не подумал.

Run-time error '57121'
Application-defined or object-deifined error
Изменено: Ronin751 - 05.11.2013 22:51:56
 
Run-time error '57121'
Application-defined or object-deifined error

может происходить потому, что процедура происходит до того, как Excel подкружает листы. Поэтому макрос и загибается на Sheets("СЧЕТ").Visible = True, потому что он его не видит.
Как вариант можно попробовать поставить выполнение процедуры с задержкой ну например в 5 секунд
Application.Wait Time:=Now + TimeValue("0:00:05")
или использовать процедуру Sub auto_open() в стандартном модуле.
 
Спасибо antal10 но увы безуспешно! Ругаеться и на стандартный модуль и после задержки в 5 секунд. При чем ругаеться все на то же.  :cry:
Изменено: Ronin751 - 06.11.2013 12:16:35
 
Дома русская система? Нет проблем с кириллицей?
 
Цитата
а семёрка на любой макрос ругается.
Совсем на любой?
 
Hugo!
Цитата
Дома русская система? Нет проблем с кириллицей?
Нет. Проблем с кирилицей не замечал.

Юрий М!
Цитата
Совсем на любой?
В том то и дело, что на любой. Допустим: вот беру я и удаляю Private Sub Workbook_Open(), и открываю Форму при нажатии клавиши (макросом изначально записаным в стандартном модуле):
Код
 Sub Скругленныйпрямоугольник1_Щелкнуть()
If ActiveSheet.Name = "СЧЕТ" Then           
 UserForm1.Show 0
            UserForm1.OptionButton2 = True
ElseIf ActiveSheet.Name = "ГРАФИК" Then           
 UserForm1.Show 0
            UserForm1.OptionButton1 = True
End If
            End Sub

Начинает ругаться на
Код
If ActiveSheet.Name = "СЧЕТ" Then  
 
Но если создаю новый, точно такой же, документ и в нем делаю всё один в один. То всё работает замечательно. Может не морочить себе голову и просто дождаться рабочих дней и уж на работе заниматься?!  :)
 
Цитата
..дождаться рабочих дней..
да все уже два дня как работают  :)
Согласие есть продукт при полном непротивлении сторон
 
У меня скользящий график! Мне в суботу.
 
Надо смотреть файл. Код ни при чем, Excel тоже. Раз другие файлы работают - значит проблема именно внутри файла.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Тоже так думал. Решил проверить. Оказалось, что любой файл с макросами, созданый на рабочем компьютере, на домашнем не работает и пишет одну и ту же ошибку.
 
Может что-то в референсах лишнее добавляется, чего на домашнем нет.
Посмотрите в редакторе VBA.
 
А если обращаться не по имени листа, а по CodeName?
 
Цитата
Может что-то в референсах лишнее добавляется, чего на домашнем нет.
Игорь, подобное я предложил первым делом со ссылкой на пособие :-)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Господа! Хочу сказать огромное спасибо всем откликнувшимся. Благодарю Вас за советы. И прошу меня простить, что проморочил Вам голову. Не хочу отвлекать Вас и дальше. Подумал: если не работает на домашнем, ну и пускай... Главное что на работе работает. А делу-время, потехе-час. Еще раз всем спасибо!
 
Дмитрий, это было так давно... :)
Страницы: 1
Наверх