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

Вход

Регистрация

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

 

= Мир MS Excel/Очистка ячеек при вводе в другую ячейку - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Очистка ячеек при вводе в другую ячейку (Формулы/Formulas)
Очистка ячеек при вводе в другую ячейку
Leariska Дата: Понедельник, 04.12.2017, 09:33 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день, ребята!
Есть 4 ячейки. Первая - список значений, остальные - заполнены данными. Нужно, чтобы при выборе любого нового значения в первой ячейке, данные в соседних стирались.
Нюанс в том, что это целая таблица и нужно, чтобы все строки аналогично работали.
Спасибо)
К сообщению приложен файл: 2717046.xlsm(9Kb)
 
Ответить
СообщениеДобрый день, ребята!
Есть 4 ячейки. Первая - список значений, остальные - заполнены данными. Нужно, чтобы при выборе любого нового значения в первой ячейке, данные в соседних стирались.
Нюанс в том, что это целая таблица и нужно, чтобы все строки аналогично работали.
Спасибо)

Автор - Leariska
Дата добавления - 04.12.2017 в 09:33
buchlotnik Дата: Понедельник, 04.12.2017, 09:41 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3433
Репутация: 921 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
Здравствуйте, так нужно?[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim r&
    If Target.Address Like "$A$*" Then
        r = Target.Row
        Range(Cells(r, 2), Cells(r, 4)).ClearContents
    End If
End Sub
[/vba]
К сообщению приложен файл: 2784595.xlsm(14Kb)


"заступлюсь за Юрия" - публичный плевок в душу!
 
Ответить
СообщениеЗдравствуйте, так нужно?[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim r&
    If Target.Address Like "$A$*" Then
        r = Target.Row
        Range(Cells(r, 2), Cells(r, 4)).ClearContents
    End If
End Sub
[/vba]

Автор - buchlotnik
Дата добавления - 04.12.2017 в 09:41
Leariska Дата: Понедельник, 04.12.2017, 12:27 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
buchlotnik, спасибо! Работает, как надо! :)
 
Ответить
Сообщениеbuchlotnik, спасибо! Работает, как надо! :)

Автор - Leariska
Дата добавления - 04.12.2017 в 12:27
vikttur Дата: Понедельник, 04.12.2017, 12:57 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2557
Репутация: 460 ±
Замечаний: 0% ±

В этом макросе не очень страшно, но...
Процедура события листа. Срабатывает каждый раз при изменении на листе.
Здесь макрос срабатывает два раза. Если, к примеру, менять три ячейки по отдельности, макрос сделает 4 прохода. А если цикл?

Перед изменениями нужно отключать события, после изменений - включать:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row = 1 Then Exit Sub ' шапку чистить не нужно
    
    If Not Application.Intersect(Range("A:A"), Target) Is Nothing Then
        Application.EnableEvents = False
        Cells(Target.Row, 2).Resize(1, 3).ClearContents
        Application.EnableEvents = True
    End If
End Sub
[/vba]


Сообщение отредактировал vikttur - Понедельник, 04.12.2017, 13:00
 
Ответить
СообщениеВ этом макросе не очень страшно, но...
Процедура события листа. Срабатывает каждый раз при изменении на листе.
Здесь макрос срабатывает два раза. Если, к примеру, менять три ячейки по отдельности, макрос сделает 4 прохода. А если цикл?

Перед изменениями нужно отключать события, после изменений - включать:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row = 1 Then Exit Sub ' шапку чистить не нужно
    
    If Not Application.Intersect(Range("A:A"), Target) Is Nothing Then
        Application.EnableEvents = False
        Cells(Target.Row, 2).Resize(1, 3).ClearContents
        Application.EnableEvents = True
    End If
End Sub
[/vba]

Автор - vikttur
Дата добавления - 04.12.2017 в 12:57
Leariska Дата: Вторник, 05.12.2017, 15:58 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
vikttur, спасибо за ваше дополнение)
 
Ответить
Сообщениеvikttur, спасибо за ваше дополнение)

Автор - Leariska
Дата добавления - 05.12.2017 в 15:58
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Очистка ячеек при вводе в другую ячейку (Формулы/Formulas)
Страница 1 из 11
Поиск:

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