VBA'de normal PivotTable'larla çalışıyorum, ancak son zamanlarda gerçekten beğendiğim Veri Modeli'ni kullanarak özellikle Pivot Tablolarda bazı özellikler buldum - özellikle 'Distinct Count'. Normal bir pivot tabloda, bir dizeyi 'Like' gibi kayıtlar için filtreleyen bir kod var ve mükemmel çalışıyor. Veri Modeli'ni kullanarak bu kodu Pivot Tablosuna nasıl dönüştürebilirim? İşte Veri Modelini kullanarak filtre öğelerini nasıl değiştirebilirim ve Excel PivotTable öğesindeki öğeleri gizlerim?
With ActiveSheet.PivotTables("Metrics").PivotFields("Reference number")
.Orientation = xlPageField
.Position = 1
.EnableMultiplePageItems = True
For i = 1 To .PivotItems.Count
If .PivotItems(i).Name Like "*oran*" Then
.PivotItems(i).Visible = False
End If
Next i
End With
Ben makro kaydedebilir ve Veri Modeli altında elle gösterilecek öğeleri seçmek oluşturulan kod şudur: Bu benim başlığı kulüpler yöndür
ActiveSheet.PivotTables("Metrics").PivotFields("[RawData].[Status].[Status]"). _
VisibleItemsList = Array("[RawData].[Status].&[apple_434]", _
"[RawData].[Status].&[banana_689]", _
"[RawData].[Status].&[orange_1346]", _
"[RawData].[Status].&[orange_1454]")
ama yaşıyorum
With ActiveSheet.PivotTables("Metrics").PivotFields("[RawData].[Status].[Status]")
For i = 0 To UBound(.VisibleItemsList)
If i Like "*oran*" Then
i = ""
Debug.Print i
End If
Next i
End With
çıkış i sayısalsa 0,1,2,3,4 --not metin ve sayılar filtre lis öğe sayısına karşılık görünmüyor: VisibleItemsList Diziyi erişen bazı sorun t. Öğelere nasıl erişeceğimi anlayamıyorum, bu yüzden kod kullanmak istediklerimi gösterebilir veya gizleyebilirim. Dürüst olacağım, dizilerle çok uzun süredir çalışmadım. Verileri filtrelemek için dilimleyiciler kullanarak sona erdim.
VBA olmak zorunda mı? Bu ücretsiz eklentiyi yükleyebilir ve sizin için bunu yapmak için Filtre Listesi özelliğini kullanabilir misiniz? http://olappivottableextend.codeplex.com/wikipage?title=Filter%20List&referringTitle=Home – GregGalloway
http: // dailydoseofexcel adresinde yayınladığım OLAP olmayan bazı filtreleme kodlarına yanıt olarak benzer bir istekte bana ulaşan biri vardı .com/archives/2013/11/14/filtering-pivots-based-on-external-range/ VBA ile başarmak bana çok uzun zaman ve bir sürü hack aldı. Karmaşık joker karakterleri ve özel durumları da işleyen ve çeşitli arama terimleriyle ifade edilen ticari bir eklentiye kod olarak yapıyorum. Http://dailydoseofexcel.com/archives/2015/11/17/filtering-pivottables-with-vba-deselect-slicers-first/ adresindeki gizli önizleme. Daha fazla bilgi edinmek isterseniz buraya bir yorum bırakın. – jeffreyweir
-GregGalloway, VBA olmalı ve eklenti yüklemek için esnekliğe sahip değilim. Eğer yapsaydım, bu bağlantı benim sorunumu çözerdi. Paylaşım için teşekkürler. –