• DİKKAT

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

Kaçıncı işlevini kod ile yapma...

Katılım
17 Aralık 2008
Mesajlar
18
Excel Vers. ve Dili
2016-Türkçe
Arkadaşlar elimde 2 sayfadan oluşan bir form var. 1. sayfa konteynerlerin Türkiye ye girişi ile ilgili. 2. sayfada giren konteynerlerin çıkışı ile ilgili. Her konteynerin 1. sayfada giriş numarası var. 2. sayfada da çıkış numarası var.
Benim istediğim 1. sayfadaki (C3) konteyner numarasının olduğu satırın J3 sütununa istediğim bilginin yazılması. 1. sayfadaki (C3) konteyner numarası 2. sayfada C sütununda aranacak. Eğer 2. sayfada aynı konteyner numarası var ise 2 sayfadaki aynı konteyner numarasının olduğu satırdaki (A) çıkış tescil numarası 1. sayfaya J3 sütununa aktarılacak. Yok ise BULUNAMADI ya da YOK gibi bir ibare 1. sayfa J3 sütununa gelecek. Bu dediğim işlem 1. sayfada J3 ile J65500 arasında her satırda olacak. Ben bunu j sütununa kaçıncı işlevi ile yaptım ama dosyamın boyutu 5-6 mb olduğu için kilitleniyor. Bu nedenle kod yazabilecek arkadaşlardan çok acil yardım istiyorum. Kullandığım formül =KAÇINCI(C3;'ÇIKIŞ TESCİL NO KAYIT'!C3:C65502;0) Dosyamın boyutunu düşürüp ekledim. Dosya üzerinden yardımcı olursanız çok memnun olurum.
 

Ekli dosyalar

Son düzenleme:
Merhaba,

Herkes soru başlığını " Acil kod yardımı lütfen... " olarak düzenlese ekran görüntüsü ne olurdu hiç bir tahmininiz var mı?

Lütfen soru başlığını sorunuzu özetleyecek şekilde yazınız ki ilgilenecek kişi incelesin, çözüm üretsin.
 
Necdet bey uyarınız için teşekkür ederim. Gerekli düzeltmeyi yaptım.
 
Arkadaşlar yok mu bu konuda yardımcı olacak birisi. Lütfen bir yol gösterin.
 
Dosyanız ektedir.:cool:
Kod:
Sub tescil_no_59()
Dim sat As Long, sat2 As Long, i As Long, k As Range
Sheets("GİRİŞ TESCİL NO KAYIT").Select
Application.ScreenUpdating = False
Range("J3:J" & Rows.Count).ClearContents
sat = Cells(Rows.Count, "C").End(xlUp).Row
sat2 = Sheets("ÇIKIŞ TESCİL NO KAYIT").Cells(Rows.Count, "C").End(xlUp).Row
If sat2 < 3 Then
    Application.ScreenUpdating = True
    MsgBox "ÇIKIŞ KONTROL SAYFASINDA VERİ YOK!İŞLEM İPTAL OLDU", vbCritical, "U Y A R I"
    Exit Sub
End If
For i = 3 To sat
    Set k = Sheets("ÇIKIŞ TESCİL NO KAYIT").Range("C3:C" & sat2).Find(Cells(i, "C").Value, , xlValues, xlWhole)
    If Not k Is Nothing Then Cells(i, "J").Value = k.Offset(0, -2).Value
Next i
Application.ScreenUpdating = True
MsgBox "İşlem tamamlanmıştır." & vbLf & "evrengizlen@hotmail.com", vbOKOnly + vbInformation

    
End Sub
 

Ekli dosyalar

Evren bey yardımınız için çok teşekkür ederim. Fakat 1. sayfadaki J sütununa sorgulama sonucunda 2. sayfadan gelen çıkış tescil numaraları hatalı gözüküyor. Mesela 1. SAYFA J3 değeri 6588 olmalı. Fakat sizin örnek dosyada değer farklı geliyor.
 
Evren bey yardımınız için çok teşekkür ederim. Fakat 1. sayfadaki J sütununa sorgulama sonucunda 2. sayfadan gelen çıkış tescil numaraları hatalı gözüküyor. Mesela 1. SAYFA J3 değeri 6588 olmalı. Fakat sizin örnek dosyada değer farklı geliyor.
Doğru çalışıyor.
Bakın size dosyayı yolluyorum.
Orada gözüküyor.
 

Ekli dosyalar

Sanırım ben yanlış anlattım size. Evet 2. sayfadaki değeri alıyor. Ama aldığı değer H sütununda. Benim istediğim A sütunundaki numarayı yazması.
 
Sanırım ben yanlış anlattım size. Evet 2. sayfadaki değeri alıyor. Ama aldığı değer H sütununda. Benim istediğim A sütunundaki numarayı yazması.
Pardon ben yanlış anlamışım.Ben başka sütuna bakmışım.:D Dosyayı önceki mesaja güncelledim.
Kolay gelsin.:cool:
 
Evren bey, tamamdır şimdi oldu. Çok ama çok teşekkür ediyorum yardımlarınız için. 1 aydır uğraşıp duruyordum. En sonunda oldu. Çok sağolun.
 
Evren bey, tamamdır ben kodda ufak bir düzeltme yaparak istediğim A sütunundaki değeri almayı becerdim. Düzelttiğim kısım: k.Offset(0, -2).Value sizinkinde 0, 5 idi onu -2 yaoarak merkezden 2 sütun geriye götürdüm. Çok ama çok teşekkür ediyorum yardımlarınız için. 1 aydır uğraşıp duruyordum. En sonunda oldu. Çok sağolun.
Tamam olmuş.
Bende dosyayı önceki yerinde tekrar güncellemiştim.
 
Geri
Üst