DONUT PROJECT 2015 - Excel - Report Layout

DONUT PROJECT 2015 - Excel - Report Layout
















O código abaixo dá acesso a melhorarmos a aparência das nossas Tabelas Dinâmicas, acertando os layouts.

Sub PivotReportLayout()
'PURPOSE: Show setup for various Pivot Table Report Layout options

Dim pvt As PivotTable

Set pvt = ActiveSheet.PivotTables("PivotTable1")

'Show in Compact Form
  pvt.RowAxisLayout xlCompactRow

'Show in Outline Form
  pvt.RowAxisLayout xlOutlineRow
  
'Show in Tabular Form
  pvt.RowAxisLayout xlTabularRow
    
End Sub


Ei! Envie seus comentários e sugestões de artigos. Compartilhe este artigo com seus chefes, colegas de trabalho e amigos.


DONUT PROJECT 2015 - Excel - Grand Totals - Inserindo Totais para todas as Colunas e Linhas na Tabela Dinâmica

DONUT PROJECT 2015 - Excel - Grand Totals - Inserindo Totais para todas as Colunas e Linhas na Tabela Dinâmica



Sub PivotGrandTotals()
'PURPOSE: Show setup for various Pivot Table Grand Total options
'SOURCE: www.TheSpreadsheetGuru.com

Dim pvt As PivotTable

Set pvt = ActiveSheet.PivotTables("PivotTable1")

'Off for Rows and Columns
  pvt.ColumnGrand = False
  pvt.RowGrand = False

'On for Rows and Columns
  pvt.ColumnGrand = True
  pvt.RowGrand = True

'On for Rows only
  pvt.ColumnGrand = False
  pvt.RowGrand = True
  
'On for Columns Only
  pvt.ColumnGrand = True
  pvt.RowGrand = False

End Sub



Ei! Envie seus comentários e sugestões de artigos. Compartilhe este artigo com seus chefes, colegas de trabalho e amigos.


DONUT PROJECT 2015 - Excel - Change Pivot Table Data Source Range - Mudando a Fonte de Dados da Tabela Dinâmica

DONUT PROJECT 2015 - Excel - Change Pivot Table Data Source Range - Mudando a Fonte de Dados da Tabela Dinâmica


Este recurso para mudar a fonte de dados é muito importante quando estamos atualizando informações em Dashboards, pois permite alterarmos 'on the fly' o acesso a BUs (Business Units), Regiões, Estados ou mesmo Países diferentes.

Sub ChangePivotDataSourceRange()
'PURPOSE: Change the range a Pivot Table pulls from
'SOURCE: www.TheSpreadsheetGuru.com

Dim sht As Worksheet
Dim SrcData As String
Dim pvtCache As PivotCache

'Determine the data range you want to pivot
  Set sht = ThisWorkbook.Worksheets("Sheet1")
  SrcData = sht.Name & "!" & Range("A1:R100").Address(ReferenceStyle:=xlR1C1)
  
'Create New Pivot Cache from Source Data
  Set pvtCache = ActiveWorkbook.PivotCaches.Create( _
    SourceType:=xlDatabase, _
    SourceData:=SrcData)

'Change which Pivot Cache the Pivot Table is referring to
  ActiveSheet.PivotTables("PivotTable1").ChangePivotCache (pvtCache)

End Sub



Ei! Envie seus comentários e sugestões de artigos. Compartilhe este artigo com seus chefes, colegas de trabalho e amigos.

DONUT PROJECT 2015 - Excel - Refresh Pivot Tables - Aplicando Refresh em Tabelas Dinâmicas

DONUT PROJECT 2015 - Excel - Refresh Pivot Tables - Aplicando Refresh em Tabelas Dinâmicas


Um recurso simplificado é atualizar a Tabela Dinâmica assim que abrir a planilha. Tome cuidado para que uma mensagem seja apresentada ao usuário, assim saberá o que está acontecendo.

Sub RefreshingPivotTables()
'PURPOSE: Shows various ways to refresh Pivot Table Data

'Refresh A Single Pivot Table
  ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
  
'Refresh All Pivot Tables
  ActiveWorkbook.RefreshAll
    
End Sub








Ei! Envie seus comentários e sugestões de artigos. Compartilhe este artigo com seus chefes, colegas de trabalho e amigos.

DONUT PROJECT 2015 - How To Create Partially Anonymous Data - Como Manter Informações parcialmente Anônimas





DONUT PROJECT 2015 - How To Create Partially Anonymous Data - Como Manter Informações parcialmente Anônimas




Às vezes é importante tornar as informações contidas em relatórios e dashboards parcialmente anônimas, mantendo certa confidencialidade e discrição de olhos sem autorização para consulta.

O código abaixo permite-nos aplicar tal restrição:

Sub AnonymizeText()

'PURPOSE: Anonymize a number or text so only certain amount of original characters are showing (used alot with credit card #s)



Dim ShowChars As Integer

Dim AnonymChar As String

Dim SymbolString As String

Dim StringLength As Long

Dim AnonymEnd As Boolean

Dim cell As Range

Dim rng As Range



'Do you want to anonymize begining or end of text (TRUE for end, FALSE for beginning)

  AnonymEnd = False



'Number of characters you want to show

  ShowChars = 4



'Symbol you want to replace original characters

  AnonymChar = "*"



'Range where data is stored

  Set rng = Range("A2:A25")

  

'Loop through each cell and anonymize text

  For Each cell In rng.Cells

    

    StringLength = Len(cell.Value)

    SymbolString = Application.WorksheetFunction.Rept(AnonymChar, StringLength - ShowChars)

    

    If StringLength > ShowChars Then

      'Anonymize ending characters (ie 730*******)

        If AnonymEnd = True Then cell.Value = Left(cell.Value, ShowChars) & SymbolString

      

      'Anonymize beginning characters (ie *******540)

        If AnonymEnd = False Then cell.Value = SymbolString & Right(cell.Value, ShowChars)

     

    End If

  

  Next cell

End Sub


Olha como funciona:




Partially Anonymous String Formula Anonymize Microsoft Excel Data


Não me recordo de pessoalmente ter necessitado do código acima, mas imagino que poderia ser muito útil em áreas como Recursos Humanos, Auditoria, contas a pagar, folha de pagamento, e Tesouraria. Nestes departamentos os analistas geralmente utilizam dados que incluem números de conta, valores, e outras informações pessoais que provavelmente não devam ser mostrados fora do respectivo departamento.


Ei! Envie seus comentários e sugestões de artigos. Compartilhe este artigo com seus chefes, colegas de trabalho e amigos.

DONUT PROJECT 2015 - Excel - Clear Report Filter - Limpando o Filtro da Tabela Dinâmica

DONUT PROJECT 2015 - Excel - Clear Report Filter - Limpando o Filtro da Tabela Dinâmica
































Sub ClearReportFiltering()
'PURPOSE: How to clear the Report Filter field

Dim pf As PivotField

Set pf = ActiveSheet.PivotTables("PivotTable2").PivotFields("Fiscal_Year")

'Option 1: Clear Out Any Previous Filtering
  pf.ClearAllFilters
  
'Option 2: Show All (remove filtering)
  pf.CurrentPage = "(All)"

End Sub


Ei! Envie seus comentários e sugestões de artigos. Compartilhe este artigo com seus chefes, colegas de trabalho e amigos.

DONUT PROJECT 2015 - Excel - Report Filter On Multiple Items - Criando Filtros Múltiplos na Tabela Dinâmica

DONUT PROJECT 2015 - Excel - Report Filter On Multiple Items - Criando Filtros Múltiplos na Tabela Dinâmica



Sub ReportFiltering_Multiple()
'PURPOSE: Filter on multiple items with the Report Filter field
'SOURCE: www.TheSpreadsheetGuru.com

Dim pf As PivotField

Set pf = ActiveSheet.PivotTables("PivotTable2").PivotFields("Variance_Level_1")

'Clear Out Any Previous Filtering
  pf.ClearAllFilters

'Enable filtering on multiple items
    pf.EnableMultiplePageItems = True
    
'Must turn off items you do not want showing
    pf.PivotItems("Jan").Visible = False
    pf.PivotItems("Feb").Visible = False
    pf.PivotItems("Mar").Visible = False

End Sub


Ei! Envie seus comentários e sugestões de artigos. Compartilhe este artigo com seus chefes, colegas de trabalho e amigos.

DONUT PROJECT 2015 - Excel - Report Filter On A Single Item - Criando Filtro de Relatório na Tabela Dinâmica

DONUT PROJECT 2015 - Excel - Report Filter On A Single Item - Criando Filtro de Relatório na Tabela Dinâmica























Filtrando um item em um campo.

Sub ReportFiltering_Single()
'PURPOSE: Filter on a single item with the Report Filter field

Dim pf As PivotField

Set pf = ActiveSheet.PivotTables("PivotTable2").PivotFields("Fiscal_Year")

'Clear Out Any Previous Filtering
  pf.ClearAllFilters

'Filter on 2014 items
  pf.CurrentPage = "2014"

End Sub


Ei! Envie seus comentários e sugestões de artigos. Compartilhe este artigo com seus chefes, colegas de trabalho e amigos.

DONUT PROJECT 2015 - Excel - Remove Calculated Pivot Fields - Removendo Campos Calculados da Tabela Dinâmica

DONUT PROJECT 2015 - Excel - Remove Calculated Pivot Fields - Removendo Campos Calculados da Tabela Dinâmica


Sub RemoveCalculatedField()
' Remove a calculated field from a pivot table

Dim pvt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem

'Set Variable to Desired Pivot Table
  Set pvt = ActiveSheet.PivotTables("PivotTable1")

'Set Variable Equal to Desired Calculated Data Field
  For Each pf In pvt.DataFields
    If pf.SourceName = "Inflation" Then Exit For
  Next

'Hide/Remove the Calculated Field
  pf.DataRange.Cells(1, 1).PivotItem.Visible = False
End Sub

Ei! Envie seus comentários e sugestões de artigos. Compartilhe este artigo com seus chefes, colegas de trabalho e amigos.