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

Eğer Benzerse

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

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

Macro'yla Excel'den Bölgesel Satış PDF Dosyaları Oluşturulması

Macro'yla Excel'e İçinde Yazı Bulunan Şekil Eklenmesi

Bir Fatura İle İlgili Alınan Ödemelerin Macro'yla Listelenmesi

Kümülatif Toplam

İlk SQL Sorgu Cümlelerimiz

Çıktının Her Sayfasının Başında ve Sol Kolonunda Tablonun İlk Satırının ve İlk Kolonunun Görüntülenmesi