- Katılım
- 15 Mart 2005
- Mesajlar
- 42,767
- Excel Vers. ve Dili
- Microsoft 365 Tr-En 64 Bit
Selam arkadaşlar,
Forumdan aldığım büyük destekle hazırladığım "ADİSYON ZİMMETLEME" programında son bir ayarlama yapmam gerekiyor. Zimmet yaptığım kişi işten ayrıldığı zaman üzerinde zimmetli bulunan kullanılmamış adisyonları seri aralığı belirterek silmek istiyorum. Bunula ilgili Sn. leventm beyin verdiği aşağıdaki kodları kullanarak bu işlemi gerçekleştirdim. Fakat küçük bir sorunum oluştu.
On Error GoTo 10
İLK = [E1:E65536].Find(TextBox6.Value).Row
SON = [E1:E65536].Find(TextBox7.Value).Row
Rows(İLK & ":" & SON).Delete
Ãöyleki;
Textbox6 da aşağıdaki kodlarım var.
Private Sub TextBox6_Exit(ByVal Cancel As MSForms.ReturnBoolean)
On Error GoTo 10
If TextBox6 = "" Then
Cancel = False
TextBox6.BackColor = vbWhite
Exit Sub
End If
Dim ARA As Range
Sheets("ZİMMET").Select
For Each ARA In Range("E2:E" & WorksheetFunction.CountA(Range("E1:E65536")))
If StrConv(ARA.Value, vbUpperCase) = StrConv(TextBox6.Value, vbUpperCase) Then
SATIR = Sheets("ZİMMET").[E2:E65536].Find(TextBox6.Value).Row
TextBox2 = Sheets("ZİMMET").Cells(SATIR, 3).Value
TextBox3 = Sheets("ZİMMET").Cells(SATIR, 4).Value
TextBox4 = Sheets("ZİMMET").Cells(SATIR, 6).Value
TextBox5 = Sheets("ZİMMET").Cells(SATIR, 7).Value
TextBox6.BackColor = vbWhite
Exit Sub
End If
Next ARA
10 MsgBox ("Girdiğiniz kayıt numarası bulunamamıştır."), vbExclamation, "DİKKAT !"
Cancel = True
TextBox1 = Date
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox6.SetFocus
TextBox6.BackColor = vbYellow
End Sub
Üstteki kodlarda Textbox6 ya girilen adisyon numarasını arıyor bulduğunda kişiye ait bilgileri diğer textboxlara getiriyor. Eğer bulamazsa uyarı veriyor.
Textbox7 de aşağıdaki kodlarım var.
Private Sub TextBox7_Exit(ByVal Cancel As MSForms.ReturnBoolean)
On Error GoTo 10
If TextBox7 = "" Then
Cancel = False
TextBox7.BackColor = vbWhite
Exit Sub
End If
Dim ARA As Range
Sheets("ZİMMET").Select
For Each ARA In Range("E2:E" & WorksheetFunction.CountA(Range("E1:E65536")))
If StrConv(ARA.Value, vbUpperCase) = StrConv(TextBox7.Value, vbUpperCase) Then
SATIR = Sheets("ZİMMET").[E2:E65536].Find(TextBox6.Value).Row
TextBox2 = Sheets("ZİMMET").Cells(SATIR, 3).Value
TextBox3 = Sheets("ZİMMET").Cells(SATIR, 4).Value
TextBox4 = Sheets("ZİMMET").Cells(SATIR, 6).Value
TextBox5 = Sheets("ZİMMET").Cells(SATIR, 7).Value
TextBox7.BackColor = vbWhite
Exit Sub
End If
Next ARA
10 MsgBox ("Girdiğiniz kayıt numarası bulunamamıştır."), vbExclamation, "DİKKAT !"
Cancel = True
TextBox7 = ""
TextBox7.SetFocus
TextBox7.BackColor = vbYellow
End Sub
Textbox7 ye ait kodlarda şu işlemi nasıl yaptırabilirim.
Textbox6 ya girdiğim değere göre Textbox7 ye girdiğim değeri "ZİMMET" sayfasında "E" sütununda arayacak aynı zamanda Textbox6 daki değerle aynı kişiye ait olup olmadığını denetleyecek. Eğer Textbox7 deki değer farklı bir kişiye aitse uyarı versin istiyorum. Ayrıca Textbox7 deki değer "ZİMMET" sayfasında "E" sütununda yoksa yine uyarı versin. Bunun nedeni ise silme işleminde olabilecek yanlışlıklara bir nebze olsun engel olabilmek. Kodlarda birkaç değişiklik yapıp denedim ama olmadı.
Yardımlarınızı bekliyorum.
İyi çalışmalar dilerim. :hey:
Forumdan aldığım büyük destekle hazırladığım "ADİSYON ZİMMETLEME" programında son bir ayarlama yapmam gerekiyor. Zimmet yaptığım kişi işten ayrıldığı zaman üzerinde zimmetli bulunan kullanılmamış adisyonları seri aralığı belirterek silmek istiyorum. Bunula ilgili Sn. leventm beyin verdiği aşağıdaki kodları kullanarak bu işlemi gerçekleştirdim. Fakat küçük bir sorunum oluştu.
On Error GoTo 10
İLK = [E1:E65536].Find(TextBox6.Value).Row
SON = [E1:E65536].Find(TextBox7.Value).Row
Rows(İLK & ":" & SON).Delete
Ãöyleki;
Textbox6 da aşağıdaki kodlarım var.
Private Sub TextBox6_Exit(ByVal Cancel As MSForms.ReturnBoolean)
On Error GoTo 10
If TextBox6 = "" Then
Cancel = False
TextBox6.BackColor = vbWhite
Exit Sub
End If
Dim ARA As Range
Sheets("ZİMMET").Select
For Each ARA In Range("E2:E" & WorksheetFunction.CountA(Range("E1:E65536")))
If StrConv(ARA.Value, vbUpperCase) = StrConv(TextBox6.Value, vbUpperCase) Then
SATIR = Sheets("ZİMMET").[E2:E65536].Find(TextBox6.Value).Row
TextBox2 = Sheets("ZİMMET").Cells(SATIR, 3).Value
TextBox3 = Sheets("ZİMMET").Cells(SATIR, 4).Value
TextBox4 = Sheets("ZİMMET").Cells(SATIR, 6).Value
TextBox5 = Sheets("ZİMMET").Cells(SATIR, 7).Value
TextBox6.BackColor = vbWhite
Exit Sub
End If
Next ARA
10 MsgBox ("Girdiğiniz kayıt numarası bulunamamıştır."), vbExclamation, "DİKKAT !"
Cancel = True
TextBox1 = Date
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox6.SetFocus
TextBox6.BackColor = vbYellow
End Sub
Üstteki kodlarda Textbox6 ya girilen adisyon numarasını arıyor bulduğunda kişiye ait bilgileri diğer textboxlara getiriyor. Eğer bulamazsa uyarı veriyor.
Textbox7 de aşağıdaki kodlarım var.
Private Sub TextBox7_Exit(ByVal Cancel As MSForms.ReturnBoolean)
On Error GoTo 10
If TextBox7 = "" Then
Cancel = False
TextBox7.BackColor = vbWhite
Exit Sub
End If
Dim ARA As Range
Sheets("ZİMMET").Select
For Each ARA In Range("E2:E" & WorksheetFunction.CountA(Range("E1:E65536")))
If StrConv(ARA.Value, vbUpperCase) = StrConv(TextBox7.Value, vbUpperCase) Then
SATIR = Sheets("ZİMMET").[E2:E65536].Find(TextBox6.Value).Row
TextBox2 = Sheets("ZİMMET").Cells(SATIR, 3).Value
TextBox3 = Sheets("ZİMMET").Cells(SATIR, 4).Value
TextBox4 = Sheets("ZİMMET").Cells(SATIR, 6).Value
TextBox5 = Sheets("ZİMMET").Cells(SATIR, 7).Value
TextBox7.BackColor = vbWhite
Exit Sub
End If
Next ARA
10 MsgBox ("Girdiğiniz kayıt numarası bulunamamıştır."), vbExclamation, "DİKKAT !"
Cancel = True
TextBox7 = ""
TextBox7.SetFocus
TextBox7.BackColor = vbYellow
End Sub
Textbox7 ye ait kodlarda şu işlemi nasıl yaptırabilirim.
Textbox6 ya girdiğim değere göre Textbox7 ye girdiğim değeri "ZİMMET" sayfasında "E" sütununda arayacak aynı zamanda Textbox6 daki değerle aynı kişiye ait olup olmadığını denetleyecek. Eğer Textbox7 deki değer farklı bir kişiye aitse uyarı versin istiyorum. Ayrıca Textbox7 deki değer "ZİMMET" sayfasında "E" sütununda yoksa yine uyarı versin. Bunun nedeni ise silme işleminde olabilecek yanlışlıklara bir nebze olsun engel olabilmek. Kodlarda birkaç değişiklik yapıp denedim ama olmadı.
Yardımlarınızı bekliyorum.
İyi çalışmalar dilerim. :hey: