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

Вход

Регистрация

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

 

= Мир MS Excel/Игнорировать проверки на ошибки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Игнорировать проверки на ошибки (Макросы Sub)
Игнорировать проверки на ошибки
MacSieM Дата: Среда, 20.11.2013, 14:44 | Сообщение № 1
Группа: Проверенные
Ранг: Участник
Сообщений: 84
Репутация: 18 ±
Замечаний: 0% ±

Excel 2010
Всем доброго дня.
Столкнулся с проблемой, решение которой не могу найти. Файл не прилагаю - проблема общего порядка.
Как средствами VBA игнорировать предупреждения о возможных ошибках для определенного диапазона ячеек (или, возможно, листа / книги)?
Речь идет о том зеленом (по-умолчанию) треугольнике в левом верхнем углу ячейки, где, по мнению системы, возможна ошибка.
Эти предупреждения возникают при копировании листа. Раздражают именно визуально. Возникают из-за того, что некоторые формулы в столбцах отличаются от соседних.
 
Ответить
СообщениеВсем доброго дня.
Столкнулся с проблемой, решение которой не могу найти. Файл не прилагаю - проблема общего порядка.
Как средствами VBA игнорировать предупреждения о возможных ошибках для определенного диапазона ячеек (или, возможно, листа / книги)?
Речь идет о том зеленом (по-умолчанию) треугольнике в левом верхнем углу ячейки, где, по мнению системы, возможна ошибка.
Эти предупреждения возникают при копировании листа. Раздражают именно визуально. Возникают из-за того, что некоторые формулы в столбцах отличаются от соседних.

Автор - MacSieM
Дата добавления - 20.11.2013 в 14:44
Hugo Дата: Среда, 20.11.2013, 14:46 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
Отключите в настройках. Можно этот процесс записать в макрос.
[vba]
Код
    Application.ErrorCheckingOptions.InconsistentFormula = False
[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеОтключите в настройках. Можно этот процесс записать в макрос.
[vba]
Код
    Application.ErrorCheckingOptions.InconsistentFormula = False
[/vba]

Автор - Hugo
Дата добавления - 20.11.2013 в 14:46
MacSieM Дата: Среда, 20.11.2013, 14:56 | Сообщение № 3
Группа: Проверенные
Ранг: Участник
Сообщений: 84
Репутация: 18 ±
Замечаний: 0% ±

Excel 2010
Hugo, спасибо за ответ!
Отключите в настройках.

Вероятно, ход моих мыслей был ошибочен.
Правильно ли я понимаю, что когда я игнорирую предупреждение у себя на компьютере, сохраняю этот документ и открываю на другой машине, то предупреждение снова появится? Я исходил из того, что предупреждения не будет, но сейчас в этом не уверен (проверить на другом компьютере не могу).
Файл выгружаю (создаю при помощи VBA) на своем компьютере, затем рассылаю новый файл без макросов, но с формулами (на которые система ругается).
Поможет ли в моем случае изменение настроек? Они затронут параметры моего Excel, но не книги, которую я рассылаю, верно?
 
Ответить
СообщениеHugo, спасибо за ответ!
Отключите в настройках.

Вероятно, ход моих мыслей был ошибочен.
Правильно ли я понимаю, что когда я игнорирую предупреждение у себя на компьютере, сохраняю этот документ и открываю на другой машине, то предупреждение снова появится? Я исходил из того, что предупреждения не будет, но сейчас в этом не уверен (проверить на другом компьютере не могу).
Файл выгружаю (создаю при помощи VBA) на своем компьютере, затем рассылаю новый файл без макросов, но с формулами (на которые система ругается).
Поможет ли в моем случае изменение настроек? Они затронут параметры моего Excel, но не книги, которую я рассылаю, верно?

Автор - MacSieM
Дата добавления - 20.11.2013 в 14:56
Hugo Дата: Среда, 20.11.2013, 15:01 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
Я точно не знаю. По логике - это локальные настройки конкретного Экселя на конкретной машине. Но некоторые настройки иногда как зараза переносятся с файлами (например те же окна на панели задач, или стиль R1C1).
В общем, проверьте опытным путём.
Но думаю что эти треугольники - ерунда по сравнению с упомянутым выше :)

P.S. Вообще было бы интересно видеть список этих локальных нелокальных опций - никто не встечал?


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеЯ точно не знаю. По логике - это локальные настройки конкретного Экселя на конкретной машине. Но некоторые настройки иногда как зараза переносятся с файлами (например те же окна на панели задач, или стиль R1C1).
В общем, проверьте опытным путём.
Но думаю что эти треугольники - ерунда по сравнению с упомянутым выше :)

P.S. Вообще было бы интересно видеть список этих локальных нелокальных опций - никто не встечал?

Автор - Hugo
Дата добавления - 20.11.2013 в 15:01
KuklP Дата: Среда, 20.11.2013, 16:07 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Надо ж, такие сложности. Рассылайте без формул, со значениями. Если уж кому то зеленые индикаторы поперек горла. И будет счастье.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеНадо ж, такие сложности. Рассылайте без формул, со значениями. Если уж кому то зеленые индикаторы поперек горла. И будет счастье.

Автор - KuklP
Дата добавления - 20.11.2013 в 16:07
RAN Дата: Среда, 20.11.2013, 17:55 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Вот и я озадачился.
Есть 20 столбцов с формулами. В четных одни, в нечетных другие. И все четные с зеленым уголком.
Вот сижу, и хвост чешу - может в четные те же формулы вставить, что и в нечетные? Глядишь, и уголки пропадут. :D


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВот и я озадачился.
Есть 20 столбцов с формулами. В четных одни, в нечетных другие. И все четные с зеленым уголком.
Вот сижу, и хвост чешу - может в четные те же формулы вставить, что и в нечетные? Глядишь, и уголки пропадут. :D

Автор - RAN
Дата добавления - 20.11.2013 в 17:55
Hugo Дата: Среда, 20.11.2013, 18:10 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
Или может наоборот? Дилемма... :)


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеИли может наоборот? Дилемма... :)

Автор - Hugo
Дата добавления - 20.11.2013 в 18:10
RAN Дата: Среда, 20.11.2013, 19:00 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Дилемма...

Дассс... треба подумать! <_<


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Дилемма...

Дассс... треба подумать! <_<

Автор - RAN
Дата добавления - 20.11.2013 в 19:00
MacSieM Дата: Четверг, 21.11.2013, 12:17 | Сообщение № 9
Группа: Проверенные
Ранг: Участник
Сообщений: 84
Репутация: 18 ±
Замечаний: 0% ±

Excel 2010
Hugo, Ваш ответ навел на некоторые мысли. В общем, ошибки вроде как можно игнорировать, не выключая в настройках всей проверки. У меня получилось игнорировать ошибку сохраненного как текст числа. А вот с возможными ошибками в формулах никак справиться не могу. VBA не видит у меня в таких ячейках ошибки (хотя в документации заявлено - xlInconsistentFormula).

Ссылка по теме:
http://msdn.microsoft.com/ru-ru/library/Bb236967.aspx

Простенькая процедура по игнорированию всех ошибок на листе (Update: в процедуру добавлена проверка на все девять типов предупреждений):
[vba]
Код
Sub subIgnoreErrors(Optional ws As Worksheet)
Dim cell As Range
Dim intLoop As Integer
Dim strEndCell as String
        On Error Resume Next
        If ws Is Nothing Then Set ws = ActiveSheet
        strEndCell = ws.Range("A1").SpecialCells(xlCellTypeLastCell).Address
        For Each cell In ws.Range("$A$1:" & strEndCell)
            For intLoop = 1 To 9
                cell.Errors.Item(intLoop).Ignore = True
             Next
         Next        
End Sub
[/vba]
RAN, скажите, пожалуйста, получается ли у Вас избавиться от предупреждений?
Есть ли у кого мысли по дальнейшему решению проблемы?


Сообщение отредактировал MacSieM - Четверг, 21.11.2013, 13:44
 
Ответить
СообщениеHugo, Ваш ответ навел на некоторые мысли. В общем, ошибки вроде как можно игнорировать, не выключая в настройках всей проверки. У меня получилось игнорировать ошибку сохраненного как текст числа. А вот с возможными ошибками в формулах никак справиться не могу. VBA не видит у меня в таких ячейках ошибки (хотя в документации заявлено - xlInconsistentFormula).

Ссылка по теме:
http://msdn.microsoft.com/ru-ru/library/Bb236967.aspx

