• DİKKAT

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

veri doğrulama makro

yuxexes

Altın Üye
Katılım
17 Mayıs 2007
Mesajlar
32
Excel Vers. ve Dili
excel-2016
merhaba;
ben bir hücrede listeleme yapıyorum ve veri doğrulamam var ancak listelemeli veri doğrulamamı yaptıktan sonra ekte sorduğum doğrulamamıda makro ile yapmak istiyorum.
bu konuda yardımlarınızı rica ediyorum.

teşekkürler.
 

Ekli dosyalar

Veri doğrulama ile sorun çözülmüş görünüyor.Niye makro ile istiyorsunuz?Veri doğrulama ile sonuca gitmek makrodan daha hızlıdır.:cool:
İlerleyen zamanlarda veriler çoğaldıkça bunu anlarsınız.Şimdi anlamazsınız.15-20 bin satır dolsun bak o zaman nasıl yavaşlayacak makro.:cool:
Kağnı arabası gibi olacak.:cool:
 
Sayfanın kodlarına aşağıdaki kodları yazıp dener misiniz?
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B3:B65536")) Is Nothing Then Exit Sub
If (WorksheetFunction.CountIf(Range("A:A"), Cells(Target.Row, 1)) > 1 And _
    WorksheetFunction.CountIf(Range("B:B"), Cells(Target.Row, 2)) > 1) Or _
    WorksheetFunction.CountIf(Range("F:F"), Cells(Target.Row, 2)) < 1 Then
MsgBox "OLMAYAN BİR CİHAZ NUMARASI GİRDİNİZ VEYA AYNI TARİHE, AYNI CİHAZ NUMARASI" & vbCrLf & _
        "İLE İKİNCİ KEZ GİRİŞ YAPIYORSUNUZ. SLİPLERDEN SATIŞLARI KONTROL EDİNİZ.", , "DİKKAT"
Target = ""
Target.Activate
End If
End Sub
 
Son düzenleme:
hata verdi

merhaba;
öncelikle ilginize çok teşekkür ederim.
sanırım bir hata yapıyorum yada bir yanlışlık var.
ben sayfanın kod bölümüne yapıştırdım ilettiğiniz kodları ancak ekteki gibi hata veriyor. yardımlarınızı rica ediyorum.

tşk.
 

Ekli dosyalar

teşekkür

merhaba;
size ne kadar teşekkür etsem az. uzun zamandır bu işlem için uğraşıyordum.
çok teşekkür ederim.
 
veri doğrulama makro hata

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B3:B65536")) Is Nothing Then Exit Sub
If (WorksheetFunction.CountIf(Range("A:A"), Cells(Target.Row, 1)) > 1 And _
WorksheetFunction.CountIf(Range("B:B"), Cells(Target.Row, 2)) > 1) Or _
WorksheetFunction.CountIf(Range("F:F"), Cells(Target.Row, 2)) < 1 Then
MsgBox "OLMAYAN BİR CİHAZ NUMARASI GİRDİNİZ VEYA AYNI TARİHE, AYNI CİHAZ NUMARASI" & vbCrLf & _
"İLE İKİNCİ KEZ GİRİŞ YAPIYORSUNUZ. SLİPLERDEN SATIŞLARI KONTROL EDİNİZ.", , "DİKKAT"
Target = ""
Target.Activate
End If
End Sub

merhaba;

doğrulama yaparken aynı tarihe ancı cihaz no girince hata vermesini istiyorum.
ancak başka tarihler girildiğindede aynı hata mesajını veriyor.
yardım edermisiniz lütfen.
 

Ekli dosyalar

lütfen yardım

Arkadaşlar merhaba;
yazılan kodlarda daha doğrusu doğrulamada bir hata var sanırım.
yardımcı olabilecek arkadaş varsa lütfen yardım etsin.
ben ekteki dosyada olduğu gibi biriş bölümünde tarih cihaz no ve tutar giriyorum. ama aynı tarihle aynı cihaz noyu girmesini istemiyorum.
ay nı tarihle aynı cihaz noyu ikinci kez girdiğimde hata versin istiyorum.
aslında ilk satırlarda hata veriyor ama ekteki dosyadada göreceğiniz gibi
ikinci tarihte başka tarihle aynı cihaz noyu girdiğimdede hata veriyor.
mümkünse lütfen yardımcı olun.
şimdiden teşekkür ederim.
 

Ekli dosyalar

Veri doğrulama uygulandı.:cool:
dosyanız ekte.:cool:
 

Ekli dosyalar

kod yazarak

merhaba;
ben cihaz no bölümünde liste çubuğu çıkarak cihaz noların bu şekilde seçilmesini istiyorum.
macro yazarakta aynı tarihe aynı cihaz no girilmesini engellemek istiyorum.
mümkünmü.
dosyada kodlar var bakabilirsin ama bir problem var çözemedim.
 

Ekli dosyalar

merhaba;
ben cihaz no bölümünde liste çubuğu çıkarak cihaz noların bu şekilde seçilmesini istiyorum.
macro yazarakta aynı tarihe aynı cihaz no girilmesini engellemek istiyorum.
mümkünmü.
dosyada kodlar var bakabilirsin ama bir problem var çözemedim.
Niye illaki makro yazarak istiyorsunuz?Benim önceki mesajımda yaptığım veri doğrulama işinizi görmüyormu?Oda istediğinize cevap veriyor.:cool:
 
listeleme

cevap veriyor ancak ben cihaz noyu listeleme olarka seçmek istiyorum.
 
Anladım.Dosyanız ekte.:cool:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A3:B65536")) Is Nothing Then Exit Sub
If (WorksheetFunction.CountIf(Range("A3:A65536"), Cells(Target.Row, 1)) > 1 And _
    WorksheetFunction.CountIf(Range("B3:B65536"), Cells(Target.Row, 2)) > 1) Then
    MsgBox "AYNI TARİHE, AYNI CİHAZ NUMARASI İLE İKİNCİ KEZ GİRİŞ YAPIYORSUNUZ." & vbCrLf & _
    "LÜTFEN SLİPLERDEN SATIŞLARI KONTROL EDİNİZ.", , "McPOS-UYARI"
    Target = ""
    Target.Activate
End If
End Sub
 

Ekli dosyalar

HATA

merhaba;
emeğin için teşekkür ederim.
ama ekte gönderdiğim dosyda 05.01.2009 tarihine 101105 cihaz no girmeye kalkıyorum hata vermemesi lazım ama hata veriyor.
sanada çok zahmet verdim ama çözebilirmisin.
 

Ekli dosyalar

Dosyanız ekte.:cool:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A3:B65536")) Is Nothing Then Exit Sub
On Error GoTo son
If bul(Cells(Target.Row, "A").Value, Cells(Target.Row, "B").Value) > 1 Then
    MsgBox "AYNI TARİHE, AYNI CİHAZ NUMARASI İLE İKİNCİ KEZ GİRİŞ YAPIYORSUNUZ." & vbCrLf & _
    "LÜTFEN SLİPLERDEN SATIŞLARI KONTROL EDİNİZ.", , "McPOS-UYARI"
    Target = ""
    Target.Activate
End If
son:
End Sub
 

Ekli dosyalar

teşekkür

merhaba;
sanırım olmuş gibi görünüyor.
teşekkür ederim. birde birşey sormak istiyorum.
m diye bir macro yazmışsın. bu macronun çalışması gerekiyor sanırım değilmi.
 
merhaba;
sanırım olmuş gibi görünüyor.
teşekkür ederim. birde birşey sormak istiyorum.
m diye bir macro yazmışsın. bu macronun çalışması gerekiyor sanırım değilmi.
Hayır.Çalışması gerekmiyor.Onu silebilirsiniz.:cool:
 
Geri
Üst