• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Sayfalar arası arama yaptırma

  • Konbuyu başlatan Konbuyu başlatan demus35
  • Başlangıç tarihi Başlangıç tarihi
Katılım
1 Nisan 2010
Mesajlar
9
Excel Vers. ve Dili
Excel 2003 Türkçe
Merhaba arkadaşlar,
Öncelikle bu konuyu açmadan önce forumda arama yaptığımı bilmenizi isterim.
Sayfa1 de stok_kodu - isim - barkod1 - barkod2 - barkod3 gibi bir çok sütun bulunmaktadır. Bir stok_kodunda birden fazla barkod bulunuyor. ben sayfa2 de barkod kısmına bir barkod yazdığımda sayfa1 de barkod1 - barkod2 ve barkod3 sütunlarında arama yapıp bulduğunda o satırdaki stok_kodu ve isim bilgilerini yazdırmayı deniyorum. Eğer öyle bir kayıt yoksa HATALI yazmasını istiyorum ama bir türlü beceremedim. Ekte çalışmamı görürsünüz. Oradan daha iyi anlayabilirsiniz.

Yardımcı olursanız çok sevinirim
 

Ekli dosyalar

Merhaba,

Aşağıdaki kodları Sayfa2'nin kod bölümüne kopyalayıp deneyiniz.


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A2]) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub
Dim c As Range
Dim s1 As Worksheet
Set s1 = Sheets("Sayfa1")
Set c = s1.Range("E2:G" & s1.[A65536].End(3).Row).Find(Target.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
    [B2] = s1.Cells(c.Row, "C")
    [C2] = s1.Cells(c.Row, "D")
Else
    [B2] = "BULUNAMADI"
    [C2] = "BULUNAMADI....."
End If
End Sub
 
Öncelikle ilginiz için çok teşekkür ederim. Bu sadece A2 ye yazılanı bulup getiriyor ben bunu birden fazla satır için yapmak istiyorum. Yani altalta 50 tane barkod yazdığımda hepsinin bilgilerini yanına getirtmrk istiyorum. Onu nasıl yapabiliriz.

Birde eğer A sütunu boş ise diğerlerinide temizlemesini istiyorum.

Sanırım isteklerim fazla oldu ama kusuruma bakmayın :)
 
Merhaba,

Sorunuzu daha açıklayıcı yazsaydınız gereksiz yere yazışma olmazdı.
Aşağıdaki kodları yine Sayfa2'nin kod bölümüne kopyalayınız.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
[B][COLOR=red]On Error Goto Son[/COLOR][/B]
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
If Target.Row < 2 Then Exit Sub
If Target.Value = "" Then
    Range("B" & Target.Row & ":C" & Target.Row).ClearContents
    Exit Sub
End If
Dim c As Range
Dim s1 As Worksheet
Set s1 = Sheets("Sayfa1")
Set c = s1.Range("E2:G" & s1.[A65536].End(3).Row).Find(Target.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
    Target.Offset(0, 1) = s1.Cells(c.Row, "C")
    Target.Offset(0, 2) = s1.Cells(c.Row, "D")
Else
    Range("B" & Target.Row & ":C" & Target.Row) = "BULUNAMADI"
End If
[B][COLOR=red]Son:[/COLOR][/B]
End Sub
 
Haklısınız tam anlatamadım. O yüzden kusura bakmayın. Tam istediğim gibi oldu çok teşekkür ederim fakat başka bir excel sayfasından barkodları (15-20 satır) kopyalayıp çalışma sayfamızda barkod kısmına yapıştırdığımda If Target.Value = "" Then bu satırda hata alıyorum. Çözümü varsa sevinirim yoksa bu işimi fazlasıyla görür.

Teşekkürler...
 
bu konuyla alakalı olarak sizden bir yardım talebinde bulunacagim.
ekteki dosyada sayfa1 de a1 ve b1 açılır listeden seçtiklerime gore 2009 sayfasından arama yaparak ebat ve kalınlık bilgisi sayfa1 deki c1 ve d1 hucrelerine nasıl getirilir. ben Necdet ustanın yazdıgı formulasyona göre uyarlama yaptım ama çalıştıramıyorum.


yardımcı olursanız sevinirim. tesekkurler.
 

Ekli dosyalar

Birde Necdet hocam satır sildiğimde de hata alıyorum :(
 
Haklısınız tam anlatamadım. O yüzden kusura bakmayın. Tam istediğim gibi oldu çok teşekkür ederim fakat başka bir excel sayfasından barkodları (15-20 satır) kopyalayıp çalışma sayfamızda barkod kısmına yapıştırdığımda If Target.Value = "" Then bu satırda hata alıyorum. Çözümü varsa sevinirim yoksa bu işimi fazlasıyla görür.

Teşekkürler...

Yukarıdaki kodlar sizin o an veri giriş yapacağınız şeklinde düşünüldüğü için hata alıyorsunuz.

Son durum için mantığı değiştirmek gerekir.

4 nolu mesajımı düzelttim.
 
Necdet hocam çok teşekkür ederim.
 
Geri
Üst