Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление ячеек с делением на ноль 
V
    Опции темы
magg57
Дата 25.6.2010, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 25.6.2010

Репутация: нет
Всего: нет



Здравствуйте, потихоньку пытаюсь изучить макросы, появилась задача нашел в инете похожий код чуть чуть его переделал. Вобщем то все работает но есть одна проблема, при выполнении макроса удаляются все ячейки с делением на ноль, а мне нужно что бы удалялись ячейки допустим в диапазоне от h4:H500. Как вписать в мой код этот диапазон заранее спасибо если кто откликнется. 
Вот сам код.

Set rErrorRange = Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
For Each cErrorCell In rErrorRange
cErrorCell.ClearContents
Next
ErrNotFound:
ActiveSheet.Protect
End Sub

PM MAIL   Вверх
Akina
Дата 25.6.2010, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20580
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



При выполнении макроса удаляются любые формулы с ошибками, не только с делением на ноль.

Цитата(magg57 @  25.6.2010,  09:25 Найти цитируемый пост)
мне нужно что бы удалялись ячейки допустим в диапазоне от h4:H500

В таком случае тебе ЭТОТ код не нужен.
Выполни вручную очистку этих клеток. Запиши макрорекордером. Изучай и используй.

Цитата(magg57 @  25.6.2010,  09:25 Найти цитируемый пост)
потихоньку пытаюсь изучить макросы

Учиться надо системно, а не методом тыка.
http://www.intuit.ru/catalog/office/


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
magg57
Дата 28.6.2010, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 25.6.2010

Репутация: нет
Всего: нет



Смысл в том что бы при нажатии на кнопку происходила обработка всего листа кроме этого кода есть и другие которые выполняются последовательно. Поэтому и попросил конкретного ответа на мой вопрос, если есть умение могли бы помочь, если нет не надо меня критиковать. И с помощью макрорекордера это сделать не как не получится так как количество и нахождение ячеек всегда разное.
PM MAIL   Вверх
Hugo121
Дата 28.6.2010, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.5.2010

Репутация: 1
Всего: 2



Set rErrorRange = [h4:H500].Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
PM MAIL   Вверх
Akina
Дата 28.6.2010, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20580
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(magg57 @  28.6.2010,  12:42 Найти цитируемый пост)
попросил конкретного ответа на мой вопрос, если есть умение могли бы помочь, если нет не надо меня критиковать.

Это называется не "помочь", а "сделать за тебя". 

Цитата(magg57 @  28.6.2010,  12:42 Найти цитируемый пост)
 с помощью макрорекордера это сделать не как не получится так как количество и нахождение ячеек всегда разное. 

Фигню ты говоришь - потому я и предлагаю начинать с основ, которых у тебя нет.
Не хочешь? ну и не надо... мне пофиг. Жди, может придёт тот, кто за тебя сделает. Вот только знаний в твоей голове оттого не прибавится.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Hugo121
Дата 28.6.2010, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.5.2010

Репутация: 1
Всего: 2



Да ладно, может и научится на примерах...
Код

Option Explicit

Sub tt()
Dim x As Long, y As Long
Dim rErrorRange As Range, cErrorCell As Range

x = 1
y = 100

Set rErrorRange = Range(Cells(x, 1), Cells(y, 1)).Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
For Each cErrorCell In rErrorRange
cErrorCell.ClearContents
Next
End Sub


PM MAIL   Вверх
magg57
Дата 28.6.2010, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 25.6.2010

Репутация: нет
Всего: нет



Hugo121 Спасибо за ответ все работает как надо! Akina спасибо за ссылку изучаю основы!

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0693 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.