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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Очистка ячейки при вводе в другую (Макросы/Sub)
Очистка ячейки при вводе в другую
bobrenja Дата: Среда, 05.09.2018, 17:00 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 123
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac and WIN
Нужно решение, если "х" поставть в другую ячейку к примеру А5, то с А2 он должен быть удален.
К сообщению приложен файл: 2436494.xlsx (9.1 Kb)


Сообщение отредактировал bobrenja - Среда, 05.09.2018, 17:01
 
Ответить
СообщениеНужно решение, если "х" поставть в другую ячейку к примеру А5, то с А2 он должен быть удален.

Автор - bobrenja
Дата добавления - 05.09.2018 в 17:00
_Boroda_ Дата: Среда, 05.09.2018, 17:23 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А если не "х", а что-то другое?
Сделал для любого значения. И для любого количества вставляемых значений
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim d_ As Range, da_ As Range, d0_ As Range
    r0_ = 2
    r1_ = Cells(Rows.Count, 2).End(3).Row
    Set da_ = Cells(r0_, 1).Resize(r1_ - r0_ + 1)
    Set d_ = Intersect(Target, da_)
    If Not d_ Is Nothing Then
        Application.ScreenUpdating = 0
        Application.EnableEvents = 0
        For Each d0_ In d_
            If d0_.Value <> "" Then 'If d0_.Value <> "x" Then
                z_ = d0_
                da_.ClearContents
                d0_ = z_
                Exit For
            End If
        Next d0_
        Application.EnableEvents = 1
        Application.ScreenUpdating = 1
    End If
End Sub
[/vba]
К сообщению приложен файл: 2436494_1.xlsm (15.2 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА если не "х", а что-то другое?
Сделал для любого значения. И для любого количества вставляемых значений
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim d_ As Range, da_ As Range, d0_ As Range
    r0_ = 2
    r1_ = Cells(Rows.Count, 2).End(3).Row
    Set da_ = Cells(r0_, 1).Resize(r1_ - r0_ + 1)
    Set d_ = Intersect(Target, da_)
    If Not d_ Is Nothing Then
        Application.ScreenUpdating = 0
        Application.EnableEvents = 0
        For Each d0_ In d_
            If d0_.Value <> "" Then 'If d0_.Value <> "x" Then
                z_ = d0_
                da_.ClearContents
                d0_ = z_
                Exit For
            End If
        Next d0_
        Application.EnableEvents = 1
        Application.ScreenUpdating = 1
    End If
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 05.09.2018 в 17:23
bobrenja Дата: Среда, 05.09.2018, 17:37 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 123
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac and WIN
Работает на винде. На мак отказывается. Не критично.
Благодарен.
 
Ответить
СообщениеРаботает на винде. На мак отказывается. Не критично.
Благодарен.

Автор - bobrenja
Дата добавления - 05.09.2018 в 17:37
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Очистка ячейки при вводе в другую (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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