• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

değişken için birden çok değer tanımlama

  • Konbuyu başlatan Konbuyu başlatan fasulye
  • Başlangıç tarihi Başlangıç tarihi
Katılım
26 Temmuz 2005
Mesajlar
34
Excel Vers. ve Dili
Excel 2010 - İngilizce
Excel 2010 - Türkçe
Merhaba,

Ne şekilde yapılacağını bulamadım, yardımlarınızı rica ederim,

Aşağıdaki örnekte verdiğim değişkenlere bir sayı listesi tanımlamak istiyorum.
Elimde 600 adet müşteri numarası var, örneğin değişken1 avrupa bölgesini içerecek, değişken1 seçildiğinde avrupa bölgesindeki tüm müşteriler filtrelenecek.
Tek tek müşteri numaralarına değişken tanımlamak yerine belli bir kümeyi değişken1 olarak tanımlamak istiyorum.
Mümkün müdür?

yardımlarızı rica ederim.


Private Sub CommandButton1_Click()

If CheckBox1.Value = True Then
değişken1 = "232"
değişken3 = "1"
End If
If CheckBox2.Value = True Then
değişken2 = "45"
End If

ActiveSheet.Range("$H$1:$L$5").AutoFilter Field:=1, Criteria1:=Array(değişken1, _
değişken2, değişken3), Operator:=xlFilterValues

End Sub
 
Başka bir yabancı siteden bulduğum bir açıklama;


Kümeyi aşağıdaki şekilde tanımlayınız.

Code:

Kod:
strCritAry = Array("Data1","Data2","Data3")

Değişkenler içinden seçim yapmak isterseniz.

Code:

Kod:
Criteria1:=Array(strCritAry(0), strCritAry(2))

Filtrede tümünü kullanmak için,

Code:

Kod:
Criteria1:=strCritAry
 
Merhaba sayın Asri,
verdiğiniz bilgi için çok teşekkür ederim,
ancak tam olrak nasıl kullancağımı tespit edemedim,

strCritAry(anadolubolgesi) = Array("12","15","45")

şeklinde kullandığımda

Compile error:
Sub or Function not defined

uyarısı veriyor.

acaba deneyen yada çözüm bulan var mıdır?
 
Deneyiniz..

Kod:
anadolubolgesi = Array("12","15","45")
 
Teşekkürler Korhan Bey,
Geçen hafta cevap verdiğiniz bir sorunun devamı aslında.


Değişken tanımlamasını bitirince Type Mismatch hatası veriyor.

Sanırım değişkeni Array olarak tanımlayınca, autofilter içinde criteria1:=Array kısmında sorun veriyor.

ActiveSheet.Range("$A$1:$P$6000").AutoFilter Field:=13, Criteria1:=Array(anadolubolgesi, avrupabolgesi, güneydoğubölgesi, marmarabölgesi, trakyabölgesi), Operator:=xlFilterValues
End Sub


Burada bir çözüm yoksa; text dosyası üzerinden çekmeyi deneyeceğim.
 
Teşekkürler Korhan Bey,
Geçen hafta cevap verdiğiniz bir sorunun devamı aslında.


Değişken tanımlamasını bitirince Type Mismatch hatası veriyor.

Sanırım değişkeni Array olarak tanımlayınca, autofilter içinde criteria1:=Array kısmında sorun veriyor.

ActiveSheet.Range("$A$1:$P$6000").AutoFilter Field:=13, Criteria1:=Array(anadolubolgesi, avrupabolgesi, güneydoğubölgesi, marmarabölgesi, trakyabölgesi), Operator:=xlFilterValues
Burada bir çözüm yoksa; text dosyası üzerinden çekmeyi deneyeceğim.

Burada Array kullanmadan

Kod:
ActiveSheet.Range("$A$1:$P$6000").AutoFilter Field:=13, Criteria1:=Array(anadolubolgesi, avrupabolgesi, güneydoğubölgesi, marmarabölgesi, trakyabölgesi), Operator:=xlFilterValues

Bu şekilde dener misiniz?
Kod:
ActiveSheet.Range("$A$1:$P$6000").AutoFilter Field:=13, Criteria1:=anadolubolgesi, Operator:=xlFilterValues

Ayrıca denemedim ama aşağıdaki şekilde de dener misiniz?

Kod:
ActiveSheet.Range("$A$1:$P$6000").AutoFilter Field:=13, Criteria1:=anadolubolgesi, avrupabolgesi, güneydoğubölgesi, marmarabölgesi, trakyabölgesi, Operator:=xlFilterValues
 
Filtre uygulamasında dizileri birleştirme işlemi için ekteki dosyayı inceleyiniz.
 

Ekli dosyalar

Sayın Asri, Sayın Koray Bey,
yardımlarınız için çok teşekkürler,
sayın Asri,
verdiğiniz formülü deneme fırsatım henüz olmadı, olduğunda buradan bildireceğim,
Sayın Koray Bey,
ek dosya gayet güzel çalışıyor, kendi verilerime göre düzenlemeye çalışacağım,

Çok çok teşekkürler,
İyi akşamlar.
 
Geri
Üst