UserForm da Çift kayıdı engelleme

Katılım
13 Kasım 2018
Mesajlar
6
Excel Vers. ve Dili
Office 365 Pro Plus Excel
User formda çift kayıdı engellemek için ne yapmalıyım?
Userformdaki kodlarım bunlar.
Ayrıca Sheet2 sayfasında kontrol yaparken barkodu bulamazsa kod hatası veriyor. Bunun içinde yardımcı olabilir misiniz?



Private Sub CmdCheck_Click()
'Check to see if value exitsts
If Application.WorksheetFunction.CountIf(Sheet2.Range("B:B"), Me.Reg1.Value) = 0 Then
Me.Reg1.Value = ""
MsgBox "The Barcode Invalid!!!"
Exit Sub
End If
'Lookup values based on first control
With Me
.Reg2 = Application.WorksheetFunction.VLookup(CStr(Me.Reg1), Sheet2.Range("Lookup"), 2, 0)
.Reg3 = Application.WorksheetFunction.VLookup(CStr(Me.Reg1), Sheet2.Range("Lookup"), 3, 0)
.Reg4 = Application.WorksheetFunction.VLookup(CStr(Me.Reg1), Sheet2.Range("Lookup"), 4, 0)
.Reg5 = Application.WorksheetFunction.VLookup(CStr(Me.Reg1), Sheet2.Range("Lookup"), 5, 0)
.Reg6 = Application.WorksheetFunction.VLookup(CStr(Me.Reg1), Sheet2.Range("Lookup"), 6, 0)
.Reg7 = Application.WorksheetFunction.VLookup(CStr(Me.Reg1), Sheet2.Range("Lookup"), 7, 0)

MsgBox " The Barcode have not exitsted!!"

End With
End Sub

Private Sub CmdClose_Click()
'Close the UserForm1
Unload Me
End Sub

Private Sub Cmdd_Click()
'Check to see if value exitsts
If Application.WorksheetFunction.CountIf(Sheet2.Range("B:B"), Me.Reg1.Value) > 1 Then
Me.Reg1.Value = ""
MsgBox "The Barcode Already Exitsted!!!"
Exit Sub
End If
'Dim the variables
Dim cNum As Integer
Dim x As Integer
Dim nextrow As Range

'change the number for the number of controls on the userform
cNum = 8
Set nextrow = Sheet2.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0)
For x = 1 To cNum
nextrow = Me.Controls("Reg" & x).Value
Set nextrow = nextrow.Offset(0, 1)
Next
MsgBox "Data Submitted"
'Clear the controls
cNum = 8
For x = 1 To cNum
Me.Controls("Reg" & x).Value = ""
Set nextrow = nextrow.Offset(0, 1)
Next
End Sub
 
Katılım
13 Kasım 2018
Mesajlar
6
Excel Vers. ve Dili
Office 365 Pro Plus Excel
Bu konuda kimse yardımcı olmuyacak mı bana acaba?
 

yanginci34

Altın Üye
Katılım
6 Temmuz 2010
Mesajlar
1,592
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
12-10-2026
Asıl dosyaya uyarlanmış örnek dosya yüklerseniz arkadaşlar yardımcı olacaktır.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Dosyanız benim bilgisayarımda makro hatası verdiğinden makroları deneyemedim maalesef.
Ancak kodları inceledim. Cmddclick kod bloğunda bulunan aşağıdaki kodların mükerrer kaydı önlediğini düşünüyorum.

Kod:
If Application.WorksheetFunction.CountIf(Sheet2.Range("B:B"), Me.Reg1.Value) >= 1 Then
MsgBox "The Barcode Already Exitsted!!"
Exit Sub
Bu kodları CmdCheck_Click kod bloğuna da eklerseniz orda da mükerrerlik kontrolü yapar bence. Yapamasa da mantığının nasıl olduğunu anlayabilirsiniz.
Sheet2 ile ilgili sorduğunuz soruya cevap veremiyorum çünkü örnek dosyanızda sheet2 diye bir sayfa yok maalesef.
 
Katılım
13 Kasım 2018
Mesajlar
6
Excel Vers. ve Dili
Office 365 Pro Plus Excel
Dosyada kayıt yaptığı anda Sheet 2 deki datalarda arama yapsın varsa aynı barkot uyarı versin ve kayıt oluşturmasın istiyorum ben.
Dediğiniz şekilde de yaptım ancak 2 kayıt kontrolünü doğru yapmadı. başka numaradada da Sheet2 de olmayan var diye uyarı verdi.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Sheet2'nin de olduğu bir örnek dosya paylaşırsanız iyi olur.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Öyle olduğunu biz bilemeyiz doğal olarak :)

Bende makrolar çalışmadı maalesef. Onun için açsam da kodları denemeyince bir anlamı yok. Umarım başka arkadaşlar yardımcı olacaktır.
 
Katılım
13 Kasım 2018
Mesajlar
6
Excel Vers. ve Dili
Office 365 Pro Plus Excel
Öyle olduğunu biz bilemeyiz doğal olarak :)

Bende makrolar çalışmadı maalesef. Onun için açsam da kodları denemeyince bir anlamı yok. Umarım başka arkadaşlar yardımcı olacaktır.
Yinede ilgi ve alakanız için teşekkür ederim.
 
Üst