Mükerrer kayıtların önlenebilmesi için

Katılım
17 Mayıs 2007
Mesajlar
41
Excel Vers. ve Dili
Excel 2003
Türkçe
Cari hesap klasörünün içinde 100 den fazla dosya olacak. Bu dosyaların her biri ayrı bir müşteriye ait cari kart. Ve dosya isimleri de kart nuamraları ve müşteri isimlerinden oluşmakta. (101 Volkan Öztürk gibi) Aynı müşteriye farklı kayıt nuamralı iki farklı kart açılmasını engellemek için bi çalışma sayfasına klasör içindeki dosyaların(yani kartların) listesini aldım. Bundan sonra da yapmam gereken şey;

* farklı bir sütuna dosya isimlerinden sadece müşteri isimlerini ayırmak.(İlk üç harfi kesmek gibi.)
* Daha sonra yeni bi kart kaydederken bu sadece müşteri isimlerinin olduğu listeden kontrol edip aynı isme ait ikinci bi kart varsa kaydın engellenmesi.
Yardımcı olan olursa minnettar olurum. Şimdiden teşekkürler
 
Katılım
17 Mayıs 2007
Mesajlar
41
Excel Vers. ve Dili
Excel 2003
Türkçe
unur, sağol teşekkür ederim.

örnekten çözemedim. İstediğim tam olarak şöyle;
"yeni" sayfasında D3 hücresine girdiğim değeri, "liste"sayfasında AC:AC sütünunda arasın. Eğer bulursa(yani aynı isimli başka bi değer varsa) msgboxla beni uyarsın. Bu işlemide kaydet makrosunun başında yapsın. Msgboxa evet dersem makronun diğer işlemlerine devam etsin. hayır dersem işlemi iptal etsin.

Şuraya bunla ilgili iki satır kod yazanın duacısı olurum.Şimdiden teşekkürler
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhabalar.
Aşağıdaki kodlar işinizi görür sanırım.
İyi çalışmalar.:cool:
Kod:
If WorksheetFunction.CountIf(Sheets("liste").Range("AC:AC"), Sheets("yeni").Range("D3").Value) > 0 Then
    If MsgBox("[ " & Sheets("yeni").Range("D3").Value & " ] İsminde zaten bir kayıt Var.Yinede kaydetmek istiyormusunuz..!!", vbYesNo, Application.UserName) = vbNo Then
        Exit Sub
        Else
        '...........................
        '....Buraya Evet tuşuna bastığınızda gerekli kodları yazın.
        '...........................
        '...........................
    End If
End If
 
Katılım
17 Mayıs 2007
Mesajlar
41
Excel Vers. ve Dili
Excel 2003
Türkçe
***WorksheetFunction.CountIf(Sheets("liste").Range("AC:AC"), Sheets("yeni").Range("D3").Value) > 0 Then***

Sezar kardeşim. Kodunu programa uyguladım. Aynı değerlerde bi tepki olmadı. Farklı değerlerde de aynı şekilde tepki yok. Yukarıda yazdığım satırın ne işlem yaptığını açıklarsan benim programa uymayan yerini bulabilirim diye tahmin ediyorum. Veya farklı bi çözüm sunarsan sevinirim..
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
WorksheetFunction.CountIf(Sheets("liste").Range ("AC:AC"), Sheets("yeni").Range("D3").Value) > 0 Then***
Merhaba.
Yukarıdaki kod eğersay formülü.
yeni adlı sayfadaki d3 hücresinde bulunan değeri liste adlı sayfada AC sütunun da arıyor.Eğer ac sütununda varsa mesaj veriyor.
Ben denedim çalışmıştı.
deneyin olmazsa size örnek dosyayı size yollarım.
İyi çalışmalar.:cool:
 
Katılım
17 Mayıs 2007
Mesajlar
41
Excel Vers. ve Dili
Excel 2003
Türkçe
üzgünüm sezar. Olmadı bu yine. Örnek bi dosya rica etsem...
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhaba.
Ekli dosyada Butona tıklayıp makroyu çalıştırınız ve sonucu gözlemleyiniz.:cool:
 
Katılım
17 Mayıs 2007
Mesajlar
41
Excel Vers. ve Dili
Excel 2003
Türkçe
hocam merhaba.
Çok ilginçtir ki olmadı. sizin gönderdiğiniz dosya oldukça güzel çalışıyor. Değişiklikler yaptım yine çalışıyor. Benimkine uyguladım yine tık yok. Tuttum sizin çalışma sayfalarını benim pragrama kopyaladım. İsimleri falan değiştirip taib ki. ama bu sefer sizin kodlarda çalışmadı.

Acaba diyorum, benim çalışma kitabında etkin olmayan bazı denetimelr mi var. Veya başka nneyden olabilir. Siz command button düğmesi ile yapmışsınız. Ben normal bi diktörgene makro atadım. Ondan olabilrmi.
Eğer ondan sa ben bu kodları başka bi makronun içine yerleştireceğim için sorun olmazmı. Zira o mako bi diktörgen şekle bağlantılı olarak çalışıyor.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhaba.
Direk makroyu çalıştırın.
Araçlar => Makro => Makrolar veya alt+F8 e basın makrolar karşınıza çıkacak.
Orada Ara makrosu olması lazım.Ara makrosunu çalıştırınız.
Kolay gelsin.:cool:
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
İyisimi Siz dosyayı yollayın.:cool:
 
Katılım
17 Mayıs 2007
Mesajlar
41
Excel Vers. ve Dili
Excel 2003
Türkçe
Sezar kardeş çok sağol. Benden çok emek sarfettin. Nihayet yapabildim. Sorun d3 hücresinin arama yaptığı AC:AC sütunundaki değerlerin başında boşluk olması imiş. Sonuçta aynı veriyi bulamayınca tepki vermiyor tabi. Neyse. Sakin kafayla düşününce buldum.

Tekrar teşekkür ederim...
 
Üst