Да, в 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