Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Разрушительный сбой - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 212»
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Разрушительный сбой (Макросы/Sub)
Разрушительный сбой
Gameower Дата: Понедельник, 11.07.2016, 06:24 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток коллеги.
у меня есть файлик эксель, и при запуске стала появлятся ошибка : Разрушительный сбой.
ПОдскажите как ее устранить?
заранее благодарен за вашу помощь!
К сообщению приложен файл: __DANFOSS.xlsm(68Kb)
 
Ответить
СообщениеДоброго времени суток коллеги.
у меня есть файлик эксель, и при запуске стала появлятся ошибка : Разрушительный сбой.
ПОдскажите как ее устранить?
заранее благодарен за вашу помощь!

Автор - Gameower
Дата добавления - 11.07.2016 в 06:24
SLAVICK Дата: Понедельник, 11.07.2016, 10:45 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 1834
Репутация: 613 ±
Замечаний: 0% ±

2007,2010,2013,2016
У меня Ваш файл открылся без проблем может с офисом что не так?.
Попробуйте восстановить или на другом компе.
Файл пересохранил в своем офисе - иногда помогает.
К сообщению приложен файл: _DANFOSS.xlsm(68Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеУ меня Ваш файл открылся без проблем может с офисом что не так?.
Попробуйте восстановить или на другом компе.
Файл пересохранил в своем офисе - иногда помогает.

Автор - SLAVICK
Дата добавления - 11.07.2016 в 10:45
Karataev Дата: Понедельник, 11.07.2016, 11:32 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 641
Репутация: 226 ±
Замечаний: 0% ±

Excel
Может быть сообщение "Разрушительный сбой" - это сообщение макроса.




Сообщение отредактировал Karataev - Понедельник, 11.07.2016, 12:33
 
Ответить
СообщениеМожет быть сообщение "Разрушительный сбой" - это сообщение макроса.

Автор - Karataev
Дата добавления - 11.07.2016 в 11:32
SLAVICK Дата: Понедельник, 11.07.2016, 11:55 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 1834
Репутация: 613 ±
Замечаний: 0% ±

2007,2010,2013,2016
"Разрушительный сбой" - это сообщение макроса.

Не вроде не нашел такого.
но возможно из за:
[vba]
Код
newString = "\\Server\Documents\DANFOSS\"
[/vba]
есть доступ к серверу?


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
"Разрушительный сбой" - это сообщение макроса.

Не вроде не нашел такого.
но возможно из за:
[vba]
Код
newString = "\\Server\Documents\DANFOSS\"
[/vba]
есть доступ к серверу?

Автор - SLAVICK
Дата добавления - 11.07.2016 в 11:55
Karataev Дата: Понедельник, 11.07.2016, 12:28 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 641
Репутация: 226 ±
Замечаний: 0% ±

Excel
SLAVICK, но в любом случае может быть причиной этого сообщения является макрос, а не сам офис.
Да, я тоже смог посмотреть макросы, оказывается был общий доступ для файла, я подумал, что защита использовалась.




Сообщение отредактировал Karataev - Понедельник, 11.07.2016, 12:34
 
Ответить
СообщениеSLAVICK, но в любом случае может быть причиной этого сообщения является макрос, а не сам офис.
Да, я тоже смог посмотреть макросы, оказывается был общий доступ для файла, я подумал, что защита использовалась.

Автор - Karataev
Дата добавления - 11.07.2016 в 12:28
SLAVICK Дата: Понедельник, 11.07.2016, 12:36 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 1834
Репутация: 613 ±
Замечаний: 0% ±

2007,2010,2013,2016
может быть причиной этого сообщения является макрос,

ну дык а это откуда по Вашему? :D
newString = "\\Server\Documents\DANFOSS\"

Из макроса ;) .


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
может быть причиной этого сообщения является макрос,

ну дык а это откуда по Вашему? :D
newString = "\\Server\Documents\DANFOSS\"

Из макроса ;) .

Автор - SLAVICK
Дата добавления - 11.07.2016 в 12:36
Karataev Дата: Понедельник, 11.07.2016, 12:40 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 641
Репутация: 226 ±
Замечаний: 0% ±