Простенькая процедура по игнорированию всех ошибок на листе (Update: в процедуру добавлена проверка на все девять типов предупреждений):
[vba]
Код
Sub subIgnoreErrors(Optional ws As Worksheet)
Dim cell As Range
Dim intLoop As Integer
Dim strEndCell as String
        On Error Resume Next
        If ws Is Nothing Then Set ws = ActiveSheet
        strEndCell = ws.Range("A1").SpecialCells(xlCellTypeLastCell).Address
        For Each cell In ws.Range("$A$1:" & strEndCell)
            For intLoop = 1 To 9
                cell.Errors.Item(intLoop).Ignore = True
             Next
         Next        
End Sub
[/vba]
RAN, скажите, пожалуйста, получается ли у Вас избавиться от предупреждений?
Есть ли у кого мысли по дальнейшему решению проблемы?

Автор - MacSieM
Дата добавления - 21.11.2013 в 12:17
Hugo Дата: Четверг, 21.11.2013, 12:47 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
Погодите - ошибки в формулах и отличие формул в диапазоне это разные вещи!
Это отличие у меня например всегда отключено, т.е. совершенно не напрягает.
Ну а ошибок в формулах быть не должно - правьте макрос.
Если формула работает, но выводит например Н/Д - это третий вариант, это можно например скрыть условным форматированием, или изменить формулу чтоб в таком случае выводило что задумано.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеПогодите - ошибки в формулах и отличие формул в диапазоне это разные вещи!
Это отличие у меня например всегда отключено, т.е. совершенно не напрягает.
Ну а ошибок в формулах быть не должно - правьте макрос.
Если формула работает, но выводит например Н/Д - это третий вариант, это можно например скрыть условным форматированием, или изменить формулу чтоб в таком случае выводило что задумано.

Автор - Hugo
Дата добавления - 21.11.2013 в 12:47
MacSieM Дата: Четверг, 21.11.2013, 13:10 | Сообщение № 11
Группа: Проверенные
Ранг: Участник
Сообщений: 84
Репутация: 18 ±
Замечаний: 0% ±

Excel 2010
Hugo, боюсь, я неправильно выразился.
Лучше приложу все же файл. Предполагаю, что в русской локализации нужно будет месяц заменить на "Февраль", например. На нем завязана часть функций.
Лист "Februar_2013" - типичный представитель того, что я отправляю. Каждый новый месяц создается копия листа "Muster" (где все формулы прописаны), лишь в определенные ячейки (столбцы G:K) вставляются фиксированные значения (этим занимается другой файл с макросом).
Формулы без ошибок. Я не стал их усложнять лишними условиями (если строка такая-то, то действие такое-то, например). Это что касается столбца А.
В столбцах M и N по факту вообще одна и та же формула, но Excel ее несколько по-разному записывает для первых двух строк.
Поэтому в самих формулах ошибок нет. Я понимаю, что все это можно обойти либо правкой формул, либо избавлением от формул в принципе, но мне бы в любом случае хотелось бы научиться игнорировать предупреждения о возможных ошибках.
К сообщению приложен файл: MacSieM_1.xlsx (35.5 Kb)
 
Ответить
СообщениеHugo, боюсь, я неправильно выразился.
Лучше приложу все же файл. Предполагаю, что в русской локализации нужно будет месяц заменить на "Февраль", например. На нем завязана часть функций.
Лист "Februar_2013" - типичный представитель того, что я отправляю. Каждый новый месяц создается копия листа "Muster" (где все формулы прописаны), лишь в определенные ячейки (столбцы G:K) вставляются фиксированные значения (этим занимается другой файл с макросом).
Формулы без ошибок. Я не стал их усложнять лишними условиями (если строка такая-то, то действие такое-то, например). Это что касается столбца А.
В столбцах M и N по факту вообще одна и та же формула, но Excel ее несколько по-разному записывает для первых двух строк.
Поэтому в самих формулах ошибок нет. Я понимаю, что все это можно обойти либо правкой формул, либо избавлением от формул в принципе, но мне бы в любом случае хотелось бы научиться игнорировать предупреждения о возможных ошибках.

Автор - MacSieM
Дата добавления - 21.11.2013 в 13:10
MacSieM Дата: Четверг, 21.11.2013, 13:15 | Сообщение № 12
Группа: Проверенные
Ранг: Участник
Сообщений: 84
Репутация: 18 ±
Замечаний: 0% ±

