"Çağrılan nesne" hatası

Katılım
24 Şubat 2006
Mesajlar
265
Excel Vers. ve Dili
xp 2003 Türkçe
Merhaba Arkadaşlar,
"Çağrılan nesne istemciden ayrılmış" mealinde bir uyarı alıyorum. Excel kurtatma işlemleri falan yapmaya başlıyor. Böyle bir hata mesajına ne sebep olabilir?
Saygılarımla
Ayrıca:"EXCEL KULLANILABİLİR VERİ KAYNAKLARI İLE BU GÖREVİ TAMAMLAYAMIYOR. DAHA AZ VERİ SEÇİN...."
diyor.
dosya ekte... Kimlik Formundaki DEĞİŞTİR düğmesine basınca hata meydana geliyor.
 
Katılım
24 Şubat 2006
Mesajlar
265
Excel Vers. ve Dili
xp 2003 Türkçe
Sevgili Arkadaşlar,
Hiç olmazsa "Senin bu derdinin dermanı yok hocam" deyin, bari umut tutmayayım. :cry:
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Değiştir butonundaki kodu aşağıdaki ile değiştirerek deneyin.

[vb:1:b3af8630ca]Private Sub CommandButton2_Click()
If perseç.Value = "Personeli Seçiniz" Or perseç.Value = "" Then ''
MsgBox "Önce bilgilerini değiştirmek istediğiniz personelin adını seçiniz!", vbExclamation, "HATA"
Exit Sub
End If
secim = MsgBox(perseç.Value & " isimli Personelin bilgilerini değiştirmek istediğinizden emin misiniz?", _
vbYesNo + vbDefaultButton2 + vbQuestion, "UYARI!!!")
If secim = vbNo Then
perseç_Change
Exit Sub
End If
sat = perseç.ListIndex + 2
perseç.RowSource = ""
With Sheets("kimlik")
.Cells(sat, 2) = kimadı.Value
.Cells(sat, 3) = kimbaba.Value
.Cells(sat, 4) = kimana.Value
.Cells(sat, 5) = kimdoğyer.Value
.Cells(sat, 6) = kimdoğtar.Value
.Cells(sat, 7) = kimseri.Value
.Cells(sat, 8) = kimtc.Value
.Cells(sat, 9) = kimmedeni.Value
.Cells(sat, 10) = kimcins.Value
.Cells(sat, 11) = kimil.Value
.Cells(sat, 12) = kimilce.Value
.Cells(sat, 13) = kimmah.Value
.Cells(sat, 14) = kimcilt.Value
.Cells(sat, 15) = kimaile.Value
.Cells(sat, 16) = kimsıra.Value
.Cells(sat, 17) = kimveryer.Value
End With
UserForm_Initialize
a = MsgBox(perseç.Value & " isimli personelin bilgileri değiştirildi.", vbInformation, "KAYIT")
End Sub
[/vb:1:b3af8630ca]
 
Katılım
24 Şubat 2006
Mesajlar
265
Excel Vers. ve Dili
xp 2003 Türkçe
Sevgili Leventm,
Tam ümitlerimi kaybetmek üzereyken verdiğiniz cevap, ilaç gibi geldi. Kendi kodlarımla sizin kodlarınızı karşılaştırdım. Demek ki kod yazarken kullanılan her noktanın bile stratejik önemi varmış.
Mantığını kavramadan kod yazmak (daha doğrusu yazılmış kodları kullanmak) pek fazla birşey kazandırmıyor.
Selam ve saygılarımla...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Demek ki kod yazarken kullanılan her noktanın bile stratejik önemi varmış.
Kesinlikle öyle, bilgi vermek açısından kısa bir açıklamada yapayım; yukarıda verdiğim koddaki en kritik satır (perseç.RowSource = "") satırıdır. Bir nesnenin rowsource alanı içindeki veriyi rowsource tanımlamasını boşaltmadan değiştiremezsiniz. Bu kod tanımlanan alanı boşaltıyor, yine kod içindeki (UserForm_Initialize) satırıda bu rowsource tanımlamasını yeniden yüklüyor.
 
Üst