TextBoxların herhangi biri boş olunca da çalışsın

Katılım
24 Şubat 2009
Mesajlar
1,077
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
01-03-2023
Merhaba arkadaşlar; Bir Userform üzerinde 6 adet TextBox larım var, aşağıdaki kodla bunları güncelliyorum, ancak Textboxlardan herhangi birine veri girmeyince yani boş olunca işlemi yapmıyor hata veriyor, hata mesajı "Type mismatch" verip, kırmızı satır yanıyor, hata almamak için nasıl bir düzenleme olur. Teşekkür ederim.

Private Sub CommandButton1_Click()
With Sheets("Liste")
If ComboBox1.ListIndex <> -1 Then
aciklama = "Sicili :" & vbTab & vbTab & ComboBox1 & vbLf & vbLf & _
"Adı Soyadı :" & vbTab & TextBox8 & vbLf & vbLf & _
"Personelin Kesintileri Güncellensin mi?"
If MsgBox(aciklama, vbYesNo) = vbYes Then
Satir = ComboBox1.ListIndex + 2
For Y = 1 To 6
.Cells(Satir, Y + 23) = Me("Textbox" & Y) * 1
Next Y
MsgBox "" & ComboBox1 & vbTab & " Sicil Sayılı " & vbLf & vbLf & _
"" & TextBox8 & vbTab & "İsimli Personelin" & vbLf & vbLf & _
"Kesintileri Güncellenmiştir.", vbInformation, "KESİNTİ DURUMU"
Else
MsgBox "İşlem İptal edildi", vbCritical
End If
End If
End With

End Sub
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Şöyle denenyiniz.
Kod:
.Cells(Satir, Y + 23) = Me.controls("Textbox" & Y) * 1
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
*1 bunu kaldırın.
 
Katılım
24 Şubat 2009
Mesajlar
1,077
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
01-03-2023
Sayın hocam oldu ama * 1 hücreye sayı olarak atması için koymuştum, şuan metin olarak atıyor, sayı olarak atmıyor, metin oluncada toplama işlemini yapmıyor, düzeltile bilir mi?
.Cells(Satir, Y + 23) = Val(Me.controls("Textbox" & Y)) ' bu satıra Val koydum sayıya çevirdi ama boş olan TextBox lara 0,00 yazdı.
 
Son düzenleme:

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Aşağıdakini deneyin.
Kod:
if isnumeric(me.controls("Textbox" & Y)) then
      .Cells(Satir, Y + 23) = cdbl(Me.controls("Textbox" & Y))
end if
 
Katılım
24 Şubat 2009
Mesajlar
1,077
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
01-03-2023
Eveeet şimdi oldu çok teşekkür ederim, hocam eline sağlık dua ile kal iyi geceler.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
İyi geceler.
 
Üst