Aloha,
Jag har ett ark där jag kan styra en pivotttabell med hjälp av knappar på arket.
Jag väljer med hjälp av en rullknapp vilken vecka som ska visas i tabellen.
Jag har två optionbuttons som styr om jag ska visa en enskild vecka eller visa accumulerade veckor till och med den valda veckan.
Jag skulle behöva hjälp med att skapa någon form av loop eller räknare som kortar ner den här koden (eftersom jag ska bygga ut den med 52 nummer).
Jag har ett ark där jag kan styra en pivotttabell med hjälp av knappar på arket.
Jag väljer med hjälp av en rullknapp vilken vecka som ska visas i tabellen.
Jag har två optionbuttons som styr om jag ska visa en enskild vecka eller visa accumulerade veckor till och med den valda veckan.
Jag skulle behöva hjälp med att skapa någon form av loop eller räknare som kortar ner den här koden (eftersom jag ska bygga ut den med 52 nummer).
Code:
Sub Makro1()
Application.ScreenUpdating = False
Dim Singleweek_or_Accumulated As Integer
Dim Week_number As Integer
Singleweek_or_Accumulated = Range("J27")
' if J27 is = 1 the I will show singel week in the table
' if J27 is = 2 the I will show accumulated weeks in the table
Week_number = Range("J29")
' J29 is the cell where i select the week number
If Singleweek_or_Accumulated = 1 Then
' singel week scenario
With ActiveSheet.PivotTables("Pivottabell5").PivotFields("Week")
.PivotItems("10").Visible = True
.PivotItems("11").Visible = True
.PivotItems("12").Visible = True
.PivotItems("13").Visible = True
.PivotItems("14").Visible = True
.PivotItems("15").Visible = True
End With
With ActiveSheet.PivotTables("Pivottabell5").PivotFields("Week")
Select Case Week_number
Case Is = 10
.PivotItems("10").Visible = True
.PivotItems("11").Visible = False
.PivotItems("12").Visible = False
.PivotItems("13").Visible = False
.PivotItems("14").Visible = False
.PivotItems("15").Visible = False
Case Is = 11
.PivotItems("10").Visible = False
.PivotItems("11").Visible = True
.PivotItems("12").Visible = False
.PivotItems("13").Visible = False
.PivotItems("14").Visible = False
.PivotItems("15").Visible = False
Case Is = 12
.PivotItems("10").Visible = False
.PivotItems("11").Visible = False
.PivotItems("12").Visible = True
.PivotItems("13").Visible = False
.PivotItems("14").Visible = False
.PivotItems("15").Visible = False
Case Is = 13
.PivotItems("10").Visible = False
.PivotItems("11").Visible = False
.PivotItems("12").Visible = False
.PivotItems("13").Visible = True
.PivotItems("14").Visible = False
.PivotItems("15").Visible = False
Case Is = 14
.PivotItems("10").Visible = False
.PivotItems("11").Visible = False
.PivotItems("12").Visible = False
.PivotItems("13").Visible = False
.PivotItems("14").Visible = True
.PivotItems("15").Visible = False
Case Is = 15
.PivotItems("10").Visible = False
.PivotItems("11").Visible = False
.PivotItems("12").Visible = False
.PivotItems("13").Visible = False
.PivotItems("14").Visible = False
.PivotItems("15").Visible = True
End Select
End With
End If
If Singleweek_or_Accumulated = 2 Then
' accumulated weeks scenario
With ActiveSheet.PivotTables("Pivottabell5").PivotFields("Week")
.PivotItems("10").Visible = True
.PivotItems("11").Visible = True
.PivotItems("12").Visible = True
.PivotItems("13").Visible = True
.PivotItems("14").Visible = True
.PivotItems("15").Visible = True
End With
With ActiveSheet.PivotTables("Pivottabell5").PivotFields("Week")
Select Case Week_number
Case Is = 10
.PivotItems("10").Visible = True
.PivotItems("11").Visible = False
.PivotItems("12").Visible = False
.PivotItems("13").Visible = False
.PivotItems("14").Visible = False
.PivotItems("15").Visible = False
Case Is = 11
.PivotItems("10").Visible = True
.PivotItems("11").Visible = True
.PivotItems("12").Visible = False
.PivotItems("13").Visible = False
.PivotItems("14").Visible = False
.PivotItems("15").Visible = False
Case Is = 12
.PivotItems("10").Visible = True
.PivotItems("11").Visible = True
.PivotItems("12").Visible = True
.PivotItems("13").Visible = False
.PivotItems("14").Visible = False
.PivotItems("15").Visible = False
Case Is = 13
.PivotItems("10").Visible = True
.PivotItems("11").Visible = True
.PivotItems("12").Visible = True
.PivotItems("13").Visible = True
.PivotItems("14").Visible = False
.PivotItems("15").Visible = False
Case Is = 14
.PivotItems("10").Visible = True
.PivotItems("11").Visible = True
.PivotItems("12").Visible = True
.PivotItems("13").Visible = True
.PivotItems("14").Visible = True
.PivotItems("15").Visible = False
Case Is = 15
.PivotItems("10").Visible = True
.PivotItems("11").Visible = True
.PivotItems("12").Visible = True
.PivotItems("13").Visible = True
.PivotItems("14").Visible = True
.PivotItems("15").Visible = True
End Select
End With
End If
End Sub