Excel
Gameower, предположительно, у Вас проблема с макросами, а не с самим офисом. Хотя если обновления не устанавливали для офиса, то установите (иногда некоторые ошибки возникают из-за отсутствия обновлений для офиса).
Узнайте, в каком макросе у Вас проблемы и затем уже конкретизируйте вопрос на форуме.


 
Ответить
СообщениеGameower, предположительно, у Вас проблема с макросами, а не с самим офисом. Хотя если обновления не устанавливали для офиса, то установите (иногда некоторые ошибки возникают из-за отсутствия обновлений для офиса).
Узнайте, в каком макросе у Вас проблемы и затем уже конкретизируйте вопрос на форуме.

Автор - Karataev
Дата добавления - 11.07.2016 в 12:40
Gameower Дата: Понедельник, 11.07.2016, 13:01 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Karataev, предположительно сбой возникает при обновлении курса евро текущего, при открытии книги в верхней правой ячейке стоит значение после разрушительного сбоя он обновляется и так каждый раз, может в нем проблема? эксель не показывает где в макросе ошибка выпадает
 
Ответить
СообщениеKarataev, предположительно сбой возникает при обновлении курса евро текущего, при открытии книги в верхней правой ячейке стоит значение после разрушительного сбоя он обновляется и так каждый раз, может в нем проблема? эксель не показывает где в макросе ошибка выпадает

Автор - Gameower
Дата добавления - 11.07.2016 в 13:01
SLAVICK Дата: Понедельник, 11.07.2016, 13:25 | Сообщение № 9
Группа: Модераторы
Ранг: Старожил
Сообщений: 1834
Репутация: 613 ±
Замечаний: 0% ±

2007,2010,2013,2016
предположительно сбой возникает при обновлении курса евро текущего,

В том то и дело что предположительно.
А также может из-за:
newString = "\\Server\Documents\DANFOSS\"

или:
[vba]
Код
With Sheets("Тех замены")
[/vba]
Или еще чего.

Это Ваш файл?
Если да - положите сюда незащищенный проект, если нет - то согласно правил форума :
обсуждать методы взлома программ - запрещено - обращайтесь к автору проекта.


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
предположительно сбой возникает при обновлении курса евро текущего,

В том то и дело что предположительно.
А также может из-за:
newString = "\\Server\Documents\DANFOSS\"

или:
[vba]
Код
With Sheets("Тех замены")
[/vba]
Или еще чего.

Это Ваш файл?
Если да - положите сюда незащищенный проект, если нет - то согласно правил форума :
обсуждать методы взлома программ - запрещено - обращайтесь к автору проекта.

Автор - SLAVICK
Дата добавления - 11.07.2016 в 13:25
Karataev Дата: Понедельник, 11.07.2016, 13:45 | Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 641
Репутация: 226 ±
Замечаний: 0% ±

Excel
положите сюда незащищенный проект

в файле нет защиты - это просто сделан совместный доступ, при его установке скрывается содержимое vba проекта.

Gameower, можно так поискать проблемный код. Удалите из файла все макросы, а оставьте только модуль "Module1". Не забудьте удалить макросы и в модулях листов.
Затем посмотрите, осталась ли ошибка. Если осталась, то дальше уже нужно смотреть модуль "Module1" и процедуру "Курс_Евро". И выложите на форуме файл, в котором будет только один проблемный модуль.




Сообщение отредактировал Karataev - Понедельник, 11.07.2016, 13:48
 
Ответить
Сообщение
положите сюда незащищенный проект

в файле нет защиты - это просто сделан совместный доступ, при его установке скрывается содержимое vba проекта.

Gameower, можно так поискать проблемный код. Удалите из файла все макросы, а оставьте только модуль "Module1". Не забудьте удалить макросы и в модулях листов.
Затем посмотрите, осталась ли ошибка. Если осталась, то дальше уже нужно смотреть модуль "Module1" и процедуру "Курс_Евро". И выложите на форуме файл, в котором будет только один проблемный модуль.

Автор - Karataev
Дата добавления - 11.07.2016 в 13:45
SLAVICK Дата: Понедельник, 11.07.2016, 15:57 | Сообщение № 11
Группа: Модераторы
Ранг: Старожил
Сообщений: 1834
Репутация: 613 ±
Замечаний: 0% ±

2007,2010,2013,2016
это просто сделан совместный доступ,

хм - стормозил.
Посмотрел что проект Unwieveble - и подумал, что защищен как надстройка.
Ну все равно уже написал возможные причины:
newString = "\\Server\Documents\DANFOSS\"
или:
With Sheets("Тех замены")

