• Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü Run time error 13 hatası

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

arslanbey

Bronz Üye
Kullanıcı Bilgileri
Aktiflik
Çevrimdışı
Katılım
19 Tem 2024
Mesajlar
141
Aldığı beğeni
15
Excel V
Office 2019 TR
Konuyu Başlatan
Program çok güzel çalışıyordu durduk yere run time error 13 hatası verdi. Birde textbox10 veri silmek iste semde silinmiyor.hata.png
 

Ekli dosyalar

  • VerimlilikDosyası 3 Listview.xlsm
    62.9 KB · Gösterim: 7

Ekli dosyalar

  • FORM.gif
    FORM.gif
    408.2 KB · Gösterim: 5
K3 hücresinde "1 Adet" şeklinde olan verinin sadece 1 olacak şekilde düzeltilmesi gerekli. Makronuzdaki kod

"lst.SubItems(10) > 0 Then" karşılaştırması yapıyor. Ancak lst.SubItems(10) değerini for dögüsü içinde K3 hücresinden alıyor.
Ve bu değer "1 Adet" olarak girilmiş. Yani sayı değil metin ifadesi. Bu sebeple
"1 Adet > 0" şeklinde bir karşılaştırma yaptığınızdan hata oluşuyor. Sayfaya veri girerken o sütunun veri yapısına ve makroda kullanılan veri yapısına uygun değerler girmelisiniz.
 
K3 hücresinde "1 Adet" şeklinde olan verinin sadece 1 olacak şekilde düzeltilmesi gerekli. Makronuzdaki kod

"lst.SubItems(10) > 0 Then" karşılaştırması yapıyor. Ancak lst.SubItems(10) değerini for dögüsü içinde K3 hücresinden alıyor.
Ve bu değer "1 Adet" olarak girilmiş. Yani sayı değil metin ifadesi. Bu sebeple
"1 Adet > 0" şeklinde bir karşılaştırma yaptığınızdan hata oluşuyor. Sayfaya veri girerken o sütunun veri yapısına ve makroda kullanılan veri yapısına uygun değerler girmelisiniz.
textbox10 veri silmek istiyorum ama silinmiyor. Adet olarak yazılırsa nasıl hesaplama yaptırabiliriz.hata1.png
 
1- Öncelikle hücrelere sayısal değer girerken sadece sayıyı yazınız. Sayının yanına "adet" kelimesi ya da başka bir metin eklemeyiniz.
2- Dosyanızda Class Modüle kullanılmış ve ben Class konusunu bilmediğim için yapısı bana karışık geldi. Bu sebeple bakabileceğim bir konu değil.
3- Textbox dediğimiz şey aslında bir metin kutusudur. Hücredeki 5 sayısını okutup Textbox1'e aktardığınızda veri artık metne dönüşmüştür. Yani Textbox1 verisi 5 sayısı değil "5" metnidir. Bu sebeple Textboxlar içindeki sayı gibi görünen ama aslında metin olan ifadeleri dört işleme sokmak istiyorsanız textbox verisini OKUTURKEN SAYIYA ÇEVİRMENİZ gerekli. Yoksa iki sayıyı toplamak yerine iki metin ifadesini birleştirirsiniz.

Mesela,
Textbox1.Value = 1 'Textbox1 e 1 sayısını girdik. Yazarken 1 saysı ancak okurken "1" metnine dönüşecek.
Textbox2.Value = 10 'Textbox2 ye 10 sayısını girdik. Yazarken 10 saysı ancak okurken "10" metnine dönüşecek.
Textbox3.Value = Textbox1.Value + Textbox2.Value 'Textbox1 ve Textbo2 içindeki sayıları okuyup toplama işlemi yapıp Textbox3 e yazdırıyoruz. 3. maddede yazdığım gibi Textbox içindeki sayılar okurken metne dönüştüğü için 11 sonucunu elde edemiyoruz. "1" ve "10" metinlerinin birleşimi olan "110" metnini elde ediyoruz.
Çözüm: Dediğimiz gibi okuma işlemi sırasında değerleri sayıya çeviriyoruz.
Textbox3.Value = CDbl(Textbox1.Value) + CDbl(Textbox2.Value)
Eklediğim dosyayı inceleyiniz.
İyi geceler.
 

Ekli dosyalar

  • Textbox.xlsm
    20 KB · Gösterim: 2
