Удалить значение с ячеек если напротив в таблице пустая ячейка., Сложность в том что сделать желательно макросом, т.к. таблица данных очень большая с сотнями колонок которые нужно редактировать.
ДАНО. Есть таблица с секциями по 2-ва столбца:Имя атрибута(Name) и Значение атрибута (Value).
ЗАДАЧА. В поле "имя атрибута (Name)" нужно удалить записи (оставить ячейки пустыми) если напротив поле поле "значение атрибута (Value)" пустое. Так как показано на рисунку.
Сложность в том что сделать желательно макросом(если возможно), т.к. таблица данных очень большая с сотнями колонок атрибутов которые нужно редактировать (и таблиц таких много). Редактировать вручную или даже формулами не представляется возможным.
Sub delete_if_empty()
Dim i As Long, n As Long, lr As Long, lcol As Long
lr = Cells(Rows.Count, 1).End(xlUp).Row
lcol = Cells(1, Columns.Count).End(xlToLeft).Column
For n = 2 To lcol Step 2
For i = 2 To lr
If IsEmpty(Cells(i, n)) Then
Cells(i, n - 1).ClearContents
End If
Next i
Next n
End Sub
Sub delete_if_empty()
Dim i As Long, n As Long, lr As Long, lcol As Long
Dim celldel As Range
lr = Cells(Rows.Count, 1).End(xlUp).Row
lcol = Cells(1, Columns.Count).End(xlToLeft).Column
For n = 2 To lcol Step 2
For i = 2 To lr
If Cells(i, n) = "" Then
If celldel Is Nothing Then
Set celldel = Cells(i, n - 1)
Else
Set celldel = Union(celldel, Cells(i, n - 1))
End If
End If
Next i
Next n
If Not celldel Is Nothing Then celldel.ClearContents
End Sub
старый
Код
Sub delete_if_empty()
Dim i As Long, n As Long, lr As Long, lcol As Long
lr = Cells(Rows.Count, 1).End(xlUp).Row
lcol = Cells(1, Columns.Count).End(xlToLeft).Column
For n = 2 To lcol Step 2
For i = 2 To lr
If Cells(i, n) = "" Then
Cells(i, n - 1).ClearContents
End If
Next i
Next n
End Sub