Листа Тех замены в файле нет, а макрос - Worksheet_Change листа "Книга запросов DANFOSS" пытается к нему обратится.
да и функция "Курс_Евро" у меня не работает.
Попробуйте так:
[vba]
Код
Function Курс_Евро(Optional ByVal Дата) As Currency   ' запрос курса Евро с сайта ЦБ РФ
    '---------------------------------------------------------------------------------------
    ' Procedure : Курс_Евро
    ' Author    : Основа - Pavel55, коррекция - Alex_ST: 2010-01-28
    ' URL       : http://www.planetaexcel.ru/forum.php?thread_id=6870&page_forum=2&allnum_forum=34
    ' Date      : 28.01.2010
    ' Purpose   : Запрос курса Евро, установленного ЦБР на заданную дату
    ' Notes     : По умолчанию - текущая дата
    '---------------------------------------------------------------------------------------
    Dim Запрос$, Ответ$, Курс$
    Dim oHttp As Object
    Dim ДЕНЬ$, Месяц$, ГОД$
    Application.Volatile
    If IsMissing(Дата) Then Дата = Date
    If Not IsDate(Дата) Then Дата = CDate(Дата)
    ДЕНЬ = Format(Дата, "dd"): Месяц = Format(Дата, "mm"): ГОД = Format(Дата, "yyyy")
    Запрос = "http://cbr.ru/currency_base/daily.aspx?C_month=" & Месяц & "&C_year=" _
            & ГОД & "&date_req=" & ДЕНЬ & "%2F" & Месяц & "%2F" & ГОД
    On Error Resume Next
    Set oHttp = CreateObject("MSXML2.ServerXMLHTTP")
    If Err.Number <> 0 Then Set oHttp = CreateObject("MSXML.ServerXMLHTTP")
    On Error GoTo 0
    If oHttp Is Nothing Then Exit Function
    oHttp.Open "GET", Запрос, False
    oHttp.setTimeouts 1000, 1000, 1000, 1000
    On Error Resume Next
    oHttp.Send
    Ответ = UCase(oHttp.responseText)
    Курс = CCur(Mid(Ответ, InStr(InStr(1, Ответ, "EUR"), Ответ, "</TD></TR>") - 7, 7))
    Set oHttp = Nothing
    Курс_Евро = Курс
