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

Конечно, поздравляю с праздником девушек форума!

Теперь сам вопрос, который пока не могу решить самостоятельно.
Мне необходимо применить фильтр к таблице и изменить в определенных ячейках формат на общий. В примере - нужно изменить формат в видимых ячейках столбца B после применения фильтра по столбцу A.
Подскажите, пожалуйста, как это можно сделать? В файле небольшой код.
 
Здравствуйте. На мой взгляд, в вашем коде все нормально, ну разве чуть-чуть изменить, чтобы присваивался формат не всему столбцу, а видимым ячейкам диапазона:
Код
SSub Макрос1()
    Dim lngI As Long
    lngI = Cells(Rows.Count, 1).End(xlUp).Row
    With Sheets("Лист1")
        .Range("A1:B" & lngI).AutoFilter Field:=1, Criteria1:="Яблоко"
        .Range("B1:B" & lngI).SpecialCells(xlCellTypeVisible).NumberFormat = "General"
    End With
Sheets("Лист1").AutoFilterMode = False
End Sub

Другое дело, что смена формата не поможет изменить тип данных в ячейке - как там был текст, так и останется. Если надо перевести в число - руками по-быстрому делается так: где-нибудь вбиваем в ячейку 1, копируем эту ячейку. Выделяем диапазон с "псевдочислами" - правая кнопка грызуна - вставка - специальная вставка - умножить.
Кому решение нужно - тот пример и рисует.
 
Пытливый, спасибо за помощь!
 
Решил немного по-другому:
Код
Sub Макрос1()

    With Sheets("Лист1")
        .Range("A1:B1").AutoFilter Field:=1, Criteria1:="Яблоко"
        .Columns("B:B").SpecialCells(xlCellTypeVisible).NumberFormat = "General"
    End With
Sheets("Лист1").AutoFilterMode = False
        Worksheets("Лист1").Columns("B:B").Value = Worksheets("Лист1").Columns("B:B").Value
End Sub
И форматы поменял, и числа в нужных ячейках стали числами.
Страницы: 1
Наверх