Excel 2010
И да, вопрос вдогонку. У меня на листе "Muster" сейчас нет ни одного предупреждения об ошибках (я их вручную игнорировал). На листе "Februar_2013" предупреждения есть - этот лист я создавал на основе листа "Muster". У вас точно так же? Сохраняются ли игнорирования ошибок вместе с книгой?


Сообщение отредактировал MacSieM - Четверг, 21.11.2013, 13:16
 
Ответить
СообщениеИ да, вопрос вдогонку. У меня на листе "Muster" сейчас нет ни одного предупреждения об ошибках (я их вручную игнорировал). На листе "Februar_2013" предупреждения есть - этот лист я создавал на основе листа "Muster". У вас точно так же? Сохраняются ли игнорирования ошибок вместе с книгой?

Автор - MacSieM
Дата добавления - 21.11.2013 в 13:15
RAN Дата: Четверг, 21.11.2013, 13:19 | Сообщение № 13
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
боюсь, я неправильно выразился.

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

Но вы работаете не с диапазоном, а с Таблицей!


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
боюсь, я неправильно выразился.

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

Но вы работаете не с диапазоном, а с Таблицей!

Автор - RAN
Дата добавления - 21.11.2013 в 13:19
MacSieM Дата: Четверг, 21.11.2013, 13:25 | Сообщение № 14
Группа: Проверенные
Ранг: Участник
Сообщений: 84
Репутация: 18 ±
Замечаний: 0% ±

Excel 2010
Но вы работаете не с диапазоном, а с Таблицей!

То есть для Таблиц правила обработки диапазонов недействительны? Как мне в таком случае нужно поступить?
 
Ответить
Сообщение
Но вы работаете не с диапазоном, а с Таблицей!

То есть для Таблиц правила обработки диапазонов недействительны? Как мне в таком случае нужно поступить?

Автор - MacSieM
Дата добавления - 21.11.2013 в 13:25
MacSieM Дата: Четверг, 21.11.2013, 13:40 | Сообщение № 15
Группа: Проверенные
Ранг: Участник
Сообщений: 84
Репутация: 18 ±
Замечаний: 0% ±

Excel 2010
Со своим вопросом разобрался опытным путем. Оказывается, типов предупреждений существует не 7, как сказано в справке, ссылку на которую я привел выше, а 9. Мои предупреждения как раз девятого (название не знаю), а не четвертого (xlInconsistentFormula) типа.
 
Ответить
СообщениеСо своим вопросом разобрался опытным путем. Оказывается, типов предупреждений существует не 7, как сказано в справке, ссылку на которую я привел выше, а 9. Мои предупреждения как раз девятого (название не знаю), а не четвертого (xlInconsistentFormula) типа.

Автор - MacSieM
Дата добавления - 21.11.2013 в 13:40
MacSieM Дата: Четверг, 21.11.2013, 13:57 | Сообщение № 16
Группа: Проверенные
Ранг: Участник
Сообщений: 84
Репутация: 18 ±
Замечаний: 0% ±

Excel 2010
Если запускать макрос из сообщения 9 с листа, где предупреждения, то они будут проигнорированы, как и требуется. Если запускать процедуру по устранению предупреждений из другой книги, открыв ту, что с предупреждениями, через макрос, то ничего не изменится.

Книгу открываю так:
[vba]
Код
Application.Workbooks.Open AuswertFullPfad, False, False
[/vba] где "AuswertFullPfad" - путь к файлу.

Может быть тут чего не так делаю?


Сообщение отредактировал MacSieM - Четверг, 21.11.2013, 14:00
 
Ответить
СообщениеЕсли запускать макрос из сообщения 9 с листа, где предупреждения, то они будут проигнорированы, как и требуется. Если запускать процедуру по устранению предупреждений из другой книги, открыв ту, что с предупреждениями, через макрос, то ничего не изменится.

Книгу открываю так:
[vba]
Код
Application.Workbooks.Open AuswertFullPfad, False, False
[/vba] где "AuswertFullPfad" - путь к файлу.

Может быть тут чего не так делаю?

Автор - MacSieM
Дата добавления - 21.11.2013 в 13:57
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Игнорировать проверки на ошибки (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

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