Soru İnput Box & Bul Düğmesi

Katılım
5 Ekim 2013
Mesajlar
10
Excel Vers. ve Dili
2007
Merhaba arkadaşlar userform'u ma bul düğmesi ekledim ve düğmeye tıkladığımda inputbox açılıyor, kayıt numarası girilerek "Veriler" sayfasında yer alan verileri tarıyor. Fakat userform açılış sayfası "Ana Sayfa". Ne yaptıysan bul dugmesını verıler sayfasında arattıramadım.
Ancak userformu "Veriler" sayfasında açarsam bul komutu çalışıyor hiçbir sıkıntı yok. Ancak userform Ana sayfada koydugum buton vasıtasıyla calısacak. Bu nedenle Ana sayfada yer alan butonla calıstırdıgımda userformu bul komutu calısmıyor daha dogrusu kayıt bulamıyor.
Kodlarım aşağıdadır.


Kod:
Private Sub bul_Click()
Dim aranan, silsatir As Variant
On Error GoTo Bitir
aranan = InputBox("Lütfen revize etmek istediğiniz projenin Kayıt Numarasını giriniz.", "Proje Revize", "")

Worksheets("Veriler").Range("A:A").Find(aranan).Select



silsatir = ActiveCell.Row
If aranan = "" Then
MsgBox "Herhangi bir giriş yapmadığınız için proje bilgileri getirilmemiştir.", , "Uyarı!"
Else
kayitno.Value = Worksheets("Veriler").Cells(silsatir, 1)
projekaynagi.Value = Worksheets("Veriler").Cells(silsatir, 2)
yonetici.Value = Worksheets("Veriler").Cells(silsatir, 3)
yetkili.Value = Worksheets("Veriler").Cells(silsatir, 4)
ilgilibayi.Value = Worksheets("Veriler").Cells(silsatir, 5)
bolge.Value = Worksheets("Veriler").Cells(silsatir, 6)
tarih.Value = Worksheets("Veriler").Cells(silsatir, 7)
sonuclanmatarihi.Value = Worksheets("Veriler").Cells(silsatir, 9)
anaisveren.Value = Worksheets("Veriler").Cells(silsatir, 10)
projeadi.Value = Worksheets("Veriler").Cells(silsatir, 11)
satisnoktasi.Value = Worksheets("Veriler").Cells(silsatir, 12)
projeil.Value = Worksheets("Veriler").Cells(silsatir, 13)
projedurumu.Value = Worksheets("Veriler").Cells(silsatir, 14)
kacirilmasebebi.Value = Worksheets("Veriler").Cells(silsatir, 15)
urungrubu.Value = Worksheets("Veriler").Cells(silsatir, 16)
urunadi.Value = Worksheets("Veriler").Cells(silsatir, 17)
miktar.Value = Worksheets("Veriler").Cells(silsatir, 18)
birim.Value = Worksheets("Veriler").Cells(silsatir, 19)
kullanilaniskonto.Value = Worksheets("Veriler").Cells(silsatir, 20)
odebirimfiyat.Value = Worksheets("Veriler").Cells(silsatir, 21)
toplamtutar.Value = Worksheets("Veriler").Cells(silsatir, 22)
fiyatlandirmasekli.Value = Worksheets("Veriler").Cells(silsatir, 23)
hedeffiyat.Value = Worksheets("Veriler").Cells(silsatir, 24)
rakipfirma1.Value = Worksheets("Veriler").Cells(silsatir, 25)
rakipurun1.Value = Worksheets("Veriler").Cells(silsatir, 26)
rakipfiyat1.Value = Worksheets("Veriler").Cells(silsatir, 27)
rakipfirma2.Value = Worksheets("Veriler").Cells(silsatir, 28)
rakipurun2.Value = Worksheets("Veriler").Cells(silsatir, 29)
rakipfiyat2.Value = Worksheets("Veriler").Cells(silsatir, 30)
rakipfirma3.Value = Worksheets("Veriler").Cells(silsatir, 31)
rakipurun3.Value = Worksheets("Veriler").Cells(silsatir, 32)
rakipfiyat3.Value = Worksheets("Veriler").Cells(silsatir, 33)
kaynakdurumu.Value = Worksheets("Veriler").Cells(silsatir, 34)
kaynakvadesi.Value = Worksheets("Veriler").Cells(silsatir, 35)

MsgBox kayitno.Value & " No'lu " & projeadi.Value & " projenizdeki bilgiler bulunmuştur.", , "Tamamlandı"
End If

Exit Sub

Bitir: MsgBox "Aradığınız Proje bulunamadı. Lütfen geçerli bir proje kayıt numarası girerek tekrar deneyiniz.", vbCritical, "Uyarı!"


End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Seçmek istediğiniz hücre hangi sayfadaysa o sayfa mutlaka aktif olmalıdır.
Aşağıdaki kod "Veriler" dışında bir sayfadan çalıştırıldığında her zaman hata verecektir.
Kod:
Worksheets("Veriler").Range("A:A").Find(aranan).Select
Aşağıdaki kodlar ile istediğinizi gerçekleştirebilirsiniz.

Kod:
Private Sub bul_Click()
    Dim Aranan As String
    Dim Bulunan As Range
    
    Aranan = InputBox("Lütfen revize etmek istediğiniz projenin Kayıt Numarasını giriniz.", "Proje Revize", "")
    If Aranan = "" Then
        MsgBox "Herhangi bir giriş yapmadığınız için proje bilgileri getirilmemiştir.", , "Uyarı!"
        Exit Sub
    End If
    
    Set Bulunan = Worksheets("Veriler").Range("A:A").Find(Aranan)
    If Bulunan Is Nothing Then
        MsgBox "Aradığınız Proje bulunamadı. Lütfen geçerli bir proje kayıt numarası girerek tekrar deneyiniz.", vbCritical, "Uyarı!"
        Exit Sub
    End If
    
    kayitno.Value = Worksheets("Veriler").Cells(Bulunan.Row, 1)
    projekaynagi.Value = Worksheets("Veriler").Cells(Bulunan.Row, 2)
    yonetici.Value = Worksheets("Veriler").Cells(Bulunan.Row, 3)
    yetkili.Value = Worksheets("Veriler").Cells(Bulunan.Row, 4)
    ilgilibayi.Value = Worksheets("Veriler").Cells(Bulunan.Row, 5)
    bolge.Value = Worksheets("Veriler").Cells(Bulunan.Row, 6)
    tarih.Value = Worksheets("Veriler").Cells(Bulunan.Row, 7)
    sonuclanmatarihi.Value = Worksheets("Veriler").Cells(Bulunan.Row, 9)
    anaisveren.Value = Worksheets("Veriler").Cells(Bulunan.Row, 10)
    projeadi.Value = Worksheets("Veriler").Cells(Bulunan.Row, 11)
    satisnoktasi.Value = Worksheets("Veriler").Cells(Bulunan.Row, 12)
    projeil.Value = Worksheets("Veriler").Cells(Bulunan.Row, 13)
    projedurumu.Value = Worksheets("Veriler").Cells(Bulunan.Row, 14)
    kacirilmasebebi.Value = Worksheets("Veriler").Cells(Bulunan.Row, 15)
    urungrubu.Value = Worksheets("Veriler").Cells(Bulunan.Row, 16)
    urunadi.Value = Worksheets("Veriler").Cells(Bulunan.Row, 17)
    miktar.Value = Worksheets("Veriler").Cells(Bulunan.Row, 18)
    birim.Value = Worksheets("Veriler").Cells(Bulunan.Row, 19)
    kullanilaniskonto.Value = Worksheets("Veriler").Cells(Bulunan.Row, 20)
    odebirimfiyat.Value = Worksheets("Veriler").Cells(Bulunan.Row, 21)
    toplamtutar.Value = Worksheets("Veriler").Cells(Bulunan.Row, 22)
    fiyatlandirmasekli.Value = Worksheets("Veriler").Cells(Bulunan.Row, 23)
    hedeffiyat.Value = Worksheets("Veriler").Cells(Bulunan.Row, 24)
    rakipfirma1.Value = Worksheets("Veriler").Cells(Bulunan.Row, 25)
    rakipurun1.Value = Worksheets("Veriler").Cells(Bulunan.Row, 26)
    rakipfiyat1.Value = Worksheets("Veriler").Cells(Bulunan.Row, 27)
    rakipfirma2.Value = Worksheets("Veriler").Cells(Bulunan.Row, 28)
    rakipurun2.Value = Worksheets("Veriler").Cells(Bulunan.Row, 29)
    rakipfiyat2.Value = Worksheets("Veriler").Cells(Bulunan.Row, 30)
    rakipfirma3.Value = Worksheets("Veriler").Cells(Bulunan.Row, 31)
    rakipurun3.Value = Worksheets("Veriler").Cells(Bulunan.Row, 32)
    rakipfiyat3.Value = Worksheets("Veriler").Cells(Bulunan.Row, 33)
    kaynakdurumu.Value = Worksheets("Veriler").Cells(Bulunan.Row, 34)
    kaynakvadesi.Value = Worksheets("Veriler").Cells(Bulunan.Row, 35)
    
    MsgBox kayitno.Value & " No'lu " & projeadi.Value & " projenizdeki bilgiler bulunmuştur.", , "Tamamlandı"
End Sub
 
Katılım
5 Ekim 2013
Mesajlar
10
Excel Vers. ve Dili
2007
Çok teşekkür ederim emeğinize sağlık çok işime yaradı tek sorunum oydu tamamladım projeyi teşekkür ederim tekrardan.
 
Katılım
5 Ekim 2013
Mesajlar
10
Excel Vers. ve Dili
2007
Bir sorum daha var ama baya bir kaynak aradım fakat oturtturamadım formülü bir türlü.
olusturdugum tablodakı verılere genelliste ismini tanımladım.
Listboxta bunun gözükmesini istiyorum . buraya kadar bir sorunum yok. fakat listem sürekli güncelleneceği için dinamik bir liste oluşturmak istiyorum. Offset formülüyle internetteki araştırmalarımda birkaç çözüm buldum ama formül hep hata verdi.
Yardımcı olabilir misiniz?

