
Sub dettaglio()
Application.ScreenUpdating = False
Sheets("dettaglio").Select
If Worksheets("Causali").Range("B1001").Value = 1 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Reparto").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Reparto")
.PivotItems("Elettrico _ Termotecnico").Visible = True
.PivotItems("Meccanico").Visible = False
.PivotItems("Gestione manutenzioni").Visible = False
.PivotItems("Magazzino").Visible = False
.PivotItems("Management").Visible = False
End With
If Worksheets("Causali").Range("B1002").Value = 1 Then ' restituzione del collegamento cella della casella a discesa
ActiveSheet.PivotTables("dettaglio").PivotFields("Attività").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Attività")
.PivotItems("Assistenza").Visible = True
.PivotItems("Danneggiamento").Visible = False
.PivotItems("Disfunzione macchina").Visible = False
.PivotItems("Guasto Macchina").Visible = False
.PivotItems("Lavoro di servizio").Visible = False
.PivotItems("Manutenzione ordinaria").Visible = False
.PivotItems("Richiesta d'intervento").Visible = False
.PivotItems("Uso Improprio").Visible = False
.PivotItems("Usura").Visible = False
End With
Else
If Worksheets("Causali").Range("B1002").Value = 2 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Attività").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Attività")
.PivotItems("Assistenza").Visible = False
.PivotItems("Danneggiamento").Visible = True
.PivotItems("Disfunzione macchina").Visible = False
.PivotItems("Guasto Macchina").Visible = False
.PivotItems("Lavoro di servizio").Visible = False
.PivotItems("Manutenzione ordinaria").Visible = False
.PivotItems("Richiesta d'intervento").Visible = False
.PivotItems("Uso Improprio").Visible = False
.PivotItems("Usura").Visible = False
End With
Else
If Worksheets("Causali").Range("b1002").Value = 3 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Attività").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Attività")
.PivotItems("Assistenza").Visible = False
.PivotItems("Danneggiamento").Visible = False
.PivotItems("Disfunzione macchina").Visible = True
.PivotItems("Lavoro di servizio").Visible = False
.PivotItems("Guasto Macchina").Visible = False
.PivotItems("Manutenzione ordinaria").Visible = False
.PivotItems("Richiesta d'intervento").Visible = False
.PivotItems("Uso Improprio").Visible = False
.PivotItems("Usura").Visible = False
End With
Else
If Worksheets("Causali").Range("b1002").Value = 4 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Attività").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Attività")
.PivotItems("Assistenza").Visible = False
.PivotItems("Danneggiamento").Visible = False
.PivotItems("Disfunzione macchina").Visible = False
.PivotItems("Guasto Macchina").Visible = True
.PivotItems("Lavoro di servizio").Visible = False
.PivotItems("Manutenzione ordinaria").Visible = False
.PivotItems("Richiesta d'intervento").Visible = False
.PivotItems("Uso Improprio").Visible = False
.PivotItems("Usura").Visible = False
End With
Else
If Worksheets("Causali").Range("b1002").Value = 5 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Attività").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Attività")
.PivotItems("Assistenza").Visible = False
.PivotItems("Danneggiamento").Visible = False
.PivotItems("Disfunzione macchina").Visible = False
.PivotItems("Guasto Macchina").Visible = False
.PivotItems("Lavoro di servizio").Visible = True
.PivotItems("Manutenzione ordinaria").Visible = False
.PivotItems("Richiesta d'intervento").Visible = False
.PivotItems("Uso Improprio").Visible = False
.PivotItems("Usura").Visible = False
End With
Else
If Worksheets("Causali").Range("b1002").Value = 6 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Attività").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Attività")
.PivotItems("Assistenza").Visible = False
.PivotItems("Danneggiamento").Visible = False
.PivotItems("Disfunzione macchina").Visible = fasle
.PivotItems("Guasto Macchina").Visible = False
.PivotItems("Lavoro di servizio").Visible = False
.PivotItems("Manutenzione ordinaria").Visible = True
.PivotItems("Richiesta d'intervento").Visible = False
.PivotItems("Uso Improprio").Visible = False
.PivotItems("Usura").Visible = False
End With
Else
If Worksheets("Causali").Range("b1002").Value = 7 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Attività").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Attività")
.PivotItems("Assistenza").Visible = False
.PivotItems("Danneggiamento").Visible = False
.PivotItems("Disfunzione macchina").Visible = False
.PivotItems("Lavoro di servizio").Visible = False
.PivotItems("Guasto Macchina").Visible = False
.PivotItems("Manutenzione ordinaria").Visible = False
.PivotItems("Richiesta d'intervento").Visible = False
.PivotItems("Uso Improprio").Visible = False
.PivotItems("Usura").Visible = True
End With
End If
End If
End If
End If
End If
End If
End If
End If
If Worksheets("Causali").Range("B1001").Value = 2 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Reparto").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Reparto")
.PivotItems("Meccanico").Visible = True
.PivotItems("Elettrico _ Termotecnico").Visible = False
.PivotItems("Gestione manutenzioni").Visible = False
.PivotItems("Magazzino").Visible = False
.PivotItems("Management").Visible = False
End With
If Worksheets("Causali").Range("B1001").Value = 2 Then
If Worksheets("Causali").Range("B1002").Value = 1 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Attività").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Attività")
.PivotItems("Assistenza").Visible = True
.PivotItems("Danneggaiamento").Visible = False
.PivotItems("Disfunzione macchina").Visible = False
.PivotItems("Guasto Macchina").Visible = False
.PivotItems("Lavoro di servizio").Visible = False
.PivotItems("Manutenzione ordinaria").Visible = False
.PivotItems("Richiesta d'intervento").Visible = False
.PivotItems("Uso Improprio").Visible = False
.PivotItems("Usura").Visible = False
End With
Else
If Worksheets("Causali").Range("B1002").Value = 2 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Attività").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Attività")
.PivotItems("Assistenza").Visible = False
.PivotItems("Danneggiamento").Visible = True
.PivotItems("Disfunzione macchina").Visible = False
.PivotItems("Guasto Macchina").Visible = False
.PivotItems("Lavoro di servizio").Visible = False
.PivotItems("Manutenzione ordinaria").Visible = False
.PivotItems("Richiesta d'intervento").Visible = False
.PivotItems("Uso Improprio").Visible = False
.PivotItems("Usura").Visible = False
End With
Else
If Worksheets("Causali").Range("b1002").Value = 3 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Attività").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Attività")
.PivotItems("Assistenza").Visible = False
.PivotItems("Danneggiamento").Visible = False
.PivotItems("Disfunzione macchina").Visible = True
.PivotItems("Lavoro di servizio").Visible = False
.PivotItems("Guasto Macchina").Visible = False
.PivotItems("Manutenzione ordinaria").Visible = False
.PivotItems("Richiesta d'intervento").Visible = False
.PivotItems("Uso Improprio").Visible = False
.PivotItems("Usura").Visible = False
End With
Else
If Worksheets("Causali").Range("b1002").Value = 4 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Attività").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Attività")
.PivotItems("Assistenza").Visible = False
.PivotItems("Danneggiamento").Visible = False
.PivotItems("Disfunzione macchina").Visible = False
.PivotItems("Guasto Macchina").Visible = True
.PivotItems("Lavoro di servizio").Visible = False
.PivotItems("Manutenzione ordinaria").Visible = False
.PivotItems("Richiesta d'intervento").Visible = False
.PivotItems("Uso Improprio").Visible = False
.PivotItems("Usura").Visible = False
End With
Else
If Worksheets("Causali").Range("b1002").Value = 5 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Attività").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Attività")
.PivotItems("Assistenza").Visible = False
.PivotItems("Danneggiamento").Visible = False
.PivotItems("Disfunzione macchina").Visible = False
.PivotItems("Guasto Macchina").Visible = False
.PivotItems("Lavoro di servizio").Visible = True
.PivotItems("Manutenzione ordinaria").Visible = False
.PivotItems("Richiesta d'intervento").Visible = False
.PivotItems("Uso Improprio").Visible = False
.PivotItems("Usura").Visible = False
End With
Else
If Worksheets("Causali").Range("b1002").Value = 6 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Attività").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Attività")
.PivotItems("Assistenza").Visible = False
.PivotItems("Danneggiamento").Visible = False
.PivotItems("Disfunzione macchina").Visible = fasle
.PivotItems("Guasto Macchina").Visible = False
.PivotItems("Lavoro di servizio").Visible = False
.PivotItems("Manutenzione ordinaria").Visible = True
.PivotItems("Richiesta d'intervento").Visible = False
.PivotItems("Uso Improprio").Visible = False
.PivotItems("Usura").Visible = False
End With
Else
If Worksheets("Causali").Range("b1002").Value = 7 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Attività").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Attività")
.PivotItems("Assistenza").Visible = False
.PivotItems("Danneggiamento").Visible = False
.PivotItems("Disfunzione macchina").Visible = False
.PivotItems("Lavoro di servizio").Visible = False
.PivotItems("Guasto Macchina").Visible = False
.PivotItems("Manutenzione ordinaria").Visible = False
.PivotItems("Richiesta d'intervento").Visible = False
.PivotItems("Uso Improprio").Visible = True
.PivotItems("Usura").Visible = False
End With
Else
If Worksheets("Causali").Range("b1002").Value = 8 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Attività").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Attività")
.PivotItems("Assistenza").Visible = False
.PivotItems("Danneggiamento").Visible = False
.PivotItems("Disfunzione macchina").Visible = False
.PivotItems("Lavoro di servizio").Visible = False
.PivotItems("Guasto Macchina").Visible = False
.PivotItems("Manutenzione ordinaria").Visible = False
.PivotItems("Richiesta d'intervento").Visible = False
.PivotItems("Uso Improprio").Visible = False
.PivotItems("Usura").Visible = True
End With
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
Application.ScreenUpdating = True
End Sub |
Sub dettaglio()
Application.ScreenUpdating = False
Sheets("dettaglio").Select
If Worksheets("Causali").Range("B1001").Value = 1 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Reparto").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Reparto")
.PivotItems("Elettrico _ Termotecnico").Visible = True
.PivotItems("Meccanico").Visible = False
.PivotItems("Gestione manutenzioni").Visible = False
.PivotItems("Magazzino").Visible = False
.PivotItems("Management").Visible = False
End With
Select Case Worksheets("Causali").Range("b1002").Value
Case Is = 1
Call Mostra_Campi(ActiveSheet.PivotTables("dettaglio").PivotFields("Attività"), "Assistenza")
Case Is = 2
Call Mostra_Campi(ActiveSheet.PivotTables("dettaglio").PivotFields("Attività"), "Danneggiamento")
Case Is = 3
Call Mostra_Campi(ActiveSheet.PivotTables("dettaglio").PivotFields("Attività"), "Disfunzione macchina")
Case Is = 4
Call Mostra_Campi(ActiveSheet.PivotTables("dettaglio").PivotFields("Attività"), "Guasto Macchina")
Case Is = 5
Call Mostra_Campi(ActiveSheet.PivotTables("dettaglio").PivotFields("Attività"), "Lavoro di servizio")
Case Is = 6
Call Mostra_Campi(ActiveSheet.PivotTables("dettaglio").PivotFields("Attività"), "Manutenzione ordinaria")
Case Is = 7
Call Mostra_Campi(ActiveSheet.PivotTables("dettaglio").PivotFields("Attività"), "Uso Improprio")
Case Is = 8
Call Mostra_Campi(ActiveSheet.PivotTables("dettaglio").PivotFields("Attività"), "Usura")
End Select
End If
If Worksheets("Causali").Range("B1001").Value = 2 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Reparto").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Reparto")
.PivotItems("Meccanico").Visible = True
.PivotItems("Elettrico _ Termotecnico").Visible = False
.PivotItems("Gestione manutenzioni").Visible = False
.PivotItems("Magazzino").Visible = False
.PivotItems("Management").Visible = False
End With
Select Case Worksheets("Causali").Range("b1002").Value
Case Is = 1
Call Mostra_Campi(ActiveSheet.PivotTables("dettaglio").PivotFields("Attività"), "Assistenza")
Case Is = 2
Call Mostra_Campi(ActiveSheet.PivotTables("dettaglio").PivotFields("Attività"), "Danneggiamento")
Case Is = 3
Call Mostra_Campi(ActiveSheet.PivotTables("dettaglio").PivotFields("Attività"), "Disfunzione macchina")
Case Is = 4
Call Mostra_Campi(ActiveSheet.PivotTables("dettaglio").PivotFields("Attività"), "Guasto Macchina")
Case Is = 5
Call Mostra_Campi(ActiveSheet.PivotTables("dettaglio").PivotFields("Attività"), "Lavoro di servizio")
Case Is = 6
Call Mostra_Campi(ActiveSheet.PivotTables("dettaglio").PivotFields("Attività"), "Manutenzione ordinaria")
Case Is = 7
Call Mostra_Campi(ActiveSheet.PivotTables("dettaglio").PivotFields("Attività"), "Uso Improprio")
Case Is = 8
Call Mostra_Campi(ActiveSheet.PivotTables("dettaglio").PivotFields("Attività"), "Usura")
End Select
Application.ScreenUpdating = True
End Sub
Sub Mostra_Campi(ByVal oPtFld As PivotField, ByVal sCampo As String)
Dim oPtItm As PivotItem
For Each oPtItm In oPtFld.PivotItems
oPtItm.Visible = True
If oPtItm.Name <> sCampo Then oPtItm.Visible = False
Next oPtItm
End Sub |
Option Explicit
Option Base 1
Sub dettaglio()
Dim sCAMPI(), dVAL As Integer
sCAMPI = Array("Assistenza", "Danneggiamento", "Disfunzione macchina", "Guasto Macchina", "Lavoro di servizio", _
"Manutenzione ordinaria", "Uso Improprio", "Usura")
Application.ScreenUpdating = False
Sheets("dettaglio").Select
dVAL = Worksheets("Causali").Range("B1001").Value
If dVAL = 1 Or dVAL = 2 Then
ActiveSheet.PivotTables("dettaglio").PivotFields("Reparto").CurrentPage = "(All)"
With ActiveSheet.PivotTables("dettaglio").PivotFields("Reparto")
.PivotItems("Elettrico _ Termotecnico").Visible = dVAL = 1
.PivotItems("Meccanico").Visible = dVAL = 2
.PivotItems("Gestione manutenzioni").Visible = False
.PivotItems("Magazzino").Visible = False
.PivotItems("Management").Visible = False
End With
Call Mostra_Campi(ActiveSheet.PivotTables("dettaglio").PivotFields("Attività"), _
sCAMPI(Worksheets("Causali").Range("b1002").Value))
End If
Application.ScreenUpdating = True
End Sub
Sub Mostra_Campi(ByVal oPtFld As PivotField, ByVal sCampo As String)
Dim oPtItm As PivotItem
For Each oPtItm In oPtFld.PivotItems
oPtItm.Visible = oPtItm.Name = sCampo
Next oPtItm
End Sub
|
