Как фильтровать на основе буфера обмена? - PullRequest
0 голосов
/ 15 июня 2019

Я работаю с группой людей в своем отделе и всегда делюсь с ними своим кодом, чтобы вы помогали мне и моим коллегам!

Используя макрос-рекордер, я создал этот код для фильтрации столбца, который я хочу отфильтровать, но мне нужно изменить код, чтобы отфильтровать его, основываясь на том, что находится в буфере обмена (какую ячейку я нажимал Ctrl + C ранее). Я нажал Ctrl + C во время записи макроса, но он не записывал эти нажатия кнопок, он только вставил то, что было в моем буфере обмена в то время, в макрос.

Sub Filter()

    ActiveSheet.Range("$A$1:$V$12955").AutoFilter Field:=2, Criteria1:= _
        "Clipboard"

End Sub

1 Ответ

1 голос
/ 15 июня 2019

Это один из первых проектов, которые я сделал в Excel.Я объясню, как работает мой код, затем вы можете управлять этим в соответствии с вашими потребностями.

Ссылка на Youtube о том, как его использовать

После вставки кода в вашPersonal Macro, создайте ярлык на панели быстрого доступа для этого макроса.

Затем все, что вам нужно сделать, это применить Autofilter к диапазону, который вы хотите отфильтровать, скопировать ячейку или диапазон ячеексодержит значение, которое вы хотите отфильтровать, и выберите заголовок столбца, к которому вы хотите применить этот фильтр.Нажмите Созданный ярлык.

Он будет работать и для отдельной ячейки, поэтому вам не нужно вносить в него изменения.Просто следуйте инструкциям выше.

Вот код:

Sub filtrr()
'
    Dim i As Integer
    Dim Test As String
    Dim clipboard As MSForms.DataObject
    Set clipboard = New MSForms.DataObject

    clipboard.GetFromClipboard
    Test = clipboard.GetText

    Test = Replace(Test, Chr(13), "-")
    Test = Trim(WorksheetFunction.Clean(Test))

    Dim ab() As String

    ab = Split(Test, "-")

    ReDim Preserve ab(UBound(ab) - 1)

    ActiveSheet.UsedRange.AutoFilter Field:=Selection.Column, Criteria1:=ab, Operator:= _
        xlFilterValues


End Sub

В вашем случае это только одна ячейка, которая содержит значение, но этот код спасает жизнь, если вы хотитефильтровать как 50 значений в таблице тысяч значений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...