Страницы: 1
RSS
Очистка диапазона при наличии в этом диапазоне пустой ячейки (VBA)
 
Добрый день!

Подскажите, пожалуйста, как можно отслеживать наличие пустой ячейки в диапазоне и очистку этого диапазона при наличии в нем пустой ячейки.

Пример прилагаю.

Пояснения к примеру:
В диапазоне F2:F4 оказалась пустая ячейка (F3), VBA отслеживает наличие этой пустоты и удаляет данные из всего диапазона F2:F4.
Такое необходимо провернуть для каждого столбца (B2:B4, С2:С4, D2:D4 и т.д.).

Пробовал пойти таким путем, но потерпел фиаско. :sceptic:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count = "" Then Exit Sub
    If Not Intersect(Target, Range("B3")) Is Nothing Then
    Range("B2:B4").Select
    Selection.ClearContents
    End If
End Sub

С  уважением, Dost1369.
 
намёк...
+намёк...
Изменено: JayBhagavan - 05.09.2022 17:00:05

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
В диапазоне F2:F4 оказалась пустая ячейка (F3)
Код
Sub iEmptyCell()
  If WorksheetFunction.CountA(Range("F2:F4")) = 3 Then
    '
  Else
    MsgBox "В диапазоне F2:F4 есть пустая ячейка"
  End If
End Sub
 
Цитата
JayBhagavan написал:
+намёк...
Если ошибка , то нет такого, а если нет ошибки, значит нашлось  и на основе этого уже можно принять решение что делать.

Код
Sub jjj()
    On Error Resume Next
    Selection.SpecialCells (xlCellTypeBlanks)
    If Err.Number = 0 Then MsgBox Selection.ClearContents
    On Error GoTo 0
End Sub


но будет медленнее чем в случае использования функций листа.
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх