Merhaba;
Kodlar ayrı ayrı çalışmakta fakat ilk kod aktif olunca sayfa içerisinde bulunan ikinci kod çalışmayıp pasif olmaktadır.
Excel'e giriş sırasında şifre soran kod COST_CONTROL a ayittir. 3 hatalı girişte kapanıyor.
Bu kod çalıştığında aşağıda belirttiğim kod çalışmamaktadır.
UserForm Üzerindeki kod ---------------------------------------------------------
Option Explicit
Private Sub CommandButton1_Click()
Static HATA As Integer
Dim KULLANICI As Long
On Error GoTo HATALI_GİRİŞ
With Sheets("UsersMod").Range("E5:E18")
KULLANICI = .Find(What:=TextBox1.Value, After:=.Cells(1, 1), LookIn:=xlValues, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase _
:=True, SearchFormat:=False).Row
End With
If KULLANICI = 0 Then GoTo HATALI_GİRİŞ
If Sheets("UsersMod").Cells(KULLANICI, 6) <> TextBox2.Text Then GoTo HATALI_GİRİŞ
Sheets("UsersMod").Range("C1") = TextBox1.Value
Call TEMİZLE
MsgBox "Sisteme girişiniz onaylanmıştır.", vbInformation, "HOŞGELDİNİZ" & TextBox1.Value
Application.Visible = True
Call Sayfa6.Activate
Login.Hide
Exit Sub
HATALI_GİRİŞ:
MsgBox "Girdiğiniz kullanıcı adı veya parola hatalıdır." _
& Chr(10) & "Lütfen girdiğiniz kullanıcı adını ve parolasını kontrol ediniz.", vbCritical, "DİKKAT !"
Call TEMİZLE
HATA = HATA + 1
If HATA = 3 Then Application.Quit
End Sub
Private Sub TEMİZLE()
TextBox1 = ""
TextBox2 = ""
TextBox1.SetFocus
End Sub
Private Sub TextBox1_Change()
CommandButton1.Enabled = (TextBox1.TextLength > 3 And TextBox2.TextLength > 3)
End Sub
Private Sub TextBox2_Change()
CommandButton1.Enabled = (TextBox1.TextLength > 3 And TextBox2.TextLength > 3)
End Sub
Private Sub UserForm_Activate()
TextBox1.SetFocus
End Sub
Private Sub UserForm_Initialize()
Label3.Caption = Worksheets("UsersMod").Range("C1")
TextBox1.SetFocus
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Application.Quit
End Sub
----------------------------------------------------
Hücrelerde arama yapan ve yukarıdaki kodla birlikte Çalışmayan Kod:
Sayfa içerisindeki Kod ----------------------------------------------------
Private Sub TextBox1_Change()
On Error Resume Next
Application.Visible = True
SONUC2 = TextBox1.Value
Set FC2 = Range("a4:b65536").Find(What:=SONUC2)
Application.GoTo Reference:=Range(FC2.Address), _
Scroll:=False
End Sub
Private Sub TextBox1_GOTFocus()
TextBox1.Text = ""
End Sub
-----------------------------------------------------
Kodlar ayrı ayrı çalışmakta fakat ilk kod aktif olunca sayfa içerisinde bulunan ikinci kod çalışmayıp pasif olmaktadır.
Excel'e giriş sırasında şifre soran kod COST_CONTROL a ayittir. 3 hatalı girişte kapanıyor.
Bu kod çalıştığında aşağıda belirttiğim kod çalışmamaktadır.
UserForm Üzerindeki kod ---------------------------------------------------------
Option Explicit
Private Sub CommandButton1_Click()
Static HATA As Integer
Dim KULLANICI As Long
On Error GoTo HATALI_GİRİŞ
With Sheets("UsersMod").Range("E5:E18")
KULLANICI = .Find(What:=TextBox1.Value, After:=.Cells(1, 1), LookIn:=xlValues, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase _
:=True, SearchFormat:=False).Row
End With
If KULLANICI = 0 Then GoTo HATALI_GİRİŞ
If Sheets("UsersMod").Cells(KULLANICI, 6) <> TextBox2.Text Then GoTo HATALI_GİRİŞ
Sheets("UsersMod").Range("C1") = TextBox1.Value
Call TEMİZLE
MsgBox "Sisteme girişiniz onaylanmıştır.", vbInformation, "HOŞGELDİNİZ" & TextBox1.Value
Application.Visible = True
Call Sayfa6.Activate
Login.Hide
Exit Sub
HATALI_GİRİŞ:
MsgBox "Girdiğiniz kullanıcı adı veya parola hatalıdır." _
& Chr(10) & "Lütfen girdiğiniz kullanıcı adını ve parolasını kontrol ediniz.", vbCritical, "DİKKAT !"
Call TEMİZLE
HATA = HATA + 1
If HATA = 3 Then Application.Quit
End Sub
Private Sub TEMİZLE()
TextBox1 = ""
TextBox2 = ""
TextBox1.SetFocus
End Sub
Private Sub TextBox1_Change()
CommandButton1.Enabled = (TextBox1.TextLength > 3 And TextBox2.TextLength > 3)
End Sub
Private Sub TextBox2_Change()
CommandButton1.Enabled = (TextBox1.TextLength > 3 And TextBox2.TextLength > 3)
End Sub
Private Sub UserForm_Activate()
TextBox1.SetFocus
End Sub
Private Sub UserForm_Initialize()
Label3.Caption = Worksheets("UsersMod").Range("C1")
TextBox1.SetFocus
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Application.Quit
End Sub
----------------------------------------------------
Hücrelerde arama yapan ve yukarıdaki kodla birlikte Çalışmayan Kod:
Sayfa içerisindeki Kod ----------------------------------------------------
Private Sub TextBox1_Change()
On Error Resume Next
Application.Visible = True
SONUC2 = TextBox1.Value
Set FC2 = Range("a4:b65536").Find(What:=SONUC2)
Application.GoTo Reference:=Range(FC2.Address), _
Scroll:=False
End Sub
Private Sub TextBox1_GOTFocus()
TextBox1.Text = ""
End Sub
-----------------------------------------------------
Son düzenleme: