The macro below works flawlessly insofar as it makes a pretty data tab, sorts the data into easy to access chunks and creates a column (L) that segregates the business units into either one of the 5 I'm interested in or marks them as No Data. Now, what I need to happen is that I need to be able to filter out No Data from the Target column in the Sum section of the pivot table. But I also need the gross totals for comparison. Thus the two sum columns in this pivot table.

It really seems like PivotItem = False should do the trick but when I try that (attempts marked out in the macro) I get wonderful error messages. I do not want wonderful error messages.

I had to cut out some unnecessary data to get the file size down, thus the blank columns. Anyway, let me know what I'm missing here.

Raw Data.xlsx

Code:
Sub JimMacro()

  ActiveSheet.Name = "Data"
  Sheets("Data").Activate
    Range("D:D").Replace What:="Completed_e-Learning", Replacement:="Yes"
    Range("D:D").Replace What:="", Replacement:="No"
        Cells.Replace What:="R1", Replacement:="R1 - East"
        Cells.Replace What:="R2", Replacement:="R2 - South"
        Cells.Replace What:="R3", Replacement:="R3 - Central"
        Cells.Replace What:="R4", Replacement:="R4 - West"
        Cells.Replace What:="R5", Replacement:="R5 - Corporate"
    Cells.Select
    Cells.EntireColumn.AutoFit
    With Selection
        .HorizontalAlignment = xlLeft
        .VerticalAlignment = xlBottom
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Rows("1:1").Select
    Selection.Font.Bold = True
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Selection.AutoFilter
Dim i As Long, S As String
    Range("L1") = "Target"
    For i = 2 To Range("J" & Rows.Count).End(xlUp).row
                    S = Range("J" & i)
    If S = "BGWO" Or S = "DOVJ" Or S = "DOVK" Or S = "DOVL" Or S = "DOWK" Then
    Range("L" & i) = S
    Else: Range("L" & i) = "No Data": End If
    Next i

    Dim PTCache As PivotCache
    Dim PT As PivotTable

    Set PTCache = ActiveWorkbook.PivotCaches.Create( _
    SourceType:=xlDatabase, _
    SourceData:="'" & Activesheet.Name & "'!" & Range("A1").CurrentRegion.Address(true,true,xlR1C1))

    Worksheets.Add

    Set PT = ActiveSheet.PivotTables.Add( _
        PivotCache:=PTCache, _
        TableDestination:=Range("A3"))

    With PT
        .PivotFields("Description").Orientation = xlPageField
        '.PivotFields("Target").Orientation = xlColumnField
        '.PivotItems("No Data").Visible = False
        .PivotFields("Completion Status").Orientation = xlColumnField
        .PivotFields("Area").Orientation = xlRowField
        .PivotFields("Business Unit").Orientation = xlRowField
        .PivotFields("Target").Orientation = xlDataField
        '.PivotItems("No Data").Visible = False
        .PivotFields("Completion Status").Orientation = xlDataField

    .DisplayFieldCaptions = False
    End With
ActiveSheet.Name = "Pivot Table"

End Sub