Merhaba.
Seçmek istediğiniz hücre hangi sayfadaysa o sayfa mutlaka aktif olmalıdır.
Aşağıdaki kod "Veriler" dışında bir sayfadan çalıştırıldığında her zaman hata verecektir.
Kod:
Worksheets("Veriler").Range("A:A").Find(aranan).Select
Aşağıdaki kodlar ile istediğinizi gerçekleştirebilirsiniz.

Kod:
Private Sub bul_Click()
    Dim Aranan As String
    Dim Bulunan As Range
   
    Aranan = InputBox("Lütfen revize etmek istediğiniz projenin Kayıt Numarasını giriniz.", "Proje Revize", "")
    If Aranan = "" Then
        MsgBox "Herhangi bir giriş yapmadığınız için proje bilgileri getirilmemiştir.", , "Uyarı!"
        Exit Sub
    End If
   
    Set Bulunan = Worksheets("Veriler").Range("A:A").Find(Aranan)
    If Bulunan Is Nothing Then
        MsgBox "Aradığınız Proje bulunamadı. Lütfen geçerli bir proje kayıt numarası girerek tekrar deneyiniz.", vbCritical, "Uyarı!"
        Exit Sub
    End If
   
    kayitno.Value = Worksheets("Veriler").Cells(Bulunan.Row, 1)
    projekaynagi.Value = Worksheets("Veriler").Cells(Bulunan.Row, 2)
    yonetici.Value = Worksheets("Veriler").Cells(Bulunan.Row, 3)
    yetkili.Value = Worksheets("Veriler").Cells(Bulunan.Row, 4)
    ilgilibayi.Value = Worksheets("Veriler").Cells(Bulunan.Row, 5)
    bolge.Value = Worksheets("Veriler").Cells(Bulunan.Row, 6)
    tarih.Value = Worksheets("Veriler").Cells(Bulunan.Row, 7)
    sonuclanmatarihi.Value = Worksheets("Veriler").Cells(Bulunan.Row, 9)
    anaisveren.Value = Worksheets("Veriler").Cells(Bulunan.Row, 10)
    projeadi.Value = Worksheets("Veriler").Cells(Bulunan.Row, 11)
    satisnoktasi.Value = Worksheets("Veriler").Cells(Bulunan.Row, 12)
    projeil.Value = Worksheets("Veriler").Cells(Bulunan.Row, 13)
    projedurumu.Value = Worksheets("Veriler").Cells(Bulunan.Row, 14)
    kacirilmasebebi.Value = Worksheets("Veriler").Cells(Bulunan.Row, 15)
    urungrubu.Value = Worksheets("Veriler").Cells(Bulunan.Row, 16)
    urunadi.Value = Worksheets("Veriler").Cells(Bulunan.Row, 17)
    miktar.Value = Worksheets("Veriler").Cells(Bulunan.Row, 18)
    birim.Value = Worksheets("Veriler").Cells(Bulunan.Row, 19)
    kullanilaniskonto.Value = Worksheets("Veriler").Cells(Bulunan.Row, 20)
    odebirimfiyat.Value = Worksheets("Veriler").Cells(Bulunan.Row, 21)
    toplamtutar.Value = Worksheets("Veriler").Cells(Bulunan.Row, 22)
    fiyatlandirmasekli.Value = Worksheets("Veriler").Cells(Bulunan.Row, 23)
    hedeffiyat.Value = Worksheets("Veriler").Cells(Bulunan.Row, 24)
    rakipfirma1.Value = Worksheets("Veriler").Cells(Bulunan.Row, 25)
    rakipurun1.Value = Worksheets("Veriler").Cells(Bulunan.Row, 26)
    rakipfiyat1.Value = Worksheets("Veriler").Cells(Bulunan.Row, 27)
    rakipfirma2.Value = Worksheets("Veriler").Cells(Bulunan.Row, 28)
    rakipurun2.Value = Worksheets("Veriler").Cells(Bulunan.Row, 29)
    rakipfiyat2.Value = Worksheets("Veriler").Cells(Bulunan.Row, 30)
    rakipfirma3.Value = Worksheets("Veriler").Cells(Bulunan.Row, 31)
    rakipurun3.Value = Worksheets("Veriler").Cells(Bulunan.Row, 32)
    rakipfiyat3.Value = Worksheets("Veriler").Cells(Bulunan.Row, 33)
    kaynakdurumu.Value = Worksheets("Veriler").Cells(Bulunan.Row, 34)
    kaynakvadesi.Value = Worksheets("Veriler").Cells(Bulunan.Row, 35)
   
    MsgBox kayitno.Value & " No'lu " & projeadi.Value & " projenizdeki bilgiler bulunmuştur.", , "Tamamlandı"
End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Rica ederim. İyi çalışmaalr.
 
Üst