@B_M

Как очистить значения других ячеек при очистке ячейки в ms excel?

Есть таблица со значениями. Нужно, когда я нажимаю delete в ячейке A1, автоматически очищать значения в ячейках H1 и Q1. Подскажите, пожалуйста, как это реализовать средствами VBA.
  • Вопрос задан
  • 1504 просмотра
Решения вопроса 1
x67
@x67
Да, в excel есть события. Подстрой код Elvis под свой случай. Условие должно быть вроде if selection.column=1 and selection.value="" then range(тут сам рэйндж).clearcontents
А постоянно селектить(выбирать) рейндж для удаления не нужно - это совершенно лишнее телодвижение.
Еще бы неплохо проверять выделение на количество ячеек.

Private Sub Worksheet_Change(ByVal Target As Range)
For Each t In Target
    If t.Column = 1 And t.Value = "" Then
        Range("H" & t.Row).ClearContents
        Range("Q" & t.Row).ClearContents
    End If
Next t
End Sub
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Dr_Elvis
@Dr_Elvis
В гугле забанен
А принципиально на delete?
Можно сделать так:
Sub del()
    Dim row As String
    row = ActiveCell.row
    Range("H" & row).Select
    Selection.ClearContents
    Range("Q" & row).Select
    Selection.ClearContents
    Range("A" & row).Select
    Selection.ClearContents
End Sub

После этого делаем назначение макроса например на Ctrl+k и нажимать эту комбинацию вместо delete. В макросе специально сделал сначала очистку ячейки в столбце "H" и "Q", а потом только в столбце "A". Это для того чтобы после выполнения макроса курсор был в столбце "A".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы