mükerrer engelleme

Katılım
15 Haziran 2008
Mesajlar
300
Excel Vers. ve Dili
Excel-2007 Türkçe
üstatlar merhabalar aşağıdaki kodu bir türlü uyarlayamadım combox1 ve combox3 te mükerrer kayıt girildiğinde işlemi engelleye bilirmiyim

uayrlamay çalıştığım kod aşağıdaki gibidir

Private Sub kaydet_Click()

Sheets("DATA").Select
'durum = True
Dim son, sira As Long
If durum = True Then
son = [a65536].End(3).Row
sira = Cells(son, "a").Value
Cells(son + 1, "a").Select
ActiveCell.Offset(0, 0).Value = sira + 1
VeriVer
ElseIf durum = False Then
VeriVer
Else
Exit Sub
End If

UserForm_Initialize


End Sub

bukonuda yardım edebilirmisiniz
 
Katılım
25 Nisan 2007
Mesajlar
459
Excel Vers. ve Dili
2007
Seçilen kayıtların aynı olmasını soruyorsanız.

if combobox1.value=combobox3.value then exit sub

kodunu yazdığınız kodun başına ekleyiniz.

... Eğer combobox1'in içindeki herhangi bir kayıt combobox3'ün içindeki herhangi bir kayıta eşitse işlem yapmasın istiyorsanız o başka bir kod, sorarsanız söylerim ;)
 
Katılım
15 Haziran 2008
Mesajlar
300
Excel Vers. ve Dili
Excel-2007 Türkçe
SAYIN XXCEL ÖNCELİKLE YARDIMINIZİÇİN ÇOK TEŞEKKÜREDERİM
yazdığım kodda comox1 ve combıox3 ye girdiğim verileri kaydet butonuyla kaydediyorum
combox1 sayfada d sutununa combox3 c stununa kydediyor .yapmak istediğim kaydet butonuna bastığımda bu sütunlarda mükerrer kayıt varsa işlem yapmamasını istiyorum ama birtürlü yapamadım yukarda kullandığım kod kaydet butonunu kodlarıdır
 
Katılım
15 Haziran 2008
Mesajlar
300
Excel Vers. ve Dili
Excel-2007 Türkçe
combox 1 10 karekter girişli 11 karekter girlirse uyrı ve combox3 11 karekter giriş 12 ve ya eksik olursa uyarı vermesini nasıl yapa bilirim
yukardaki soruma bağlı olarak
 
Katılım
15 Haziran 2008
Mesajlar
300
Excel Vers. ve Dili
Excel-2007 Türkçe
Arkadaşlar bu yuakrıdaki
işlemleri yapmam gerekiyor benim için gerçekten çok önemli
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,469
Excel Vers. ve Dili
Office 2010 & 2013 tr
Kod:
Private Sub kaydet_Click()
Sheets("DATA").Select
For i = 1 To [D65536].End(3).Row
If Combobox1.Value = Cells(i, 4) Then
MsgBox "Bu bilgi daha önce kaydedilmiş"
Exit Sub
End If
Next i
'durum = True
Dim son, sira As Long
If durum = True Then
son = [A65536].End(3).Row
sira = Cells(son, "a").Value
Cells(son + 1, "a").Select
ActiveCell.Offset(0, 0).Value = sira + 1
VeriVer
ElseIf durum = False Then
VeriVer
Else
Exit Sub
End If
UserForm_Initialize
End Sub
Syn. Zamenya örnek dosya olmadığı için deneyemedim. Anladığım kadarıyla bir şeyler yapmaya çalıştım.
 
Son düzenleme:
Katılım
15 Haziran 2008
Mesajlar
300
Excel Vers. ve Dili
Excel-2007 Türkçe
SAYIN LEUMRUK İLGİNİZ VE ALAKANIZ İÇİN ÇOK TEŞEŞKKÜRLER
DOSYAYI EKLEDİM
combobox lara öerneğin 10 kerakterden fazla ve ya 10 karekterden az girildiğinde uyarı verdirme imkanı varmı acaba
 

Ekli dosyalar

Katılım
15 Haziran 2008
Mesajlar
300
Excel Vers. ve Dili
Excel-2007 Türkçe
LÜTFEN YARDIM KONU ÜSTE TAŞINSIN DİYE ATIYORUM UKARIDAKİ ÖRNEK DOSYADA COMBOBOX LAR MÜKERRER VERİ GİRİŞİNİ NASIL ENGELLEYEBİLİRİM ,COBOBOXLARIN 10 kerakterden fazla ve ya 10 karekterden az girildiğinde uyarı verdirme imkanı varmı
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
..........................................
 
Son düzenleme:

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,469
Excel Vers. ve Dili
Office 2010 & 2013 tr
LÜTFEN YARDIM KONU ÜSTE TAŞINSIN DİYE ATIYORUM UKARIDAKİ ÖRNEK DOSYADA COMBOBOX LAR MÜKERRER VERİ GİRİŞİNİ NASIL ENGELLEYEBİLİRİM ,COBOBOXLARIN 10 kerakterden fazla ve ya 10 karekterden az girildiğinde uyarı verdirme imkanı varmı
Yukarıda eklediğim kod mükerreri engellemedi mi?
 
Katılım
15 Haziran 2008
Mesajlar
300
Excel Vers. ve Dili
Excel-2007 Türkçe
sayın leumruk yardımınız için gerçekten çok teşekkürler verdiğini kodu denedim ama mükerere girişlerde uayarı veya engelle me yapmamıyor, dosyayı eklemiştim 7. msj da
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,469
Excel Vers. ve Dili
Office 2010 & 2013 tr
Syn. Zamenya,
Açılan userformdan veri girişi yapamıyorum. Combobox1'e veri girip denemek istiyorum; fakat başarılı olamıyorum. Veri girişini nasıl sağlıyorsunuz, biraz açıklar mısınız?
 
Katılım
15 Haziran 2008
Mesajlar
300
Excel Vers. ve Dili
Excel-2007 Türkçe
sayın lumruk veri girişini combobox 1 ve combobox3 girdiğim veriler kaydet butonuyla c ve d sutunlarına kaydediyor .yapmak isteyipte yapamdığım comboboxlara girilen veriler :(örnk coöbobox3 e girdiğim veri sutun c de varsa kaydet butonuna bastığımda uyarı verip ilem yapmaması)yani c ve d sutunlarında mükerrer kayıt varsa engellemsi ve comboboxlra veri girildiğinde girilen veri 10 kerekterden az ve ya fazlaysa uyarı vermesi gibi
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,469
Excel Vers. ve Dili
Office 2010 & 2013 tr
Kod:
Private Sub kaydet_Click()
Sheets("DATA").Select

For i = 1 To [C65536].End(3).Row
If ComboBox1.Value = Cells(i, "C") Then
MsgBox "Bu bilgi daha önce kaydedilmiş"
Exit Sub
End If
Next i

Dim son, sira As Long
If durum = True Then
son = [a65536].End(3).Row
sira = Cells(son, "a").Value
Cells(son + 1, "a").Select
ActiveCell.Offset(0, 0).Value = sira + 1
VeriVer
ElseIf durum = False Then
VeriVer
Else
Exit Sub
End If
Call sıfırısil
UserForm_Initialize

    If ComboBox1 = Empty Or ComboBox3 = Empty Then
    MsgBox "Veri Girişlerinden  birisi boş lütfen kontrol ediniz !", vbCritical
    Exit Sub
        End If

End Sub
Syn. zamenya,
Benim eklediğim kod gayet güzel çalışıyor. İlk msjlarınızda Combobox1 için "D" sütununa başvuruyor yazmışsınız, kodu "D"ye göre düzenlemişim.
Kodu "C" sütununa göre yeniden düzenledim. Muhteşem çalışıyor.
Ben eklediğim kodu açıklayayım: Siz, Combobox3'e göre düzenlersiniz.
Yapacağınız tek işlem, Combobox1 yerine Combobox3 yazmak. Bir de "C"leri uygun sütun başlığıyla değiştirmek.
 
Katılım
15 Haziran 2008
Mesajlar
300
Excel Vers. ve Dili
Excel-2007 Türkçe
sayın leumruk çok teşekkürler yardımınız için ve yazdığıız kod çok güzel çalışıyor galiba bi öncekinde benden kaynaklanan bir hata oldu sizi tekrar uğraştırdığım için özür dilerim
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,469
Excel Vers. ve Dili
Office 2010 & 2013 tr
sayın leumruk çok teşekkürler yardımınız için ve yazdığıız kod çok güzel çalışıyor galiba bi öncekinde benden kaynaklanan bir hata oldu sizi tekrar uğraştırdığım için özür dilerim
Rica ederim. Son isteğinizi deniyorum. Bu tür bir şeyle hiç uğraşmadım. Basit bir şey yapmaya çalışıyorum.
 
Katılım
15 Haziran 2008
Mesajlar
300
Excel Vers. ve Dili
Excel-2007 Türkçe
size nediyemiyeceğimi bilemiyorum gerçekten çok teşekkürler
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,469
Excel Vers. ve Dili
Office 2010 & 2013 tr
Kod:
If ComboBox1 = Empty Or ComboBox3 = Empty Then
MsgBox "Veri Girişlerinden  birisi boş lütfen kontrol ediniz !", vbCritical
Exit Sub
End If
Bu arada bu kodu, benim eklediğim kod kümesinin hemen önüne yerleştirmeniz daha uygun olur. Yoksa pek bir anlamı kalmıyor.

Kodlarınızın en altındaki kısımda.
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,469
Excel Vers. ve Dili
Office 2010 & 2013 tr
Kod:
With [K1].Validation
        .Delete
        .Add Type:=xlValidateTextLength, Formula1:="10", Formula2:="10"
End With
[L1].FormulaR1C1 = "=LEN(RC[-1])"
[K1] = ComboBox1.Value
If [L1] > 9 Then
MsgBox "İzin verilenden fazla karakter girdiniz."
[K1] = ""
[L1] = ""
Exit Sub
End If
Syn. Zamenya,
Bu konu hakkında bilgim olmadığı için kulağımı tersinden tutmuş olabilirim. Ama iş görüyor.
Bu kodu, ilk satırın altına yerleştireceksiniz. Sayfa seçme kodunun altına...
L1 ve K1 hücrelerini kullanarak yaptım. Fakat siz bunu tablonuzdan daha uzak hücrelerle değiştirebilirsiniz. Sadece işlem yaptığında hücreleri kullanıyor. İşlem bittikten sonra hücreleri temizliyor.
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,469
Excel Vers. ve Dili
Office 2010 & 2013 tr
Kod:
Private Sub kaydet_Click()
Sheets("DATA").Select

[COLOR="DarkRed"]With [K1].Validation
        .Delete
        .Add Type:=xlValidateTextLength, Formula1:="10", Formula2:="10"
End With
[L1].FormulaR1C1 = "=LEN(RC[-1])"
[K1] = ComboBox1.Value
If [L1] > 9 Then
MsgBox "İzin verilenden fazla karakter girdiniz."
[K1] = ""
[L1] = ""
Exit Sub
End If[/COLOR]

If ComboBox1 = Empty Or ComboBox3 = Empty Then
MsgBox "Veri Girişlerinden  birisi boş lütfen kontrol ediniz !", vbCritical
Exit Sub
End If

[COLOR="Red"]For i = 1 To [C65536].End(3).Row
If ComboBox1.Value = Cells(i, "C") Then
MsgBox "Bu bilgi daha önce kaydedilmiş"
Exit Sub
End If
Next i[/COLOR]

Dim son, sira As Long
If durum = True Then
son = [a65536].End(3).Row
sira = Cells(son, "a").Value
Cells(son + 1, "a").Select
ActiveCell.Offset(0, 0).Value = sira + 1
VeriVer
[COLOR="red"][K1] = ""
[L1] = ""[/COLOR]
ElseIf durum = False Then
VeriVer
Else
Exit Sub
End If
Call sıfırısil
UserForm_Initialize
End Sub
Kodun son hali bu şekilde olacak. Renkli kısımlar eklenen kodlar.
 
Son düzenleme:
Üst