makroda bir veya birden çok değer döndürmek
ID :
1489
ISLEM :
makroda bir veya birden çok değer döndürmek
MAKRO KODU :
bu dosyanın amacı sadece filtre yönetimini genelleştirmek olduğu için başka bir şeye ihtiyaç duymadım.
yani marifet formda değil kodlarda.
Anlaşılan hala anlatım zorluğu çekiyorum.
bu modul tek kriterli olan tüm filtreler için kullanılabilir.
kodlar aynen şöyle
visual basic kodu:
--------------------------------------------------------------------------------
Global adres As String
'excel.web.tr'den
'Bu Makro genel filtre amaçlıdır.
'******************************************************
' AÇIKLAMA
'****************************************************** // Örnekler
'KaynakSayfa : Filrelemenin yapılacağı sayfa // "stok"
'FiltreBaşlığı : Filtrelenmek istenen tablonun başlığı // "A1:C1"
'FiltreAlanı : Filtrenin uygulanacağı alan // 3 "yani c1 hücresi"
'Ölçüt : Büyüklük,küçüklük...(>,<,=,<>..) // "="
'Kriter : Filtrelenen değer // Combobox1.text
'AdresAlanı : Filtre sonucu alınmak istenen verilerin alanı // "A1:B1"
'HedefSayfa : Filtrelenen verilerin kopyalanacağı sayfa // "stok"
'HedefAlan : Filtrelenen verilerin kopyalanacağı alan // "H1:I1"
'NOT:Hata denetim işlemleri henüz yapılmadı
Sub AdresAl(KaynakSayfa, FiltreBaşlığı, Ölçüt, Kriter, AdresAlanı, HedefSayfa, HedefAlan As String, FiltreAlanı As Integer)
Application.ScreenUpdating = False
Sheets(HedefSayfa).Select
Range(Range(HedefAlan), Range(HedefAlan).End(xlDown)).Clear
Sheets(KaynakSayfa).Select
Range(FiltreBaşlığı).AutoFilter
Range(FiltreBaşlığı).AutoFilter Field:=FiltreAlanı, Criteria1:=Ölçüt & Kriter, Operator:=xlAnd
Range(Range(AdresAlanı), Range(AdresAlanı).End(xlDown)).Copy
Sheets(HedefSayfa).Select
Range(HedefAlan).Select
ActiveSheet.Paste
Sheets(KaynakSayfa).AutoFilterMode = False
Application.CutCopyMode = False
adres = HedefSayfa & "!" & Range(Range(HedefAlan), Range(HedefAlan).End(xlDown)).Address
End Sub
--------------------------------------------------------------------------------
kullanmak için
örnek kodlar:
visual basic kodu:
--------------------------------------------------------------------------------
Private Sub ComboBox1_Change()
Call AdresAl("stok", "A1:C1", "=", ComboBox1.Text, "A1:B1", "stok", "H1:I1", 3)
ListBox1.RowSource = adres
End Sub
--------------------------------------------------------------------------------
visual basic kodu:
--------------------------------------------------------------------------------
Private Sub ComboBox2_Change()
Call AdresAl("firma", "A1:C1", "=", ComboBox2.Text, "A1:B1", "firma", "H1:I1", 3)
ListBox2.RowSource = adres
End Sub