End Function
[/vba]
К сообщению приложен файл: _DANFOSS1.xlsm(65Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
это просто сделан совместный доступ,

хм - стормозил.
Посмотрел что проект Unwieveble - и подумал, что защищен как надстройка.
Ну все равно уже написал возможные причины:
newString = "\\Server\Documents\DANFOSS\"
или:
With Sheets("Тех замены")

Листа Тех замены в файле нет, а макрос - Worksheet_Change листа "Книга запросов DANFOSS" пытается к нему обратится.
да и функция "Курс_Евро" у меня не работает.
Попробуйте так:
[vba]
Код
Function Курс_Евро(Optional ByVal Дата) As Currency   ' запрос курса Евро с сайта ЦБ РФ
    '---------------------------------------------------------------------------------------
    ' Procedure : Курс_Евро
    ' Author    : Основа - Pavel55, коррекция - Alex_ST: 2010-01-28
    ' URL       : http://www.planetaexcel.ru/forum.php?thread_id=6870&page_forum=2&allnum_forum=34
    ' Date      : 28.01.2010
    ' Purpose   : Запрос курса Евро, установленного ЦБР на заданную дату
    ' Notes     : По умолчанию - текущая дата
    '---------------------------------------------------------------------------------------
    Dim Запрос$, Ответ$, Курс$
    Dim oHttp As Object
    Dim ДЕНЬ$, Месяц$, ГОД$
    Application.Volatile
    If IsMissing(Дата) Then Дата = Date
    If Not IsDate(Дата) Then Дата = CDate(Дата)
    ДЕНЬ = Format(Дата, "dd"): Месяц = Format(Дата, "mm"): ГОД = Format(Дата, "yyyy")
    Запрос = "http://cbr.ru/currency_base/daily.aspx?C_month=" & Месяц & "&C_year=" _
            & ГОД & "&date_req=" & ДЕНЬ & "%2F" & Месяц & "%2F" & ГОД
    On Error Resume Next
    Set oHttp = CreateObject("MSXML2.ServerXMLHTTP")
    If Err.Number <> 0 Then Set oHttp = CreateObject("MSXML.ServerXMLHTTP")
    On Error GoTo 0
    If oHttp Is Nothing Then Exit Function
    oHttp.Open "GET", Запрос, False
    oHttp.setTimeouts 1000, 1000, 1000, 1000
    On Error Resume Next
    oHttp.Send
    Ответ = UCase(oHttp.responseText)
    Курс = CCur(Mid(Ответ, InStr(InStr(1, Ответ, "EUR"), Ответ, "</TD></TR>") - 7, 7))
    Set oHttp = Nothing
    Курс_Евро = Курс
End Function
[/vba]

Автор - SLAVICK
Дата добавления - 11.07.2016 в 15:57
Gameower Дата: Вторник, 12.07.2016, 04:50 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
проблема в этом модуле, удалив его все нормализуется, еще загвостка в том что файл используется в локальной сети несколькими пользователями и это осложняет.
 
Ответить
Сообщениепроблема в этом модуле, удалив его все нормализуется, еще загвостка в том что файл используется в локальной сети несколькими пользователями и это осложняет.

Автор - Gameower
Дата добавления - 12.07.2016 в 04:50
Gameower Дата: Вторник, 12.07.2016, 12:54 | Сообщение № 13
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Попробуйте так:

ваш вариант при вставке в мой модуль не работает
 
Ответить
Сообщение
Попробуйте так:

ваш вариант при вставке в мой модуль не работает

Автор - Gameower
Дата добавления - 12.07.2016 в 12:54
SLAVICK Дата: Вторник, 12.07.2016, 16:34 | Сообщение № 14
Группа: Модераторы
Ранг: Старожил
Сообщений: 1834
Репутация: 613 ±
Замечаний: 0% ±

2007,2010,2013,2016
при вставке в мой модуль не работает

функция не работает?
А в приложенном мной примере считает?


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
при вставке в мой модуль не работает

функция не работает?
А в приложенном мной примере считает?

Автор - SLAVICK
Дата добавления - 12.07.2016 в 16:34
Gameower Дата: Четверг, 14.07.2016, 07:15 | Сообщение № 15
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
вроде как да и сбоя нет, но в моем файле если я вставляю, то там вообще не работает функция. я бы выложил файл полностью,но форум не позволяет по весу это сделать
 
Ответить
Сообщениевроде как да и сбоя нет, но в моем файле если я вставляю, то там вообще не работает функция. я бы выложил файл полностью,но форум не позволяет по весу это сделать

Автор - Gameower
Дата добавления - 14.07.2016 в 07:15
SLAVICK Дата: Четверг, 14.07.2016, 12:13 | Сообщение № 16
Группа: Модераторы
Ранг: Старожил
Сообщений: 1834
Репутация: 613 ±
Замечаний: 0% ±

2007,2010,2013,2016
вроде как да и сбоя нет, но в моем файле если я вставляю, то там вообще не работает функция.

А Вы старую функцию удалили? Нужно обязательно удалить, иначе программа не понимает с какой функцией ей работать.


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
вроде как да и сбоя нет, но в моем файле если я вставляю, то там вообще не работает функция.

А Вы старую функцию удалили? Нужно обязательно удалить, иначе программа не понимает с какой функцией ей работать.

Автор - SLAVICK
Дата добавления - 14.07.2016 в 12:13
Alex_ST Дата: Четверг, 14.07.2016, 16:38 | Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 2877
Репутация: 503 ±
Замечаний: 0% ±

2003
функция "Курс_Евро" у меня не работает
А у меня прекрасно работает

А вот вариант с добавкой[vba]
Код
     oHttp.setTimeouts 1000, 1000, 1000, 1000
    On Error Resume Next
[/vba] перед oHttp.Send - не работает.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Пятница, 15.07.2016, 12:52
 
Ответить
Сообщение
функция "Курс_Евро" у меня не работает
А у меня прекрасно работает

А вот вариант с добавкой[vba]
Код
     oHttp.setTimeouts 1000, 1000, 1000, 1000
    On Error Resume Next
[/vba] перед oHttp.Send - не работает.

Автор - Alex_ST
Дата добавления - 14.07.2016 в 16:38
SLAVICK Дата: Четверг, 14.07.2016, 17:00 | Сообщение № 18
Группа: Модераторы
Ранг: Старожил
Сообщений: 1834
Репутация: 613 ±
Замечаний: 0% ±

2007,2010,2013,2016
А вот вариант с добавкой

наверное потому что у меня написано:
[vba]
Код
Set oHttp = CreateObject("MSXML2.ServerXMLHTTP")
[/vba]а у Вас:
[vba]
Код
Set oHttp = CreateObject("MSXML2.XMLHTTP")
[/vba]
:D .
Не знаю от чего зависит, но у меня Ваш первоначальный вариант функции сейчас не работает(может от офиса - несколько лет назад - работала), поэтому я немного ее поменял - надеюсь Вы не против :)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
А вот вариант с добавкой

