Добрый день!
Mimicry, предложила Вам 2 варианта, так как Вы человек непредсказуемый...
Этот код проверяет, является ли ячейка в столбце "L" пустой. Если условие выполняется, то далее проверяет, является ли ячейка в столбце "H" объединенной. Если условие выполняется, то значения в объединенных ячейках в столбце "H" будут удалены.
Скрытый текст |
---|
Код |
---|
Sub ClearCells()
Dim ws As Worksheet
Dim i&, lR&
For Each ws In ThisWorkbook.Worksheets
lR = ws.UsedRange.Rows.Count
For i = 2 To lR
If IsEmpty(ws.Range("L" & i)) Then
ws.Range("H" & i).MergeArea.ClearContents
End If
Next i
Next ws
MsgBox "Готово!", vbInformation
End Sub |
|
Если вдруг потребуется. Этот код удаляет все строки, в которых ячейка "L" пустая и является объединенной. После удаления в столбце "H" сделала сквозную нумерацию (как у Вас в примере).
Скрытый текст |
---|
Код |
---|
Sub DeleteRows()
Dim ws As Worksheet
Dim i&, lR&, n&
n = 1
For Each ws In ThisWorkbook.Worksheets
lR = ws.UsedRange.Rows.Count
For i = lR To 2 Step -1
If IsEmpty(ws.Range("L" & i)) And ws.Range("L" & i).MergeCells Then
ws.Rows(i).Delete
End If
Next i
lR = ws.UsedRange.Rows.Count
For i = 2 To lR
If Not IsEmpty(ws.Range("H" & i)) Then
ws.Range("H" & i) = n
n = n + 1
End If
Next i
Next ws
MsgBox "Готово!", vbInformation
End Sub
|
|
Хорошего дня!