• Skip to main content
  • Skip to header right navigation
  • Skip to site footer

My Online Training Hub

Learn Dashboards, Excel, Power BI, Power Query, Power Pivot

  • Courses
  • Pricing
    • Free Courses
    • Power BI Course
    • Excel Power Query Course
    • Power Pivot and DAX Course
    • Excel Dashboard Course
    • Excel PivotTable Course – Quick Start
    • Advanced Excel Formulas Course
    • Excel Expert Advanced Excel Training
    • Excel Tables Course
    • Excel, Word, Outlook
    • Financial Modelling Course
    • Excel PivotTable Course
    • Excel for Customer Service Professionals
    • Excel for Operations Management Course
    • Excel for Decision Making Under Uncertainty Course
    • Excel for Finance Course
    • Excel Analysis ToolPak Course
    • Multi-User Pricing
  • Resources
    • Free Downloads
    • Excel Functions Explained
    • Excel Formulas
    • Excel Add-ins
    • IF Function
      • Excel IF Statement Explained
      • Excel IF AND OR Functions
      • IF Formula Builder
    • Time & Dates in Excel
      • Excel Date & Time
      • Calculating Time in Excel
      • Excel Time Calculation Tricks
      • Excel Date and Time Formatting
    • Excel Keyboard Shortcuts
    • Excel Custom Number Format Guide
    • Pivot Tables Guide
    • VLOOKUP Guide
    • ALT Codes
    • Excel VBA & Macros
    • Excel User Forms
    • VBA String Functions
  • Members
    • Login
    • Password Reset
  • Blog
  • Excel Webinars
  • Excel Forum
    • Register as Forum Member

Macro to select Filter criteria on Pivot Table based on criteria|VBA & Macros|Excel Forum|My Online Training Hub

You are here: Home / Macro to select Filter criteria on Pivot Table based on criteria|VBA & Macros|Excel Forum|My Online Training Hub
Avatar
sp_LogInOut Log In sp_Registration Register
sp_Search Search
Advanced Search|Last Search Results
Search
Forum Scope




Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
sp_Search Search
sp_RankInfo
Lost password?
sp_CrumbsHome HomeExcel ForumVBA & MacrosMacro to select Filter criteria on …
sp_PrintTopic sp_TopicIcon
Macro to select Filter criteria on Pivot Table based on criteria
Avatar
Howard Cohen
Member
Members
Level 0
Forum Posts: 48
Member Since:
December 8, 2016
sp_UserOfflineSmall Offline
1
November 15, 2019 - 3:34 am
sp_Permalink sp_Print sp_EditHistory

I would like a macro so that If C10 on sheet 'Recon" is zero then filter on Pivot Table on Sheet "Purchases" must filtered to "Blank", otherwise filtered to  Highest Year. I have set up a formula on sheet "purchases" to obtain the highest year from sheet "Raw Data"

 

I have tried to write code but cannot get it to work. It would be appreciated if someone could assist me

Sub Select_Pivot_Fields()
Dim pt As PivotTable
Dim pi As PivotItem
Sheets("purchases").Select
On Error GoTo ErrorHandler
   
     Application.ScreenUpdating = False
   
    Set pt = ActiveSheet.PivotTables("PivotTable2")
   
    pt.ManualUpdate = True
   
   
    With ActiveSheet.PivotTables("PivotTable5").PivotFields("Financial Year")
       .PivotItems("(blank)").Visible = True
    End With
   
        'turn off all pivot table items except "blank"
        For Each pi In pt.PivotFields("Financial Year").PivotItems
            Select Case pi.Value
                Case 1 To 5
                    pi.Visible = False
                Case Else
                    pi.Visible = True
            End Select
        Next pi
   
    pt.ManualUpdate = False
   
    'turn on your desired selection of pivot table items
    num = 1
   
    For i = 1 To ActiveSheet.Range("J1")
   
        mSelect1 = ActiveSheet.Range("J1" & num)
   
            With ActiveSheet.PivotTables("PivotTable2").PivotFields("Financial Year")
           
                .PivotItems(mSelect1).Visible = True
                .PivotItems("(blank)").Visible = False ' turn off blanks
           
            End With
   
    num = num
   
    Next i
 
     Application.ScreenUpdating = True
     Exit Sub
    
ErrorHandler:

    Application.ScreenUpdating = True
   
End Sub 
   

 

  

Avatar
Catalin Bombea
Iasi, Romania
Admin
Level 10
Forum Posts: 1810
Member Since:
November 8, 2013
sp_UserOfflineSmall Offline
2
November 16, 2019 - 3:11 pm
sp_Permalink sp_Print sp_EditHistory

Hi Howard,

Change your J1 formula to: =IF(Recon!C10=0,"(blank)",MAX('Raw Data'!M:M))

This way, the filter value we need is always in J1.

Try this code:

 

Sub Select_Pivot_Fields()
Dim pt As PivotTable
Dim pi As PivotItem
Sheets("purchases").Select
'On Error GoTo ErrorHandler

Application.ScreenUpdating = False
Set pt = ActiveSheet.PivotTables("PivotTable2")
pt.ManualUpdate = True

Dim FilterValue As String
FilterValue = Sheets("purchases").Range("J1")

'display first only
For Each pi In pt.PivotFields("Financial Year").PivotItems
If pi.Value = pt.PivotFields("Financial Year").PivotItems(1).Value Then
pi.Visible = True
Else
pi.Visible = False
End If
Next pi

'display the one we need (blank or highest)
pt.PivotFields("Financial Year").PivotItems(FilterValue).Visible = True

'hide first item if it's not the filtrvalue we need:
If pt.PivotFields("Financial Year").PivotItems(1).Value <> FilterValue Then
pt.PivotFields("Financial Year").PivotItems(1).Visible = False
End If

pt.ManualUpdate = False

Application.ScreenUpdating = True
Exit Sub

ErrorHandler:

Application.ScreenUpdating = True

End Sub

Avatar
Howard Cohen
Member
Members
Level 0
Forum Posts: 48
Member Since:
December 8, 2016
sp_UserOfflineSmall Offline
3
November 17, 2019 - 2:54 am
sp_Permalink sp_Print

Thanks for the help-code works perfectly

sp_Feed
Go to top
Forum Timezone: Australia/Brisbane
Most Users Ever Online: 245
Currently Online: RAMEZ ATTAR, Jeanine Hagge, Tiffany Kang, Scot C
Guest(s) 11
Currently Browsing this Page:
1 Guest(s)
Top Posters:
SunnyKow: 1432
Anders Sehlstedt: 871
Purfleet: 412
Frans Visser: 346
David_Ng: 306
lea cohen: 219
Jessica Stewart: 205
A.Maurizio: 202
Aye Mu: 201
jaryszek: 183
Newest Members:
Scot C
Othman AL MUTAIRI
Misael Gutierrez Sr.
Attif Ihsan
Kieran Fee
Murat Hasanoglu
Brett Dryland
Saeed Aldousari
Bhuwan Devkota
Kathryn Patton
Forum Stats:
Groups: 3
Forums: 24
Topics: 6222
Posts: 27293

 

Member Stats:
Guest Posters: 49
Members: 31917
Moderators: 3
Admins: 4
Administrators: Mynda Treacy, Philip Treacy, Catalin Bombea, FT
Moderators: MOTH Support, Velouria, Riny van Eekelen
© Simple:Press —sp_Information

Sidebar

Blog Categories

  • Excel
  • Excel Charts
  • Excel Dashboard
  • Excel Formulas
  • Excel PivotTables
  • Excel Shortcuts
  • Excel VBA
  • General Tips
  • Online Training
  • Outlook
  • Power Apps
  • Power Automate
  • Power BI
  • Power Pivot
  • Power Query
microsoft mvp logo
trustpilot excellent rating
Secured by Sucuri Badge
MyOnlineTrainingHub on YouTube Mynda Treacy on Linked In Mynda Treacy on Instagram Mynda Treacy on Twitter Mynda Treacy on Pinterest MyOnlineTrainingHub on Facebook
 

Company

  • About My Online Training Hub
  • Disclosure Statement
  • Frequently Asked Questions
  • Guarantee
  • Privacy Policy
  • Terms & Conditions
  • Testimonials
  • Become an Affiliate

Support

  • Contact
  • Forum
  • Helpdesk - For Technical Issues

Copyright © 2023 · My Online Training Hub · All Rights Reserved. Microsoft and the Microsoft Office logo are trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries. Product names, logos, brands, and other trademarks featured or referred to within this website are the property of their respective trademark holders.