Excel ve VBA'yı kullanarak, bir dizideki (yalnızca bir pivot tabloya benzer bir şekilde) verileri en iyi şekilde nasıl filtreleyeceğiniz konusunda biraz öneride bulunmak istedim. Şu anda var olan verilere dayanarak bazı veri kararları verecek olan bir UserForm oluşturuyorum. Bunu yeterince iyi yapabildiğimi hayal edebilirim, ancak VBA programcılığında bu kadar iyi değilim. İşte Excel'de 2B Dizilerin Filtrelenmesi VBA
bir Array verileri kapmak için bir örnekA B C
bob 12 Small
sam 16 Large
sally 1346 Large
sam 13 Small
sally 65 Medium
bob 1 Medium
, ben şimdi
Dim my_array As Variant
my_array = Range("A1").CurrentRegion
kullanabilirsiniz, ben 2D diziler arasında döngü aşina değilim, ama merak ettim: Ne 2B dizi verilerini filtrelemenin en etkili yolu (dizi zamanı boyunca tekrar ve tekrar olmadan)?
data_for_sally As Variant 'rows with sally as name in ColA
data_for_sally_less_than_ten As Variant ' all rows with sally's name in ColA and colB < 10
data_for_all_mediums as Variant ' all rows where ColC is Medium
Öneriler: bu tür verileri almak demek
Örneğin, nasıl olacağını alabilirim? Bunu bir dizi özel işlev ve döngü ile halledebilirdim ama daha iyi bir yol olması gerektiğini düşündüm. Teşekkürler.
Not deneyin 4 örnek bir filtre ama bir olmadığını Dizide, muhtemelen farklı bir cevaba yol açacak operasyon. – assylias
VBA'da döngü/özel işlevler olmadan mümkün olmadığından emin olun. Başka dillerde deneyim sahibi olduğunu söylüyorsunuz, VSTO/.NET emilimini düşündünüz mü sonra LINQ kullanıyorsunuz? –
VBA'daki bu tür bir şey için bağlantısız bir ADO kayıt seti kullanırdım. Bu size sıralama ve filtreleme sağlar. –