Girilen numaranın kontrolunü sağlama

Katılım
19 Ocak 2008
Mesajlar
49
Excel Vers. ve Dili
2003 türkçe
Üstadlar forumdan albildiğim bilgiler saysende bu kadar yapabildim bundan sonrası için yardımlarınızı bekliyorum.gerkli açıklamayı not deftrine ilave ettim.
Hepinize şimdiden teşekkürler:yardim:
 
Katılım
19 Ocak 2008
Mesajlar
49
Excel Vers. ve Dili
2003 türkçe
Uzman arkdaşalar yardımlarınızı bekliyorum

Arkadaşlar yardımlarınızı dört gözle bekliyorum
 
Katılım
19 Ocak 2008
Mesajlar
49
Excel Vers. ve Dili
2003 türkçe
İlginiz için teşekkür ederim.

Şayet sizi sıkmayacaksm konuları tek tek ele almak isterim;
Ben tamire tutulan ve tamirden çıkan vagonları kayıt altına almak,takip etmek istiyorum.
vagon numaralarımızın bir satndartı ve konturölü var,şöyleki;
Örnek: 81756650031-7 bu vag.numarasının altına treye kadar 2-1-2-1-2-1şeklinde 8'den bşlayıp 1'e kadar altına yazılır.8'in altına 2 gelir ve 8x2=16 altına yazılır.Diğer rakamlar içinde aynısı geçerli.
8 1 7 5 6 6 5 0 0 3 1
2 1 2 1 2 1 2 1 2 1 2
------------------------------------------------
16- 1-14-5 -12-6-10-0-0-3-2=33 Bu çıkan rakamlar basamak değerine bakılmaksızın tek tek toplanır ve çıkan sonuçu(33)onluk bir üst sayıya yani 40 yapmak için 7 lazım bizim vagon numarasındaki - sonraki 7 (42 ise50'ye-56 ise 60 vb.gibi).Bu bizim o vagon için geçerli konturol numarası.
Şİmdi yardım isteğim;
Formus TAMİRGİRİŞİ'n deki TXVAGONNO'ya 81756650031-7 yerine yanlışlıkla
81756660031-7 yazdığımda (5 yerine 6)vagon numarası yanlış diye uyarmasını istiyorum.
 
Katılım
19 Ocak 2008
Mesajlar
49
Excel Vers. ve Dili
2003 türkçe
Arkadaşlar yardım edecek kimse yokmu

Bu işi iyi bilen uzman arkadaşlar ya böyle birşey olmaz deyin, yada bana yardın edin lütfen.Bekleye bekleye bi hal oldum.
Hepinize hayırlı cumalar.
 
Katılım
19 Ocak 2008
Mesajlar
49
Excel Vers. ve Dili
2003 türkçe
Yardım istemiyorum

Baştada söyledim VBA konusunda hiç bilgim olmadığı halde buralarakadar getirdim formun çok yararlı olduğuna inanıyorum ve yardım talebimi geri alıyorum.:???:
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Ekli dosyayı formüllerle yaptım.
Zaren toplamlarıda 33 olmuyor 69 oluyor.:cool:
Dosya ekte.:cool:
 
Katılım
19 Ocak 2008
Mesajlar
49
Excel Vers. ve Dili
2003 türkçe
Ben kendimi iafade edemedim

Evren hocam ilginiz için teşekkür ederim.

Kendi kendime kızdım ve yardım istemekten vaz geçmiştim.Makrolar konusunda hiçbir bilgim olmadığı halde form sayesinde bu kadar yapabildim.Formun çok yararlı ve faydalı olduğuna inannıyorum.

Hazırladığınız formülden anladımki kendimi ifade edmememişim.

Benim tam olarak istediğim Makro ile Forum TAMİR GİRİŞİ'indeki TXVAGONNO'ya
Private Sub TXVAGONNO_Change()
?
End Sub


Buraya makro ile o belirtiğim formül üzerinden konturol yapmalı ve yanlış yazılan vago numarasında beni uyarmalı.
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Kullanıcı Tanımlı Fonkdiyon ekte.
Sayın Evren bir yanlışlık var toplamı 33 eder çünkü sayıların toplamı değil rakamların toplamı olacak.

Function KontrolNo(VagonNo)
For i = 1 To 11
If i Mod 2 = 0 Then
birleştir = birleştir & Mid(VagonNo, i, 1)
Else
birleştir = birleştir & Mid(VagonNo, i, 1) * 2
End If
Next
For e = 1 To Len(birleştir)
Topla = Topla + Mid(birleştir, e, 1) * 1
Next
KontrolNo = 10 - Topla Mod 10
End Function
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Yukardaki mesajdaki kodları Module1 yazıp,
Örneğin SEVKISLEMİ formunun SEVK ET düğmesinin kodlarının başına da aşağıdaki kodları yazarsanız.

Private Sub CommandButton1_Click()
If Len(TXSEVVAGNO) <> 13 Then
MsgBox "Vagon Numaras&#305;n&#305; Kontrol Ediniz"
TXSEVVAGNO.SetFocus
Exit Sub
End If

If Mid(TXSEVVAGNO, 12, 1) <> "-" Then
MsgBox "Vagon Numaras&#305;n&#305; Kontrol Ediniz"
TXSEVVAGNO.SetFocus
Exit Sub
End If
For i = 1 To 11
If Mid(TXSEVVAGNO, i, 1) >= 0 And Mid(TXSEVVAGNO, i, 1) <= 9 Then
Else
MsgBox "Vagon Numaras&#305;n&#305; Kontrol Ediniz"
TXSEVVAGNO.SetFocus
Exit Sub

End If
Next
If Not IsNumeric(Right(TXSEVVAGNO, 1)) Then
MsgBox "Vagon Numaras&#305;n&#305; Kontrol Ediniz"
TXSEVVAGNO.SetFocus
Exit Sub
End If
If KontrolNo(TXSEVVAGNO) - Right(TXSEVVAGNO, 1) <> 0 Then
MsgBox "Vagon Numaras&#305;n&#305; Kontrol Ediniz"
TXSEVVAGNO.SetFocus
Exit Sub
End If
........Di&#287;er kodlar&#305;n&#305;z
 
Son düzenleme:
Katılım
6 Şubat 2005
Mesajlar
1,467
E&#287;er TextBox'&#305;n i&#231;inde yazarken kontrol etmek istiyorsan&#305;z. D&#252;&#287;menin koduna a&#351;a&#287;&#305;daki kodlar&#305; yaz&#305;n.

Private Sub TXSEVVAGNO_Change()
If Len(TXSEVVAGNO) = 1 Then

If Right(TXSEVVAGNO, 1) >= 0 And Right(TXSEVVAGNO, 1) < 10 Then
Else
MsgBox "Rakkam giriniz."
TXSEVVAGNO.Value = ""
End If

ElseIf Len(TXSEVVAGNO) > 1 And Len(TXSEVVAGNO) < 12 Then
If Right(TXSEVVAGNO, 1) >= 0 And Right(TXSEVVAGNO, 1) < 10 Then
Else
MsgBox "Rakkam giriniz."
TXSEVVAGNO.Value = Mid(TXSEVVAGNO, 1, Len(TXSEVVAGNO) - 1)
End If

ElseIf Len(TXSEVVAGNO) = 12 Then
If Right(TXSEVVAGNO, 1) <> "-" Then
MsgBox "'-' giriniz."
TXSEVVAGNO.Value = Mid(TXSEVVAGNO, 1, Len(TXSEVVAGNO) - 1)
End If
ElseIf Len(TXSEVVAGNO) = 13 Then
If Right(TXSEVVAGNO, 1) >= 0 And Right(TXSEVVAGNO, 1) < 10 Then
Else
MsgBox "Rakkam giriniz."
TXSEVVAGNO.Value = Mid(TXSEVVAGNO, 1, Len(TXSEVVAGNO) - 1)
End If

If KontrolNo(TXSEVVAGNO) - Right(TXSEVVAGNO, 1) <> 0 Then

MsgBox "Vagon Numaras&#305;n&#305; Kontrol Ediniz"
TXSEVVAGNO.Value = Mid(TXSEVVAGNO, 1, Len(TXSEVVAGNO) - 1)
End If
ElseIf Len(TXSEVVAGNO) > 13 Then
MsgBox "Fazla Rakkam girdiniz."
TXSEVVAGNO.Value = Mid(TXSEVVAGNO, 1, Len(TXSEVVAGNO) - 1)

End If
End Sub
 
Katılım
19 Ocak 2008
Mesajlar
49
Excel Vers. ve Dili
2003 türkçe
omerceri hocam iyi g&#252;nler.
Yard&#305;mlar&#305;n&#305;z i&#231;in te&#351;ekk&#252;r ederim,belirtti&#287;iniz kodlar gayet g&#252;zel &#231;al&#305;&#351;t&#305;,&#351;ayet sizi s&#305;kmayacaksam f&#305;rsat bulduk&#231;a yard&#305;mlar&#305;n&#305;za ba&#351; vurabilirmiyim
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Elbette, sizinle meslekta&#351;&#305;z, Ayr&#305;ca, t&#252;m formdaki arkada&#351;larda yard&#305;mc&#305; olurlar.
 
Katılım
19 Ocak 2008
Mesajlar
49
Excel Vers. ve Dili
2003 türkçe
Hayırlı mesailer

Sayın meslektaşım:
=Daha önce kayda girdiğim tamirlik vagonu sonra bul tuşu ile bulup aynı satırdaki I-J-K sütunlarına tarih-2077 ve sicil no gibi bilgileri kaydetsin.
=Tamirlik vagonu kayda girdiğimde A1'e de yzıyor.
=Girilen tüm vagonlar excel sayfasından silinmesin.makro girişleri şifreli olsun.
=Çıkış butonuna tıkladığımda veriler kaydedilip çıksın.
Çalışmamı tekrar gönderiyorum.
Şimdiden teşekkür ederim.Hayırlı çalışmalar
 
Üst