Как убрать индикатор неработающего автофильтра Excel?

Excel 2003 Работа с большим листом, который обычно фильтруется автоматически. Однако, когда автофильтр выключен, индикаторы все еще там, они просто не работают. Не уверен, был ли запущен какой-то vba, который мог вызвать это.

Другие книги ведут себя правильно на том же компьютере, и эта книга ведет себя таким же образом на других компьютерах.

Кто-нибудь когда-нибудь сталкивался с этим? Или еще лучше исправил?

Я только что заметил, что индикаторы отфильтрованного диапазона прошли 45 столбцов без содержимого в последних двух заголовках столбцов, хотя на самом деле они не были отфильтрованы. Я добавил содержимое в эти два последних столбца заголовка и попытался запустить AutoFilteredMode=False, но безрезультатно, но затем VisibleDropDown:=False позже скрыл индикаторы, но только в последних двух столбцах.


person datatoo    schedule 23.11.2009    source источник


Ответы (2)


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

Sub TurnFilterOff()
'removes AutoFilter if one exists
  Worksheets("Data").AutoFilterMode = False
End Sub 

Если это не работает, вы можете сделать это, чтобы хотя бы скрыть индикаторы.

Sub HideArrows() 
'hides all arrows 
Dim c As Range 
Dim i As Integer 
i = Cells(1, 1).End(xlToRight).Column 
Application.ScreenUpdating = False 

For Each c In Range(Cells(1, 1), Cells(1, i))
  c.AutoFilter Field:=c.Column, _ 
    Visibledropdown:=False 

Next 

Application.ScreenUpdating = True 
End Sub 
person Irwin M. Fletcher    schedule 23.11.2009
comment
Спасибо, Ирвин, ты не представляешь, как мне хотелось, чтобы это сработало. TurnFilterOff() работает с образцами данных, перенесенными на другой лист. HideArrows() фактически включает автофильтр, хотя и скрывает индикаторы, но опять же, только для частичных данных, скопированных из исходной книги. Раньше я копировал весь лист в другую книгу и начинал заново. Я не знаю, что делает основной пользователь, что вызывает это, поэтому это происходит снова, и это не настоящее решение. - person datatoo; 24.11.2009
comment
Это интересно, если у вас есть место, где вы можете разместить файл для загрузки, я был бы рад быстро просмотреть его, предполагая, что данные не являются конфиденциальными. - person Irwin M. Fletcher; 24.11.2009
comment
Я бы, но он есть, и это не мои данные. Я обнаружил, что все, что не так, устраняется, когда я копирую и вставляю данные с листа. Если бы я знал причину и мог ее предотвратить, этого было бы достаточно. Спасибо - person datatoo; 24.11.2009
comment
Хотя я никогда не решал эту проблему полностью, Ирвин направил меня в правильном направлении. Я уверен, что он прав, что это вызвано макрокомандой и от этого есть остаточные явления. Как это устранить, пока открыто. - person datatoo; 02.12.2009

Наконец, я понял, что эти остаточные формы можно удалить, что приведет к тому, что автофильтр будет работать правильно, как только вы это сделаете. После этого автофильтр будет включаться и выключаться в обычном режиме.

Что вызвало проблемы изначально, для меня загадка. Это исправит это, если у кого-нибудь возникнет проблема

Sub fixAutoFilterDisplay()
Dim drpdwn As Excel.Shape
For Each drpdwn In ActiveSheet.Shapes
  If InStr(drpdwn.Name, "Drop Down") <> 0 Then
   ' test1st = test1st & vbCrLf & drpdwn.Name  '''I tested this first
   drpdwn.Delete
 End If
 Next
   'MsgBox (test1st)
 End Sub
person datatoo    schedule 10.03.2012