Нужна помощь по макросу. На работе есть файл excel с множеством листов в нём. Попросил друга написать макрос для быстрой смены листов. Мне он написал "болванку" этого макроса, я копировал его в свой файл на работе. Всё работает, но время от времени (примерно через минут 40 - час) Excel завершает работу аварийно и, соответственно, теряется часть выполненной работы.
Буду благодарен за помощь!
Здравствуйте!
Нужна помощь по макросу. На работе есть файл excel с множеством листов в нём. Попросил друга написать макрос для быстрой смены листов. Мне он написал "болванку" этого макроса, я копировал его в свой файл на работе. Всё работает, но время от времени (примерно через минут 40 - час) Excel завершает работу аварийно и, соответственно, теряется часть выполненной работы.
1) Не вижу в макросе ничего критического, нужно более точно знать все условия при которых эксель слетает 2) Макрос можно положить в персоналбук и тогда он будет доступен в любой книге
1) Не вижу в макросе ничего критического, нужно более точно знать все условия при которых эксель слетает 2) Макрос можно положить в персоналбук и тогда он будет доступен в любой книгеPoltava
Не берусь утверждать, но думаю, что крит происходит по причине переполнения памяти (пускай сейчас меня запинают программисты). Я бы очищал все переменные после срабатывания макроса.
Не берусь утверждать, но думаю, что крит происходит по причине переполнения памяти (пускай сейчас меня запинают программисты). Я бы очищал все переменные после срабатывания макроса.SkyPro
Попробуйте заменить закомментированные строки так [vba]
Код
'Public OriginalSheet As Object Dim OriginalSheetName As String ' Set OriginalSheet = ActiveSheet OriginalSheetName = ActiveSheet.Name ' OriginalSheet.Activate Sheets(OriginalSheetName).Activate
[/vba]
Попробуйте заменить закомментированные строки так [vba]
Код
'Public OriginalSheet As Object Dim OriginalSheetName As String ' Set OriginalSheet = ActiveSheet OriginalSheetName = ActiveSheet.Name ' OriginalSheet.Activate Sheets(OriginalSheetName).Activate