Страницы: 1
RSS
Удалить значение с ячеек если напротив в таблице пустая ячейка., Сложность в том что сделать желательно макросом, т.к. таблица данных очень большая с сотнями колонок которые нужно редактировать.
 
Здраствуйте уважаемые форумчане!

ДАНО.
Есть таблица с секциями по 2-ва столбца:Имя атрибута(Name) и Значение атрибута (Value).

ЗАДАЧА.
В поле "имя атрибута (Name)" нужно удалить записи (оставить ячейки пустыми) если напротив поле поле "значение атрибута (Value)" пустое. Так как показано на рисунку.

Сложность в том что сделать желательно макросом(если возможно), т.к. таблица данных очень большая с сотнями колонок атрибутов которые нужно редактировать (и таблиц таких много). Редактировать вручную или даже формулами не представляется возможным.

Буду ОЧЕНЬ благодарен за помощь знающим людям!!!

Файл примера прикрепляю.

 
Изменено: yuraok - 11.07.2020 13:18:33
 
yuraok, дд. вот что значит когда не можешь объяснить задачу (как итог по десять раз делаешь почти одно и тоже)
Не бойтесь совершенства. Вам его не достичь.
 
Mershik Согласен с Вами на 100%. К сожалению не справился с правильной формулировкой.
Но Вам большое спасибо что потратили время на помощь.

Как думаете, возможно сделать то что описанно?
 
yuraok, все можно. для ответа есть кнопка "ИМЯ"  
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, Поможете? Я уже "могорыч" на карточку Вам за помощь должен буду если согласитесь помочь.))
 
yuraok,
Код
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
Изменено: Mershik - 11.07.2020 13:27:02
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, Большое спасибо.

Что для Вас 5 минут работы, для меня невыполнимое задание.
Если что номер карты в приват.
 
Код
Sub www()
UsedRange.SpecialCells(4).Offset(, -1).ClearContents '.Select
End Sub
 
Не понимаю, применяю макрос для моего 1-го примера, работает. А для другого файла не работает? Все уже перепробовал, незнаю как быть...

Прикреляю файл с которым не работает.
УДУ БЛАГОДАРЕН ЗА ПОМОЩЬ... Уже замучался я с этими макросами.
 
k61, Не работает Ваш макрос. Ошибка 424
 
Скопируйте данные в другую книгу.
Оба макроса рабочие.
 
yuraok, как вариант чуть быстрее чем старый
Код
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
Изменено: Mershik - 11.07.2020 17:52:33
Не бойтесь совершенства. Вам его не достичь.
 
yuraok, не нужно ТУПО жать на кнопку цитирования! Или научитесь пользоваться , или не трогайте ее.
Страницы: 1
Наверх