Заранее спасибо и извините за плохой английский!

Я хочу

Fix 100 -> Текущий столбец и последний номер строки?

Клетки (100, ActiveCell.column)) ---> клетки (???, activeecell.column))

Sub ExcelVBA_CurrentValuecu_Filter()
    ActiveSheet.Range(Cells(1, ActiveCell.Column), Cells(100, ActiveCell.Column)).AutoFilter Field:=1, Criteria1:=ActiveCell.Value
End Sub
0
mrrclb48z 2 Окт 2019 в 12:37

1 ответ

Лучший ответ

Попробуйте этот код:

Sub ExcelVBA_CurrentValuecu_Filter()
    With ThisWorkbook.ActiveSheet
        .Range(.Cells(1, ActiveCell.Column), .Cells(.Rows.Count, ActiveCell.Column).End(xlUp)). _
        AutoFilter Field:=1, Criteria1:=ActiveCell.Value
    End With
End Sub

Заявление .Cells(.Rows.Count, ActiveCell.Column).End(xlUp) найдет последнюю ячейку в вашем столбце, которая имеет данные в нем. Я использовал блок With, чтобы правильно квалифицировать все диапазоны, которые вы используете в вашем коде. Вот почему есть точка . перед .Cells. Это то же самое, что всегда писать ActiveSheet.Cells.

2
riskypenguin 2 Окт 2019 в 09:50