Страницы: 1
RSS
Нажатие кнопки на одном листе очищает диапазон ячеек на другом листе, Кнопка имеется ввиду макрос
 
Добрый день!
Подскажите, пожалуйста, очень простую вещь.

Есть кнопка на Листе1. Нажимаем её - включается макрос и обнуляет ячейки на этом листе.
Нужно чтобы эта же кнопка очищала (именно очищала, а не обнуляла) диапазон ячеек на Листе2
Звучит просто, но как это провернуть?

В примере ниже нужно чтобы нажатие кнопки на первом листе приводило к стиранию цифр на втором.
Изменено: Corvus_Project - 18.06.2018 11:03:59
 
Добавьте в макрос строку
Код
  Worksheets(3).Rows(2).ClearContents
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Код
Sheets("ДругойЛист").Range("ВашДиапазон").ClearContents
 
Почему-то ни то, ни то не работает. Вот то что вписал
Картинка
Работает только первое выражение. На первом листе цифры обнуляются, а на втором всё остаётся как было.
 
В Вашем примере нет листа с именем 'Шаблон'
Согласие есть продукт при полном непротивлении сторон
 
а нужно было:
Цитата
Ігор Гончаренко написал:
Worksheets(3).Rows(2).ClearContents
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, в примере всё работает. Но пример - только пример. В собственно документе нужно очистить не строку, а диапазон сток и ячеек. В моём случае это A2:F45. И вот это уже не работает.

Как правильно написать этот диапазон? Первый лист называется "Аренда", а второй " Шаблон".
 
это троллинг?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Точно троллинг
Согласие есть продукт при полном непротивлении сторон
 
Ігор Гончаренко, нет.
 
Почему не работает в этом файле?
 
Цитата
Corvus_Project написал: нет
Но почему у меня получилось, а у Вас нет? (см.сообщение #9)
Согласие есть продукт при полном непротивлении сторон
 
Так у Вас проблема не в этом макросе а в процедуре обработки изменений на листе. Отключайте обработку событий
Код
Sub Макрос1()
On Error Resume Next
Application.EnableEvents = False
    Range("D5:D15, D17, D18, D20, D21, D20:D32, D35:D40, D44:D50, D53, D55, D57, D61:D65, D69:D73, D76:D87, D89:D99, D103:D108, D110, D111, D113, D114, D116, D118, D119, D121:D126, D129:D132, D136:D138, D140, D142:D146, D149:D163") = "0"
    Sheets("Шаблон").Range("A2:F45").ClearContents
Application.EnableEvents = True
End Sub
Согласие есть продукт при полном непротивлении сторон
 
Sanja, всё получилось. Спасибо большое!
 
и очередное подтверждение моего личного правила, дополняющего свод местных правил:
нет примера - не лезь в тему, лучше обойди ее стороной (при нулевом уровне интуиции угадать что там на самом деле - шансов 0!)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, Прошу прощения что не выдал нужный пример сразу. Думал, что разберусь с первым и так. А выяснилось вон как.
 
Corvus_Project, не нужно писать через строку. Читабельность от этого лучше не становится.
 
Corvus_Project,
ну, за Вас я уже спокоен. не сомневаюсь, что следующий вопрос будет подготовлен в лучшем виде)
тут уверенности меньше, но надеюсь я-таки буду тверже следовать своим собственным правилам
Изменено: Ігор Гончаренко - 18.06.2018 10:49:20
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
.
Изменено: Corvus_Project - 18.06.2018 11:19:49
 
Пожалуйста, ознакомьтесь с правилами форума. Вопрос не по теме
Страницы: 1
Наверх