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

Macro'yla Borç Alacak Girişi ve Mizanı

ETarihli Fonksiyonu

Kümülatif Toplam

Excel Macro'da Tutar Hesaplamaları

Dinamik Grafik Hazırlanması

Power BI Kullanımına Giriş

Eğer Benzerse

Macro'da For-Next ve If Kullanarak Koşullu Toplam