Macro'da DüşeyAra Kullanımı

Aşağıda Excel sayfasından çağrılan Public prosedür ve User Form üzerindeki Combo Box alanda değişiklik olunca çalışan Private prosedür verilmiştir. 

---------------------------------------------------------------------------------------------------------------------------
Formu Gösteren Public Prosedür


















---------------------------------------------------------------------------------------------------------------------------
Sub FormuGoster()    'Excel sayfasından çağrılan Public prosedür. 
 
 'Forma isim veriliyor. 
 UserForm1.Caption = "Satış Girişi"    

 'SayfaAdi değişkenine değer veriliyor. 
 SayfaAdi = "Fiyatlar" 

 'A kolonu son satırı bulunarak A2'den başlayan bu son satırda biten aralık oluşturuluyor. 
 Aralik = "A2:A" & Sheets(SayfaAdi).Range("A" & Rows.Count).End(xlUp).Row  
 
 'Formdaki cmbUrunKodu alanının RowSource satır aralığı belirleniyor. 
 UserForm1.cmbUrunKodu.RowSource = SayfaAdi & "!" & Aralik
 
 'Form görüntüleniyor. 
 UserForm1.Show    

End Sub

---------------------------------------------------------------------------------------------------------------------------
Çağrılan Form
























---------------------------------------------------------------------------------------------------------------------------
Combo Box Alan İşlemleri 




















---------------------------------------------------------------------------------------------------------------------------

Private Sub cmbUrunKodu_Change()        'cmbUrunKodu alanında değişiklik olduğunda çalışıyor. 
 
 Aranan = cmbUrunKodu.Text    'cmbUrunKodu alanındaki değer Aranan değişkenine atanıyor. 
 
 SayfaAdi = "Fiyatlar"
 SonKolon = "D"

 'DüşeyAra fonksiyonunun Aralik parametresi oluşturuluyor. 
 Aralik = "A2:" & SonKolon & Sheets(SayfaAdi).Range(SonKolon & Rows.Count).End(xlUp).Row     

 'Aşağıdaki eşitliğin sol taraflarında Excel DüşeyAra ile birebir parametreler kullanılıyor. 
 UrunAdi.Text = WorksheetFunction.VLookup(Aranan, Sheets(SayfaAdi).Range(Aralik), 2, 0)
 UrunCinsi.Text = WorksheetFunction.VLookup(Aranan, Sheets(SayfaAdi).Range(Aralik), 3, 0)
 FiyatiUSD.Value = WorksheetFunction.VLookup(Aranan, Sheets(SayfaAdi).Range(Aralik), 4, 0)
 
End Sub

---------------------------------------------------------------------------------------------------------------------------
Fiyatlar Sayfası























---------------------------------------------------------------------------------------------------------------------------
Public Prosedür Atanan Formu Göster Düğmesi
























---------------------------------------------------------------------------------------------------------------------------
Form Görüntülenmesi

























---------------------------------------------------------------------------------------------------------------------------
Combo Box Düğmesi Çalışınca 


























Bu blogdaki popüler yayınlar

Power BI'da Yeni Sütun Eklemek

Power BI Kullanımına Giriş

Power BI Üzerinde Fonksiyon Oluşturma ve Kullanma

Kümülatif Toplam

Ağırlıklı Ortalama Hesabı

SQL'de Group By Yaparak Rapor Oluşturmak

SQL'de Birden Fazla Tablodan Listeleme Yapmak

ETarihli Fonksiyonu

Bir Ürünün En Son Tarihli Fiyatının Bulunması