• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Kodlarda çakışma var, Problemin kaynağını bulamadım.

Katılım
15 Eylül 2006
Mesajlar
166
Excel Vers. ve Dili
2003 sp2 TR
__________________
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&#304;R&#304;&#350;

Sheets("UsersMod").Range("C1") = TextBox1.Value
Call TEM&#304;ZLE
MsgBox "Sisteme giri&#351;iniz onaylanm&#305;&#351;t&#305;r.", vbInformation, "HO&#350;GELD&#304;N&#304;Z" & TextBox1.Value
Application.Visible = True
Call Sayfa6.Activate
Login.Hide
Exit Sub

HATALI_G&#304;R&#304;&#350;:
MsgBox "Girdi&#287;iniz kullan&#305;c&#305; ad&#305; veya parola hatal&#305;d&#305;r." _
& Chr(10) & "L&#252;tfen girdi&#287;iniz kullan&#305;c&#305; ad&#305;n&#305; ve parolas&#305;n&#305; kontrol ediniz.", vbCritical, "D&#304;KKAT !"
Call TEM&#304;ZLE
HATA = HATA + 1
If HATA = 3 Then Application.Quit
End Sub

Private Sub TEM&#304;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&#252;crelerde arama yapan ve yukar&#305;daki kodla birlikte &#199;al&#305;&#351;mayan Kod:
Sayfa i&#231;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:
Hata sebebi Private Sub TextBox1_Change()

Bu olay ayn&#305; form edit&#246;r'&#252; i&#231;erisinde iki kere kulln&#305;lm&#305;&#351;.

Excel VBA bir kontrol&#252;n bir olay&#305; i&#231;in bir defa izin verir.

&#199;&#246;z&#252;m: Ayn&#305; olan iki olay&#305;n kodlar&#305;n&#305; birle&#351;tirin.
 
&#304;lk giri&#351;tekiler UserForm &#252;zerinde.
&#304;kinci verdi&#287;im ise sayfalar &#252;zerinde.

Birle&#351;tirme dediniz &#246;rnek verme &#351;ans&#305;n&#305;z varm&#305; ?
 
Merhaba;

Birinci kod i&#231;indeki hangi sat&#305;r ikinci kodun &#231;al&#305;&#351;mas&#305;n&#305; engelliyorsa onu ikinci kodua o sat&#305;r&#305; ekleme &#351;ans&#305;m&#305;z varm&#305; ? False ise True yapma vb.
 
Merhaba;

&#214;nerisi olan varm&#305; ?
 
Öncelikle

Private Sub TextBox1_Change()
On Error Resume Next <--------------------Satırını kaldırın
Application.Visible = True
SONUC2 = TextBox1.Value
Set FC2 = Range("a4:b65536").Find(What:=SONUC2)
Application.GoTo Reference:=Range(FC2.Address), _
Scroll:=False
End Sub

kodunuzu çalıştırın ve aldığınız hatanın kod numaraını verin.
Böylelikle anlamaya çalışalım.
 
Hata Kodu olarak:

Run-time error '91':

Object variable or With block variable not set

-------------------------------------Buras&#305; sar&#305; olarak se&#231;ildi.-------
Application.GoTo Reference:=Range(FC2.Address), _
Scroll:=False
-------------------------------------------------------------------
 
Tahmin ediyorumki hata FC2 de&#287;i&#351;keninden kaynaklan&#305;yor
Set FC2 = Range("a4:b65536").Find(What:=SONUC2) sat&#305;r&#305;nda aranan de&#287;er bulunamay&#305;nca FC2 null de&#287;erini i&#231;ermeye devam ediyor
Application.GoTo Reference:=Range(FC2.Address), Scroll:=False sat&#305;r&#305;nda hata veriyor.
Kodlar&#305;n&#305;z&#305; a&#351;a&#287;&#305;daki gibi de&#287;i&#351;tirip deneyin

Private Sub TextBox1_Change()
On Error GoTo Hata 'a&#351;a&#287;&#305;daki kod sat&#305;rlar&#305;ndan birinde hata meydana geldi&#287;inde "Hata" sat&#305;r&#305;na ge&#231;ilecektir.
Application.Visible = True
SONUC2 = TextBox1.Value
Set FC2 = Range("a4:b65536").Find(What:=SONUC2)
Application.GoTo Reference:=Range(FC2.Address), _
Scroll:=False
Hata:
End Sub

Not:Bir kod blo&#287;u aras&#305;nda birden fazla hata varsa On Error Resume Next ikinci hatan&#305;n yoksay&#305;lmas&#305; i&#351;lemini ger&#231;ekle&#351;tirmez.
 
&#199;a&#351;&#305;&#351;mamakta ve hata vermemekte

On Error GoTo Hata kald&#305;rd&#305;&#287;&#305;mda
Run-time error '91':
Object variable or With block variable not set
Hatas&#305;n&#305; verdi ve Debug dedi&#287;imde ise
Application.GoTo Reference:=Range(FC2.Address), _
Scroll:=False
sat&#305;rlar&#305; sar&#305; olmaktad&#305;r.
 
Merhaba;

Önerisi olan varmı ?

Sayfada 1 adet .....Change() alt yordamı olmalı. Yani;

Kod:
Private Sub TextBox1_Change()
CommandButton1.Enabled = (TextBox1.TextLength > 3 And TextBox2.TextLength > 3)
End Sub
.............
...........
Private Sub TextBox1_Change()  ' Bu satırı sil
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

Alttaki yordamının içindeki kodları yukarıki ile birleştir.
 
Sn. alibal

Vermi&#351; oldu&#287;unuz kod,
Run-time error '424':
Object required
vermi&#351;tir ve Debug dedi&#287;imde ise;
CommandButton1.Enabled = (TextBox1.TextLength > 3 And TextBox2.TextLength > 3)
sar&#305; olarak i&#351;aretlemi&#351;tir.
 
Merhaba;

&#214;nerisi olan varm&#305; arkada&#351;lar ?
 
Sn. Excel Dostlar&#305;.

Bu olay m&#252;mk&#252;n de&#287;ilse bilgi verirseniz sevinirim.
 
Merhaba

Örnek dosyayı forma eklermisin

Bu şeklide tahmin yürtmektense görerek konuşalım

iyi günler
 
Say&#305;n cqners,

g&#246;nderdi&#287;im kodda 1. textbox1.change() sat&#305;r&#305; duracak, sonra bu olaya ait End Sub (1. End Sub) sat&#305;r&#305;n&#305; sil. Sonra 2. textbox1.change() sat&#305;r&#305;n&#305; sil ve tekrar dene. Yani Bu i&#351;lemin son hali;

Kod:
Private Sub TextBox1_Change()
On Error Resume Next
CommandButton1.Enabled = (TextBox1.TextLength > 3 And TextBox2.TextLength > 3)
Application.Visible = True
SONUC2 = TextBox1.Value
Set FC2 = Range("a4:b65536").Find(What:=SONUC2)
Application.GoTo Reference:=Range(FC2.Address), _
Scroll:=False
End Sub
&#350;eklinde olacak.
Kolay gelsin....
 
Sn. AliBal Malesef olmad&#305; yard&#305;mlar&#305;n&#305;z i&#231;in te&#351;ekk&#252;rler,

Arama motorunu koymaktan vazge&#231;tim. Anlad&#305;&#287;&#305;m kadar&#305;yla m&#252;mk&#252;n de&#287;il.
 
Geri
Üst