2012-02-09 5 views
2

Этот код удалит всю строку, если он найдет пустую ячейку в столбце G. Что мне нужно сделать, это очистить ячейку в столбце A, если ячейка в столбце G - пустой.Очистить ячейку в строке, если другая ячейка в той же строке пуста

On Error Resume Next  ' In case there are no blanks 
Columns("G:G").SpecialCells(xlCellTypeBlanks).EntireRow.Delete 
ActiveSheet.UsedRange 'Resets UsedRange for Excel 97 

ответ

2

Попробуйте это:

With Intersect(Columns("G:G"), ActiveSheet.UsedRange) 
    If WorksheetFunction.CountBlank(.Cells) > 0 Then 
     .SpecialCells(xlCellTypeBlanks).Offset(, -6).ClearContents 
    End If 
End With 
+0

+1 приятно использование СЧИТАТЬПУСТОТЫ вместо стандартной проверки ошибок – brettdj

0

Попробуйте вместо этого.

Columns("G:G").SpecialCells(xlCellTypeBlanks).Offset(0,-6).ClearContents 
0

Как так:

On Error Resume Next  ' In case there are no blanks 
Columns("G:G").SpecialCells(xlCellTypeBlanks).Offset(, -6) = "" 
+1

Если вы собираетесь прибегнуть к обработке ошибок (On Error Resume Next), не забудьте перезагрузите его после (On Error Goto 0) – Reafidy

Смежные вопросы