Dosyanızda Class Modüle kullanılmış ve ben Class konusunu bilmediğim için yapısı bana karışık geldi. Bu sebeple bakabileceğim bir konu değil.
Class kodunu ben yazmıştım.
Dosyaya bakmadım ama hatırladığım kadarıyla txtchange kodu vardı.
Bu demek userformdan hangi textboxlar class içine yollandıysa o textboxa tıklayınca change olayı çalışıyor.
İçindede case vardı atıyorum
case "txt1","txt2" gibi olan eğer değişen yani içine veri yazılan textbox adı yazdıklarımdan biriyse alt kusımdaki makroyu çalıştırıyordu toplama ve çıkarma gibi hocam.
Aslında bayağı basit idi anlaması.Class olayı çok garip bende zar zor birşeyler yapabiliyorum :)

Diğer için evet toplamada cdbl kullanmıştım dediğiniz gibi kullanılmazsa birleştiriyor.Sanıyorum çıkarma,bölme ve çarpmada gerek yok ama yinede olması gerek.
Tabii boşmu değilmi gibi şartlarda var.
Birde classta keypress vardı onunla zaten sadece sayı ve virgül giriş izni vardı eğer duruyorsa.
 
Kendi adıma dosyayı inceledim resimdeki işaretli gibi yapın ve üstadı söylediklerini uygulayın abey.

1.png
 
Kendi adıma dosyayı inceledim resimdeki işaretli gibi yapın ve üstadı söylediklerini uygulayın abey.

Ekli dosyayı görüntüle 29869
ilginiz için teşekkür ederim. Hocam dediğinizi yaptım
textbox10 veri silmek istiyorum ama silinmiyor bu konuda yardımcı olurmusunuz. Kaydet dediğimde Textbox'daki veriler silinmesini sağlaya bilirmiyiz.
 
ilginiz için teşekkür ederim. Hocam dediğinizi yaptım
textbox10 veri silmek istiyorum ama silinmiyor bu konuda yardımcı olurmusunuz. Kaydet dediğimde Textbox'daki veriler silinmesini sağlaya bilirmiyiz.
Rica ederim,akşama bakabilirim.
 
Combobox1 veri seçtiğimde TextBox2 otomatik veri geliyor TextBox10 otomatik sıfır gelir ben ML kısmını kullanmak istiyorum silmek istediğimde silinmiyor TextBox24 veri girip kayıt yapmak istesemde TextBox2 sıfır (0) değerini kayıt yapıyor.

Hocam K3 hücresinde "1 Adet" şeklinde yazdığımda hata vermesini engelleyebilirmiyiz.
 
Combobox1 veri seçtiğimde TextBox2 otomatik veri geliyor TextBox10 otomatik sıfır gelir ben ML kısmını kullanmak istiyorum silmek istediğimde silinmiyor
Resimde yazdığımı uygulayın.

Hocam K3 hücresinde "1 Adet" şeklinde yazdığımda hata vermesini engelleyebilirmiyiz.
K3 nasıl olacak anlamadım.Sayfadamı K3 e veri gireceksiniz.


1.png
 
8.Mesajdaki olayın düzenlenmiş hali.
Sıfıra eşitse mavi renk olmamış ayarladım.Diğer sorunuza bakacağım.
 

Ekli dosyalar

  • VerimlilikDosyası 3 Listview.xlsm
    71.9 KB · Gösterim: 1
Çözüm
hocam işaretlediğiniz yeri false yaptım sorun hala devam etmektedir. Resimdeki gibi textbox10 "Adet " yazıp kaydet dediğimde hata veriyor.

Ekli dosyayı görüntüle 29913
Classta alttaki koddaki gibi If pTxt.Name = "TextBox10" Then Exit Sub ekleyin.Bu kod ile Texbox10 a hertürlü veri yazarsınız.Başkaları içinde aynı benzer kodlar eklersiniz.

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Classta alttaki koddaki gibi If pTxt.Name = "TextBox10" Then Exit Sub ekleyin.Bu kod ile Texbox10 a hertürlü veri yazarsınız.Başkaları içinde aynı benzer kodlar eklersiniz.

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
Yada yukardaki kodu silerseniz her textboxa metin yada sayı giriş izni verilir.
 
Hocam dediklerinizi yaptım fakat resimdeki hatayı verdi.hata1.png
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst