Страницы: 1
RSS
фильтрация и очистка дубликатов без удаления ячеек ( и другого текста)
 
Доброго времени суток мастерам макросов и Гуру тайных знаний.

Ломаю голову над задачкой:

Необходимо в существующем массиве провести фильтрацию макросом по первому столбцу по убыванию от а до я (настраиваемой сортировкой макрорекодер  вроде немного помог). Дальше необходимо очистить дубликаты значений в первом столбце, так чтобы первое сверху значение осталось, а остальные очистились (значение ячейки очистилось) без удаления  ячеек или строк, при этом сторонний текст на листе не должен пострадать (если это конечно вообще реализуемо)
Код
Sub Filtr_chistka()

'
' чистка Макрос и построение
'

'
    Columns("F:H").Select
    ActiveWorkbook.Worksheets("итог").Sort.SortFields. _
        Clear
    ActiveWorkbook.Worksheets("итог").Sort.SortFields. _
        Add Key:=Range("F2:F15"), SortOn:=xlSortOnValues, Order:=xlAscending, _
        DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("итог").Sort
        .SetRange Range("F1:H15")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With


В ходе активных поисков был найден макрос мастера RAN:
Скрытый текст

но я пока не понимаю как его прикрутить или что вообще можно использовать, чтобы сторонний текст не пострадал.
Вся эта процедура направлена, чтобы потом можно было быстро и просто строить график.
Может кто поделиться мудростью да направит на путь истинный= в любом случае спасибо.
Изменено: Tesla_LOLa - 28.11.2018 13:34:19
 
Сводная диаграмма должна справиться без макросов и т.п.
 
Catboyun Спасибо, что нашли время= Обалденный регулируемый график. Проблема в том что, руками я знаю как это сделать, но мне нужно раскрутить это именно макросом (это  часть макроса которую почти удалось добить= остался этот кусочек на финишной прямой).
 
Код
Sub Filtr_chistka()

'
' чистка Макрос и построение
'

'
    'Columns("F:H").Select
    a = Cells(Rows.Count, "F").End(xlUp).Row
    ActiveWorkbook.Worksheets("итог").Sort.SortFields. _
        Clear
    ActiveWorkbook.Worksheets("итог").Sort.SortFields. _
        Add Key:=Range("F2:F" & a), SortOn:=xlSortOnValues, Order:=xlAscending, _
        DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("итог").Sort
        .SetRange Range("F1:H" & a)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With    
    
    For i = a To 2 Step -1    
        If Cells(i, 6) = Cells(i - 1, 6) Then
        Cells(i, 6).ClearContents
        End If
    Next i    
    
End Sub
Изменено: Catboyun - 28.11.2018 12:52:15
 
Catboyun спасибо огромное- научили уму разуму!!!!!
Страницы: 1
Наверх