Microsoft Excel ви позволява да филтрирате данни. Това е полезна функция, която може да ви помогне да осмислите големи количества данни. Ако ви липсва техническото ноу-хау, необходимо за създаване на база данни, тази функция е животоспасяваща. Филтрите са доста основни и ви позволяват да включвате или изключвате данни от колона. Филтърът се разширява и се прилага и към стойностите на данните в съответните редове. Това, което филтърът не прави, е да се актуализира автоматично. Ако стойност във филтрирана колона се промени, защото сте я актуализирали ръчно или се използва формула, трябва да приложите филтрите отново. Прост кодов фрагмент ви позволява да актуализирате филтрирани колони в движение.
Ще трябва да активирате макроси и да запишете вашия файл на Excel като файл с активиран макрос, .XLSM, за да използвате кода. За да запишете файла като файл с активиран макрос, отидете на Файл>Запиши като и изберете Работна книга с активиран макрос на Excel от диалоговия прозорец „Запиши като“.
След това изберете листа, към който сте приложили филтри. Щракнете с десния бутон върху него и изберете „Преглед на кода“ от контекстното меню.
Ще се отвори прозорец на Microsoft Visual Basic с текущия лист на Excel. Поставете следния код в прозореца с кода.
Private Sub Worksheet_Change(ByVal Target As Range) If Me.FilterMode = True Then With Application .EnableEvents = False .ScreenUpdating = False End With With ActiveWorkbook .CustomViews.Add ViewName:="Mine", RowColSettings:=True Me.AutoFilterMode = False .CustomViews("Mine").Show .CustomViews("Mine").Delete End With With Application .EnableEvents = True .ScreenUpdating = True End With End If End Sub
Запазете файла. Ако не сте запазили файла като работна книга с активиран макрос на Excel, ще бъдете подканени да го направите отново. Този файл, който запазвате, ще бъде запазен като копие и няма да презапише текущия файл.
След като кодът бъде добавен, можете да актуализирате всяка клетка във филтрирана колона и тя автоматично ще опресни филтрираните данни според условията, които сте задали. Този код е написан от потребителя на Stack Exchange Sorin.