Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Отфильтровать столбец по данным из буфера обмена - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отфильтровать столбец по данным из буфера обмена (Макросы/Sub)
Отфильтровать столбец по данным из буфера обмена
Yar4i Дата: Понедельник, 28.10.2019, 13:07 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 118
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день, дамы и господа :D
Странно, но мало кто задавался вопросом фильтрации... может быть потому, что это полуавтоматизация.

H6 ячейка с флажком фильтра.
Пытаюсь вводить Ctrl+V значения "03-30017235" и прочие, чтобы отсортировалось...

[vba]
Код
Sub ФильтрКод()
    ActiveSheet.Range("$A$6:$M$11624").AutoFilter Field:=8, Criteria1:= _
      "03-30017235" ' нужен не текст, а Ctrl+V из буфера обмена
End Sub
[/vba]

Самое главное не сказал - значение для поиска (03-30017235- для данного примера примера) находится в буфере обмена, т.е. я со стороннего ресурса скопировал данные, захожу на лист с фильтром и вызываю макрос.
К сообщению приложен файл: 2051695.xlsx(9.6 Kb)


Сообщение отредактировал Yar4i - Понедельник, 28.10.2019, 15:40
 
Ответить
СообщениеДобрый день, дамы и господа :D
Странно, но мало кто задавался вопросом фильтрации... может быть потому, что это полуавтоматизация.

H6 ячейка с флажком фильтра.
Пытаюсь вводить Ctrl+V значения "03-30017235" и прочие, чтобы отсортировалось...

[vba]
Код
Sub ФильтрКод()
    ActiveSheet.Range("$A$6:$M$11624").AutoFilter Field:=8, Criteria1:= _
      "03-30017235" ' нужен не текст, а Ctrl+V из буфера обмена
End Sub
[/vba]

Самое главное не сказал - значение для поиска (03-30017235- для данного примера примера) находится в буфере обмена, т.е. я со стороннего ресурса скопировал данные, захожу на лист с фильтром и вызываю макрос.

Автор - Yar4i
Дата добавления - 28.10.2019 в 13:07
Апострофф Дата: Понедельник, 28.10.2019, 15:52 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 210
Репутация: 74 ±
Замечаний: 0% ±

Excel 2003
Пробуйте -[vba]
Код
Sub Макрос1()
Dim objClpb As New DataObject
objClpb.GetFromClipboard
ActiveSheet.Range("$A$6:$L$11").AutoFilter Field:=8, Criteria1:=objClpb.GetText
End Sub
[/vba]Если не получается - добавьте в проект Юзерформу (можно удалить затем), нужная библа останется.
 
Ответить
СообщениеПробуйте -[vba]
Код
Sub Макрос1()
Dim objClpb As New DataObject
objClpb.GetFromClipboard
ActiveSheet.Range("$A$6:$L$11").AutoFilter Field:=8, Criteria1:=objClpb.GetText
End Sub
[/vba]Если не получается - добавьте в проект Юзерформу (можно удалить затем), нужная библа останется.

Автор - Апострофф
Дата добавления - 28.10.2019 в 15:52
Yar4i Дата: Понедельник, 28.10.2019, 16:20 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 118
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Цитата Апострофф, 28.10.2019 в 15:52, в сообщении № 2 ()
добавьте в проект Юзерформ

Дебаг выскочил, добавляю юзерформу

insert- userform а дальше непонятно

____
Теперь ничего не находит... В ручную норм, а макрос скрывает все фильтром (хотя значение есть)


Сообщение отредактировал Yar4i - Понедельник, 28.10.2019, 16:23
 
Ответить
Сообщение
Цитата Апострофф, 28.10.2019 в 15:52, в сообщении № 2 ()
добавьте в проект Юзерформ

Дебаг выскочил, добавляю юзерформу

insert- userform а дальше непонятно

____
Теперь ничего не находит... В ручную норм, а макрос скрывает все фильтром (хотя значение есть)

Автор - Yar4i
Дата добавления - 28.10.2019 в 16:20
Апострофф Дата: Понедельник, 28.10.2019, 17:07 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 210
Репутация: 74 ±
Замечаний: 0% ±

Excel 2003
Если
Дебаг выскочил
-> End (сброс проекта). Добавить (потом удалить) форму. Добавится библиотека MSForms.
Потом начинаем пробы сначала.
 
Ответить
СообщениеЕсли
Дебаг выскочил
-> End (сброс проекта). Добавить (потом удалить) форму. Добавится библиотека MSForms.
Потом начинаем пробы сначала.

Автор - Апострофф
Дата добавления - 28.10.2019 в 17:07
Pelena Дата: Понедельник, 28.10.2019, 19:27 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 14764
Репутация: 3229 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Если в буфере именно текст, то можно так попробовать
[vba]
Код
Sub Макрос1()
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        .GetFromClipboard
        v = .GetText
    End With
    ActiveSheet.Range("$A$6:$L$11").AutoFilter Field:=8, Criteria1:=v
End Sub
[/vba]


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеЕсли в буфере именно текст, то можно так попробовать
[vba]
Код
Sub Макрос1()
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        .GetFromClipboard
        v = .GetText
    End With
    ActiveSheet.Range("$A$6:$L$11").AutoFilter Field:=8, Criteria1:=v
End Sub
[/vba]

Автор - Pelena
Дата добавления - 28.10.2019 в 19:27
Yar4i Дата: Среда, 30.10.2019, 16:27 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 118
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
текст

Пробовал на файле из примера копирую имеющийся код- крутит бесконечно.
Пробовал именно текст "восемь" т.е. отсутствующий в столбце для фильтрации
через приостановку процесса в диспетчере завершаю.


Ой, не то... секунду, исправлюсь

Фильтр срабатывает и все сворачивает, даже если я вставляю в H8 "Номер восемь" и в буфер обмена помещаю "Номер восемь".
И весь столбец в формате ячеек перевожу в текст, и искомый текст в формате текст.

Может быть буфер обмена переполнен..


Сообщение отредактировал Yar4i - Среда, 30.10.2019, 16:49
 
Ответить
Сообщение
текст

Пробовал на файле из примера копирую имеющийся код- крутит бесконечно.
Пробовал именно текст "восемь" т.е. отсутствующий в столбце для фильтрации
через приостановку процесса в диспетчере завершаю.


Ой, не то... секунду, исправлюсь

Фильтр срабатывает и все сворачивает, даже если я вставляю в H8 "Номер восемь" и в буфер обмена помещаю "Номер восемь".
И весь столбец в формате ячеек перевожу в текст, и искомый текст в формате текст.

Может быть буфер обмена переполнен..

Автор - Yar4i
Дата добавления - 30.10.2019 в 16:27
Pelena Дата: Среда, 30.10.2019, 17:47 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 14764
Репутация: 3229 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Под словами "именно текст" я подразумеваю, что вы копируете не ячейку целиком, а текст из строки формул.


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеПод словами "именно текст" я подразумеваю, что вы копируете не ячейку целиком, а текст из строки формул.

Автор - Pelena
Дата добавления - 30.10.2019 в 17:47
Yar4i Дата: Четверг, 31.10.2019, 08:07 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 118
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
не ячейку целиком

А! Спасибо.
Чудесно все выходит. Я уж фомулу верхнюю начал гуглить - в сети даже нашел вариант недостающей скобкой, ... А оно все проще.
 
Ответить
Сообщение
не ячейку целиком

А! Спасибо.
Чудесно все выходит. Я уж фомулу верхнюю начал гуглить - в сети даже нашел вариант недостающей скобкой, ... А оно все проще.

Автор - Yar4i
Дата добавления - 31.10.2019 в 08:07
RAN Дата: Четверг, 31.10.2019, 11:55 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5176
Репутация: 1041 ±
Замечаний: 0% ±

2010
Вроде и снег выпал, а лыжи у меня все равно не едут.
Зачем эти извращения?
[vba]
Код
Sub Макрос1()
    ActiveSheet.Range("$A$6:$L$11").AutoFilter Field:=8, _
                    Criteria1:=InputBox("", "")
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВроде и снег выпал, а лыжи у меня все равно не едут.
Зачем эти извращения?
[vba]
Код
Sub Макрос1()
    ActiveSheet.Range("$A$6:$L$11").AutoFilter Field:=8, _
                    Criteria1:=InputBox("", "")
End Sub
[/vba]

Автор - RAN
Дата добавления - 31.10.2019 в 11:55
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отфильтровать столбец по данным из буфера обмена (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!