наверное потому что у меня написано:
[vba]
Код
Set oHttp = CreateObject("MSXML2.ServerXMLHTTP")
[/vba]а у Вас:
[vba]
Код
Set oHttp = CreateObject("MSXML2.XMLHTTP")
[/vba]
:D .
Не знаю от чего зависит, но у меня Ваш первоначальный вариант функции сейчас не работает(может от офиса - несколько лет назад - работала), поэтому я немного ее поменял - надеюсь Вы не против :)

Автор - SLAVICK
Дата добавления - 14.07.2016 в 17:00
Alex_ST Дата: Пятница, 15.07.2016, 13:03 | Сообщение № 19
Группа: Друзья
Ранг: Старожил
Сообщений: 2877
Репутация: 503 ±
Замечаний: 0% ±

2003
Слава, нет проблем. Наоборот - спасибо, что подправил. (давай на "ТЫ" 7)
Но, к сожалению, твоя процедура не идёт на 2003, а моя на том офисе, который у тебя (к стати, какой?)
Жаль, что не получилось "офисонезависимой" процедуры.
Ну, тогда, если твоя точно работает, нужно проосить Сержа подправить старт-топик - добавить версию для Офиса старше, чем...



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеСлава, нет проблем. Наоборот - спасибо, что подправил. (давай на "ТЫ" 7)
Но, к сожалению, твоя процедура не идёт на 2003, а моя на том офисе, который у тебя (к стати, какой?)
Жаль, что не получилось "офисонезависимой" процедуры.
Ну, тогда, если твоя точно работает, нужно проосить Сержа подправить старт-топик - добавить версию для Офиса старше, чем...

Автор - Alex_ST
Дата добавления - 15.07.2016 в 13:03
SLAVICK Дата: Понедельник, 18.07.2016, 11:31 | Сообщение № 20
Группа: Модераторы
Ранг: Старожил
Сообщений: 1834
Репутация: 613 ±
Замечаний: 0% ±

2007,2010,2013,2016
давай на "ТЫ"

Ок beer .
а моя на том офисе, который у тебя (к стати, какой?)

сейчас в 99% использую 2016х64-й офис - на новой работе у всех такой (наконец - то забыл про отчеты в разных версиях :D )
Еще есть 2010х32 - на нем тестирую иногда разные вещи ++ не знаю почему, но иногда файл в 2016-м(и в 2013-м такое было) - тупо перестает открываться. А в 2010-м без проблем.
Потом после пересохранения и в 2016-м открывается без проблем %) .

Проверил:
моя версия работает и в 2010х32 и в 2016х64.
и твоя версия - сейчас работает и там и там(хотя раньше в 2016-м выдавала ошибку... killed ).
нужно просить Сержа подправить старт-топик

Думаю нужно еще протестировать на др. версиях, чтобы уже точно знать где и что работает. Видишь у меня она то работает то нет. Даже не знаю в чем причина - списываю на ЕЩЕ ОДИН глюк 2016х64. :( .


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
давай на "ТЫ"

Ок beer .
а моя на том офисе, который у тебя (к стати, какой?)

сейчас в 99% использую 2016х64-й офис - на новой работе у всех такой (наконец - то забыл про отчеты в разных версиях :D )
Еще есть 2010х32 - на нем тестирую иногда разные вещи ++ не знаю почему, но иногда файл в 2016-м(и в 2013-м такое было) - тупо перестает открываться. А в 2010-м без проблем.
Потом после пересохранения и в 2016-м открывается без проблем %) .

Проверил:
моя версия работает и в 2010х32 и в 2016х64.
и твоя версия - сейчас работает и там и там(хотя раньше в 2016-м выдавала ошибку... killed ).
нужно просить Сержа подправить старт-топик

Думаю нужно еще протестировать на др. версиях, чтобы уже точно знать где и что работает. Видишь у меня она то работает то нет. Даже не знаю в чем причина - списываю на ЕЩЕ ОДИН глюк 2016х64. :( .

Автор - SLAVICK
Дата добавления - 18.07.2016 в 11:31
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Разрушительный сбой (Макросы/Sub)
Страница 1 из 212»
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!