• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Aynı değer varsa uyarı ver hk.

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

himmgarip

Excel Dostu
Katılım
27 Mar 2021
Mesajlar
797
Çözümler
96
Aldığı beğeni
882
Excel V
Office 2016 TR
Konu Sahibi
Ustalar merhaba hayırlı günler,

Aşağıdaki kod ile sayfanın c sütununda userformdan ürün eklerken mükerrer kayıtları kontrol ettirip aynı değer varsa hata ver diyorum.

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Eğer ki sayfaya elle giriş yaptıktan sonra aynı değeri userformdan girersem mükerrer kayıt yapıyor ve hata vermiyor. Bütün kayıtları userformdan girersem mükerrer kayıt yapamıyorum.

Sayfanın c sütununa elle "elma" yazarsam userformdan da "elma" yazabiliyorum hata vermiyor.
Userformdan "elma"yazarsam ikinci defa "elma" yazdığımda "Eklemek istediğiniz ürün listede var." olarak hata alıyorum.
 
Çözüm
Dosya ektedir.
Farklı bir yöntem ile yapmayı denedim, kontrol eder misiniz?

Kod satırlarımız biraz gereksiz uzuyor ama diğeri gibi hata vermedi.

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Sadece eklediğim alanı burada paylaşıyorum uzun olmasın diye.
İlgili sayfaya elle veri girildiği zaman işlem yapması için ilgili sayfanın kod bölümüne şu kodları ekleyiniz.

Set sh = Sheets("Sayfa1") satırındaki tırnak içinde yazılı olan Sayfa1 ismini, kodu eklediniz sayfa ismi ile değiştiriniz.
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Konu Sahibi
İlgili sayfaya elle veri girildiği zaman işlem yapması için ilgili sayfanın kod bölümüne şu kodları ekleyiniz.

Set sh = Sheets("Sayfa1") satırındaki tırnak içinde yazılı olan Sayfa1 ismini, kodu eklediniz sayfa ismi ile değiştiriniz.
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Burada ki

> 0 Then
> 1 Then

tam anlamı nedir?
 
Burada ki

> 0 Then
> 1 Then

tam anlamı nedir?
Merhaba,
Arkadaş CountIf ile aralıktaki değerleri saydırmış, C sütununa girilen değer birden fazla kez ( >1) kullanılmış ise mesaj ver demiş...
 
Burada ki

> 0 Then
> 1 Then

tam anlamı nedir?
İlk mesajda paylaştığınız kodu kullandım.

CountIf 'in karşılığı Eğersay.

WorksheetFunction.CountIf(sh.Range("C:C"), Target.Value) > 1 satırının karşılığı ise
EĞERSAY(C:C;"Aktif Hücre Değeri")>1

Yazdığınız değeri C sütununda sayar, 1 den büyük ise mesaj çıkar.
İlk mesajda paylaştığınız kod da ise 0 dan büyük ise mesaj çıkar
 
Sanırım 0 ile kayıt yok yeni kayıt işlemi yapıyor, 1 Yaparsan kayıt var. tekrar girmeyi engelle olarak düzelir.
 
Konu Sahibi
Sanırım 0 ile kayıt yok yeni kayıt işlemi yapıyor, 1 Yaparsan kayıt var. tekrar girmeyi engelle olarak düzelir.
@Suskun hocam,

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Me.txt_Product_Name.Value ile eşleşiyorsa kayıt oluşturma diyor zannedersem.

Buradaki 0 tam eşleşme olarak galiba.

Bunu 1 yaparsam hata vermeden aynı isimli kayıt yapıyor.
 
Konu Sahibi
İlk mesajda paylaştığınız kodu kullandım.

CountIf 'in karşılığı Eğersay.

WorksheetFunction.CountIf(sh.Range("C:C"), Target.Value) > 1 satırının karşılığı ise
EĞERSAY(C:C;"Aktif Hücre Değeri")>1

Yazdığınız değeri C sütununda sayar, 1 den büyük ise mesaj çıkar.
İlk mesajda paylaştığınız kod da ise 0 dan büyük ise mesaj çıkar

Buradan şunu anlıyorum.

>0 ise mesaj çıkar;
c sütunundaki hücrelerde "elma" 1 defa kullanılmışsa 2."elma" yazılışında hata verir.

>1 ise mesaj çıkar;
c sütunundaki hücrelerde "elma" 2 defa kullanılabilir 3. "elma" yazılışında hata verir.

Doğru mudur?
 
>1 ile aynı değer ikinci kez yazıldığında mesaj çıkar.
>0 da ise ilk yazıldığında mesaj çıkar.
 
Siz en iyisi dosyayı gönderin bir de biz deneyelim. Böyle sıfır mıydı, bir miydi çok sonuca varabilecek gibi değiliz. Anlaşılıyor ki hata koddan değil farklı bir şeyden kaynaklanıyor.
 
Konu Sahibi
Siz en iyisi dosyayı gönderin bir de biz deneyelim. Böyle sıfır mıydı, bir miydi çok sonuca varabilecek gibi değiliz. Anlaşılıyor ki hata koddan değil farklı bir şeyden kaynaklanıyor.
Yeni Ürün Girişi düğmesine basınca açılan ekranda ekle tuşunda kod.
 
If Application.WorksheetFunction.CountIf(sh.Range("C:C"), Me.txt_Product_Name.Value) >=1 Then şeklinde kullanabilirsiniz.

Me.txt_Product_Name.Value değerini C sütununda sayar, 1 den Büyük ya da 1 e Eşit ise mesaj kısmı çıkar.
 
Konu Sahibi
Hocalarım konu dağıldı bende sorduğumu unutum başka şeylere odaklandım.
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Bu kod çalışıyor problem yok.

Userfordan "Product_Master" sayfasına yapılan kayıtlarda mükerrer kayıt varsa "Eklemek istediğiniz ürün listede var" uyarısını alıp işlem iptal oluyor bunda problem yok.

Problemim şu.
"Product_Master" sayfasına ürünleri elle giriş yaparsam. tekrardan userformdan aynı kaydı girmeyi denersem hata vermeden kayıt ediyor. Halbuki kayıt sütünda zaten var ve hata vermesi lazım.
 
Dosya ektedir.
Farklı bir yöntem ile yapmayı denedim, kontrol eder misiniz?

Kod satırlarımız biraz gereksiz uzuyor ama diğeri gibi hata vermedi.

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Sadece eklediğim alanı burada paylaşıyorum uzun olmasın diye.
 
Son düzenleme:
Çözüm
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst