Уважаемые умельцы! Очень нужен макрос, который поможет сильно упростить некоторую монотонную работу, буду очень благодарен, если это можно будет реализовать. Что должен делать макрос: 1. На требуемом столбце вызвать окно фильтрации 2. Активизировать поле Поиск и вставить в него текст из буфера обмена ОС 3. Нажать ОК
Прилагаю скриншот, где каждое вышеописанное действие соответственно пронумеровано. Надеюсь, предоставленных данных достаточно для понимания того, что требуется. Я сам не программист, пытался сделать данный макрос с помощью функции "Запись макроса", но ничего не вышло.
Заранее спасибо. Готов материально отблагодарить за работу
Уважаемые умельцы! Очень нужен макрос, который поможет сильно упростить некоторую монотонную работу, буду очень благодарен, если это можно будет реализовать. Что должен делать макрос: 1. На требуемом столбце вызвать окно фильтрации 2. Активизировать поле Поиск и вставить в него текст из буфера обмена ОС 3. Нажать ОК
Прилагаю скриншот, где каждое вышеописанное действие соответственно пронумеровано. Надеюсь, предоставленных данных достаточно для понимания того, что требуется. Я сам не программист, пытался сделать данный макрос с помощью функции "Запись макроса", но ничего не вышло.
Заранее спасибо. Готов материально отблагодарить за работуPAPETA81
Sub tt() ActiveSheet.Cells(1).CurrentRegion.AutoFilter Field:=3, Criteria1:=CreateObject("htmlfile").parentWindow.clipboardData.GetData("Text") End Sub
[/vba]
Ловите макрос [vba]
Код
Sub tt() ActiveSheet.Cells(1).CurrentRegion.AutoFilter Field:=3, Criteria1:=CreateObject("htmlfile").parentWindow.clipboardData.GetData("Text") End Sub
вставлять нужно данные, которые были скопированы именно из Экселя, а не из ОС. Я так понимаю, для Экселя это разные данные, поэтому и фильтр отрабатывает некорректно.
вставлять нужно данные, которые были скопированы именно из Экселя, а не из ОС. Я так понимаю, для Экселя это разные данные, поэтому и фильтр отрабатывает некорректно.
_Boroda_, периодически вылетает такая ошибка, см скриншот. Когда она вылетает, то только перезапуском документа можно решить. С этим можно справиться?
_Boroda_, периодически вылетает такая ошибка, см скриншот. Когда она вылетает, то только перезапуском документа можно решить. С этим можно справиться?PAPETA81
Да и вообще, давайте не будем в буфер лезть. Вот так попробуйте
[vba]
Код
Sub rr() Application.ScreenUpdating = 0 On Error GoTo A With Cells(1).Offset(Cells(1).CurrentRegion.Rows.Count) .PasteSpecial Paste:=xlPasteValues z_ = .Value .Clear End With With ActiveSheet.UsedRange: End With Cells(1).CurrentRegion.AutoFilter Field:=3, Criteria1:=z_ Cells(1).Offset(, 2).Select A: Application.ScreenUpdating = 1 End Sub
[/vba]
А где скрин?
Да и вообще, давайте не будем в буфер лезть. Вот так попробуйте
[vba]
Код
Sub rr() Application.ScreenUpdating = 0 On Error GoTo A With Cells(1).Offset(Cells(1).CurrentRegion.Rows.Count) .PasteSpecial Paste:=xlPasteValues z_ = .Value .Clear End With With ActiveSheet.UsedRange: End With Cells(1).CurrentRegion.AutoFilter Field:=3, Criteria1:=z_ Cells(1).Offset(, 2).Select A: Application.ScreenUpdating = 1 End Sub
_Boroda_, да, прошу прощения, почему то скрин не прикрепился. Прикрепил на всякий случай. Но я опытным путём понял, что я не учел/не знал, что в Эксель на хоткеях имеет значение раскладка клавиатуры. Я назначил макрос на ктрл+E. и периодически ошибка возникала когда я его использовал на русской раскладке.
По вышеописанному коду спасибо, использую его.
_Boroda_, да, прошу прощения, почему то скрин не прикрепился. Прикрепил на всякий случай. Но я опытным путём понял, что я не учел/не знал, что в Эксель на хоткеях имеет значение раскладка клавиатуры. Я назначил макрос на ктрл+E. и периодически ошибка возникала когда я его использовал на русской раскладке.
По вышеописанному коду спасибо, использую его.PAPETA81