יום חמישי, ספטמבר 01, 2016

ביטול סינון אוטומטי בטבלאות ציר

כשבונים טבלאות ציר יש מצבים שבהם נרצה להסתיר אלמנטים מסוימים. בדרך כלל את רשימת השדות, שאין לה תפקיד בסיום הבנייה. אבל גם לחצני השדות או את כותרות השורות.
כל זה אפשר לבצע באמצעות התפריט של טבלאות הציר




 לדוגמה, אם נלחץ על "רשימת השדות" ועל "לחצני +/-" נקבל


אבל אין באקסל אפשרות מובנית לבטל את הסינון האוטומטי בטבלאות ציר. נוכל לבטל אותו באופן חלקי בלחיצה על "כותרות שדות", אבל אפשרות זאת מסתירה גם את שמות השדות וגן משאירה את הסינון באזור של המסננים


אם נרצה להסתיר את כל המסננים אבל להשאיר את הכותרות נצטרך להשתמש במקרוס.

הקוד שבהשך מאפשר להסתיר את המסננים של טבלת הציר הפעילה




Sub hide_Filter_PT()
    Dim ptbl As PivotTable
    Dim pfld As PivotField
  
    Set ptbl = ActiveSheet.PivotTables(1)
      For Each pfld In ptbl.PivotFields
          pfld.EnableItemSelection = False
      Next pfld
    
End Sub


אם נרצה להחזיר את המסננים נשתמש בקוד הזה:

Sub show_Filter_PT()
    Dim ptbl As PivotTable
    Dim pfld As PivotField
  
    Set ptbl = ActiveSheet.PivotTables(1)
      For Each pfld In ptbl.PivotFields
          pfld.EnableItemSelection = True
      Next pfld
    
End Sub



אם יש יותר מטבלת ציר אחת בגיליון, נוכל להשתמש בקוד הזה על לבטל את המסננים בכל טבלאות הציר בגיליון


Sub hide_Filter_PT_all()
    Dim ptbl As PivotTable
    Dim pfld As PivotField
  
 
    For Each ptbl In ActiveSheet.PivotTables
      For Each pfld In ptbl.PivotFields
          pfld.EnableItemSelection = False
      Next pfld
     Next ptbl
 
End Sub

ואם נרצה להחזיר את המסננים בכל הטבלאות בגיליון:


Sub show_Filter_PT_all()
    Dim ptbl As PivotTable
    Dim pfld As PivotField
  
    For Each ptbl In ActiveSheet.PivotTables
      For Each pfld In ptbl.PivotFields
          pfld.EnableItemSelection = True
      Next pfld
    Next ptbl
  
End Sub



כרגיל, מומלץ לשמור את הקודים בחוברת ה-Personal.

אין תגובות:

הוסף רשומת תגובה