Hej Nordstjärna
Antar att det är ett filter du vill använda för detta?
I pivottabellfilter så måste alltid ett filter vara synligt, annars så får du körfel. Detta gör det svårt att kunna släcka alla andra item i filtret, jag valde att lösa detta med att först sortera din lista, därefter göra sista föremålet i ditt index synligt, för att på slutet, släcka det igen.
Att du fick körfel tidigare har dock inte med ovan att göra, utan troligtvis för att du försökte hämta Item med en integer. Detta innebär att du försöker hämta med index och inte med namn. Har du inte 43 eller fler items i ditt filter så finns inte index 43. Vill du jämföra med itemets namn så måste du först typkonvertera veckonummer till en sträng.
a = cstr(43)
Nedan kod filtrerar enligt ditt önskemål om jag förstått dig korrekt, läs kommentarerna i koden och åtgärda dem.
mvh
Christian
Sub test()
Dim PF As PivotField
'Byt ut allt inom citationstecken så att det stämmer med din data
Set PF = Sheets("blad2").PivotTables("Pivottabell1").PivotFields("1")
Dim PI As PivotItem
Dim a As String, b As String
'byt ut hund6 och 1 så att det stämmer med det du har,
'Använd varianten för variabeln b
a = CStr("hund6")
b = CStr(1)
PF.AutoSort 1, PF.Name
PF.PivotItems(PF.PivotItems.Count).Visible = True
For Each PI In PF.PivotItems
If PI.Name = a Or PI.Name = b Then
PI.Visible = True
Else
PI.Visible = False
End If
Next PI
End Sub