+ Reply to Thread
Results 1 to 2 of 2

how to remove "(All)" in a pivot table using VBA

  1. #1
    Guest

    how to remove "(All)" in a pivot table using VBA

    hi everyone!
    does anyone know if it is possible to remove the "(All)"
    or "(Show All)" from a pivot table.

    here's a piece of my code for setting up the first
    element of each pagefeild items, but I would also want to
    remove the field "(All)"

    With ActiveWorkbook.PivotCaches.Add
    (SourceType:=xlExternal)
    .Connection = strConnection
    .CommandType = xlCmdSql
    .CommandText = "exec
    fc_GetViewAsDenormalizedTable @View_id=" & intViewID & ",
    @tableset=" & intTableset
    .CreatePivotTable
    TableDestination:=ActiveSheet.Range("A3"),
    TableName:="PivotTable1",
    DefaultVersion:=xlPivotTableVersion10
    End With

    Set pt = ActiveSheet.Range("A3").PivotTable

    For Each ptField In pt.PivotFields
    If LCase(ptField.Name) <> "data_id" And LCase
    (ptField.Name) <> "usertable_login" And LCase
    (ptField.Name) <> "view_id" And LCase(ptField.Name)
    <> "transfert_date" And LCase(ptField.Name)
    <> "control_code" Then
    Select Case LCase(ptField.Name)
    Case "cou"
    ptField.Orientation = xlRowField
    Case "country"
    ptField.Orientation = xlRowField
    Case "dcountry"
    ptField.Orientation = xlRowField
    Case "yea"
    ptField.Orientation = xlColumnField
    Case "year"
    ptField.Orientation = xlColumnField
    ptField.ShowAllItems = False
    Case "data_value"
    pt.AddDataField ptField
    Case Else
    ptField.Orientation = xlPageField
    strFirstMember = ptField.PivotItems(1)
    ptField.CurrentPage = strFirstMember
    End Select
    End If
    Next ptField

    pt.RowGrand = False
    pt.ColumnGrand = False
    pt.NullString = ".."

  2. #2
    Debra Dalgleish
    Guest

    Re: how to remove "(All)" in a pivot table using VBA

    You can't suppress the "All" option in the page field. With programming,
    you could select another item if the user selects "All".

    For example:
    '========================
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim pt As PivotTable
    Dim pf As PivotField
    Set pt = Me.PivotTables(1)
    Set pf = pt.PivotFields("Rep")

    With pf
    If .CurrentPage = "(All)" Then
    .CurrentPage = .PivotItems(1).Name
    End If
    End With
    End Sub
    '============================

    This code is stored on the worksheet's code module --
    Right-click the sheet tab, and choose View Code
    Paste the code where the cursor is flashing.


    [email protected] wrote:
    > hi everyone!
    > does anyone know if it is possible to remove the "(All)"
    > or "(Show All)" from a pivot table.
    >
    > here's a piece of my code for setting up the first
    > element of each pagefeild items, but I would also want to
    > remove the field "(All)"
    >
    > With ActiveWorkbook.PivotCaches.Add
    > (SourceType:=xlExternal)
    > .Connection = strConnection
    > .CommandType = xlCmdSql
    > .CommandText = "exec
    > fc_GetViewAsDenormalizedTable @View_id=" & intViewID & ",
    > @tableset=" & intTableset
    > .CreatePivotTable
    > TableDestination:=ActiveSheet.Range("A3"),
    > TableName:="PivotTable1",
    > DefaultVersion:=xlPivotTableVersion10
    > End With
    >
    > Set pt = ActiveSheet.Range("A3").PivotTable
    >
    > For Each ptField In pt.PivotFields
    > If LCase(ptField.Name) <> "data_id" And LCase
    > (ptField.Name) <> "usertable_login" And LCase
    > (ptField.Name) <> "view_id" And LCase(ptField.Name)
    > <> "transfert_date" And LCase(ptField.Name)
    > <> "control_code" Then
    > Select Case LCase(ptField.Name)
    > Case "cou"
    > ptField.Orientation = xlRowField
    > Case "country"
    > ptField.Orientation = xlRowField
    > Case "dcountry"
    > ptField.Orientation = xlRowField
    > Case "yea"
    > ptField.Orientation = xlColumnField
    > Case "year"
    > ptField.Orientation = xlColumnField
    > ptField.ShowAllItems = False
    > Case "data_value"
    > pt.AddDataField ptField
    > Case Else
    > ptField.Orientation = xlPageField
    > strFirstMember = ptField.PivotItems(1)
    > ptField.CurrentPage = strFirstMember
    > End Select
    > End If
    > Next ptField
    >
    > pt.RowGrand = False
    > pt.ColumnGrand = False
    > pt.NullString = ".."



    --
    Debra Dalgleish
    Excel FAQ, Tips & Book List
    http://www.contextures.com/tiptech.html


+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1