Comment faire pour que l'indicateur de l'autofilter cassé Excel disparaisse?

Excel 2003 Travailler avec une grande feuille qui est généralement autofiltrée. Cependant, lorsque le filter automatique est éteint, les indicateurs sont toujours là, ils ne fonctionnent plus. Je ne sais pas si certains vba ont été exécutés, ce qui peut avoir provoqué cela.

Les autres classurs se comportent correctement sur la même machine, et ce classur se comporte de cette façon sur d'autres machines.

Quelqu'un at-il déjà rencontré cela? Ou mieux encore, réparé?

Je viens juste de constater que les indicateurs de la gamme filtrée allaient à 45 colonnes sans aucun contenu sur les deux derniers en-têtes de colonne, même si ce n'était pas filtré. J'ai ajouté du contenu à ces deux dernières colonnes d'en-tête et j'ai essayé d'exécuter AutoFilteredMode = False, sans résultat, mais VisibleDropDown: = False plus tard a caché les indicateurs, mais uniquement sur les deux dernières colonnes.

Je dirais qu'il s'agit d'un problème qui restait d'une macro qui ne s'est pas correctement terminée. Je commencerais par exécuter cette macro pour voir si elle corrige le problème.

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

Si cela ne fonctionne pas, vous pourriez le faire au less pour cacher les indicateurs.

 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 

Finalement, j'ai compris que ces forms résiduelles peuvent être supprimées, ce qui provoque l'auto-filter correctement lorsque vous faites cela. Par la suite, l'autofilter s'allume et s'éteint normalement.

Ce qui a causé les problèmes initialement, c'est un mystère pour moi. Cela va le corriger, si quelqu'un a déjà le problème

 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