Textboxlardan Veri Hesaplanıyor Ama Boş Olduğunda Hata Alıyorum

Katılım
18 Nisan 2017
Mesajlar
7
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
29-12-2021
Merhaba;

Sorunum şu; textboxlardan dört işlem yapıyorum ama bazı durumlarda bu alanların boş kalması gerekiyor. Boş olduğunda da hata alıyorum. Boş olsa da hesaplama yapmadan devam etmesini istiyorum. Kaydet buton kodları aşağıdaki gibidir.
Yardımlarınızı rica ederim.



Private Sub btnKaydet_Click()

If txtStokAdi = "" Or cbTedarikci = "" Or cbBirim = "" Or txtGirisAdet = "" Then

MsgBox "Yeni stok kartı için istenilen tüm bilgilerin yazılması gerekmektedir."
Exit Sub

End If

stokDurumSS = Sheets("Stok_Durum").Range("A10000").End(xlUp).Row + 1
stokHareketSS = Sheets("Stok_Hareket_Durumu").Range("A100000").End(xlUp).Row + 1

Sheets("Stok_Durum").Range("A" & stokDurumSS) = txtID.Text
duzenlistok = Replace(txtStokAdi, "i", "İ")
duzenlistok = Replace(duzenlistok, "ı", "I")
Sheets("Stok_Durum").Range("B" & stokDurumSS) = UCase(duzenlistok)
Sheets("Stok_Durum").Range("C" & stokDurumSS) = cbTedarikci.Text
Sheets("Stok_Durum").Range("D" & stokDurumSS) = cbBirim.Text
Sheets("Stok_Durum").Range("E" & stokDurumSS) = CDbl(FormatNumber(txtGirisAdet.Value, 2))
Sheets("Stok_Durum").Range("G" & stokDurumSS) = CDbl(FormatNumber(txtGirisAdet.Value, 2))
Sheets("Stok_Durum").Range("H" & stokDurumSS) = Now
Sheets("Stok_Durum").Range("I" & stokDurumSS) = cmb_Kategori.Text
Sheets("Stok_Durum").Range("J" & stokDurumSS) = txt_Ebat.Text
Sheets("Stok_Durum").Range("L" & stokDurumSS) = txt_Urun_Kodu.Text
Sheets("Stok_Durum").Range("M" & stokDurumSS) = txt_Koli_Adet.Text
Sheets("Stok_Durum").Range("N" & stokDurumSS) = txt_Koli_Ebat.Text
Sheets("Stok_Durum").Range("O" & stokDurumSS) = Sheets("Stok_Durum").Range("E" & stokDurumSS) * Sheets("Stok_Durum").Range("Q" & stokDurumSS)
Sheets("Stok_Durum").Range("P" & stokDurumSS) = (txt_Boy.Value * Txt_En.Value) / 1000000
Sheets("Stok_Durum").Range("Q" & stokDurumSS) = txt_Tabaka_Kg.Text
Sheets("Stok_Durum").Range("R" & stokDurumSS) = txt_Tabaka_Kg.Value / Sheets("Stok_Durum").Range("P" & stokDurumSS)
Sheets("Stok_Durum").Range("S" & stokDurumSS) = txt_Boy.Text
Sheets("Stok_Durum").Range("T" & stokDurumSS) = Txt_En.Text
Sheets("Stok_Durum").Range("U" & stokDurumSS) = txt_Metrekare_Gram.Text

Sheets("Stok_Hareket_Durumu").Range("A" & stokHareketSS) = "SHID-" & Sheets("Tanimlamalar").Range("D2")
Sheets("Stok_Hareket_Durumu").Range("B" & stokHareketSS) = txtID.Text
Sheets("Stok_Hareket_Durumu").Range("C" & stokHareketSS) = UCase(duzenlistok)
Sheets("Stok_Hareket_Durumu").Range("D" & stokHareketSS) = cbBirim.Text
Sheets("Stok_Hareket_Durumu").Range("E" & stokHareketSS) = "Giriş"
Sheets("Stok_Hareket_Durumu").Range("F" & stokHareketSS) = CDbl(FormatNumber(txtGirisAdet.Value, 2))
Sheets("Stok_Hareket_Durumu").Range("G" & stokHareketSS) = 0
Sheets("Stok_Hareket_Durumu").Range("H" & stokHareketSS) = CDbl(FormatNumber(txtGirisAdet.Value, 2))
Sheets("Stok_Hareket_Durumu").Range("I" & stokHareketSS) = "Yeni Stok Kaydı"
Sheets("Stok_Hareket_Durumu").Range("J" & stokHareketSS) = Now
Sheets("Stok_Durum").Range("I" & stokDurumSS) = cmb_Kategori.Text
Sheets("Stok_Durum").Range("J" & stokDurumSS) = txt_Ebat.Text
Sheets("Stok_Durum").Range("L" & stokDurumSS) = txt_Urun_Kodu.Text
Sheets("Stok_Durum").Range("M" & stokDurumSS) = txt_Koli_Adet.Text
Sheets("Stok_Durum").Range("N" & stokDurumSS) = txt_Koli_Ebat.Text
Sheets("Stok_Durum").Range("O" & stokDurumSS) = Sheets("Stok_Durum").Range("E" & stokDurumSS) * Sheets("Stok_Durum").Range("Q" & stokDurumSS)
Sheets("Stok_Durum").Range("P" & stokDurumSS) = (txt_Boy.Value * Txt_En.Value) / 1000000
Sheets("Stok_Durum").Range("Q" & stokDurumSS) = txt_Tabaka_Kg.Text
Sheets("Stok_Durum").Range("R" & stokDurumSS) = Sheets("Stok_Durum").Range("Q" & stokDurumSS) / Sheets("Stok_Durum").Range("P" & stokDurumSS)
Sheets("Stok_Durum").Range("S" & stokDurumSS) = txt_Boy.Text
Sheets("Stok_Durum").Range("T" & stokDurumSS) = Txt_En.Text
Sheets("Stok_Durum").Range("U" & stokDurumSS) = txt_Metrekare_Gram.Text
Sheets("Tanimlamalar").Range("A2") = Sheets("Tanimlamalar").Range("A2") + 1
Sheets("Tanimlamalar").Range("D2") = Sheets("Tanimlamalar").Range("D2") + 1

MsgBox "Yeni stok kartı oluşturuldu."

Unload Me
frmStokKayit.Show

End Sub

https://accesstr.net/newreply.php?tid=88712&replyto=182025
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,317
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Boş kalması gereken durumlar için işlemleri yaptırmadan önce if sorgusu ile nesneye hesaplama türüne göre sıfır ya da 1 yazdırabilirsiniz.

Örnek;

If TextBox1.Value = "" Then TextBox1.Value = 0

Bu satırı işlemlere başlamadan önce uygun bir bölüme eklerseniz TextBox1 boş olsada sıfır değerini alarak bu şekilde matematiksel işlemlere girecektir.

Siz kendi işlemlerinize göre olması gereken değerleri atayarak sonuca gidebilirsiniz.
 
Katılım
18 Nisan 2017
Mesajlar
7
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
29-12-2021
Teşekkürler hocam hemen deniyorum...
 
Üst