2015-08-06 2 views
1

Очень простого кода для фильтрации таблицы на основе значения указанной ячейки:Automethod класса диапазона не удался

Sub Button1_Click() 

Dim sCriteria As String 

sCriteria = "*" & Range("C4").Value & "*" 

ActiveSheet.AutoFilterMode = False 
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=1, Criteria1:=_sCriteria, Operator:=xlAnd 
End Sub 

Когда я запускаю это я получаю automethod неудачных ошибок класса диапазона ... Я не могу почему жизнь меня объясняет почему.

Любая помощь была бы принята с благодарностью!

Спасибо большое,

Рейч

ответ

0
ActiveSheet.ListObjects("Table1").Range.AutoFilter 

Я не уверен, что вы можете использовать Range на своих собственных. Вы, вероятно, придется указать, какой диапазон вы собираетесь применить фильтр, используя Range("A1:O500") или что-то, что эффект


EDIT (диапазон я просто дал быть только в качестве примера.): Проблема решена просто удаляя часть диапазона, таким образом делая линию

ActiveSheet.ListObjects("Table1").AutoFilter 
+0

Большое вам спасибо за ваш быстрый ответ. Я попробовал добавить соответствующий диапазон, и он просто ничего не сделал, когда я удалил код, который внезапно сработал! Но ... только если ячейка (C4) не выбрана! – Rach

+0

Итак, вам нужно ввести ячейку, затем выбрать другую ячейку, а затем, если вы нажмете кнопку, она будет работать ... так странно. – Rach

+0

Возможно, вы все еще были в режиме редактирования? Я не думаю, что код работает, если вы все еще видите мигание вставки, поскольку текст еще не был «проверен», и поэтому код не может принять его во внимание. – Looker

Смежные вопросы