• DİKKAT

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

Soru nesnelerin içlerini silme

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,543
Excel Vers. ve Dili
2021 LTSC TR
Kod:
Dim Cevap As VbMsgBoxResult
Cevap = MsgBox("Yeni Kayıt için Formdaki Bilgileri Silmek İstediğinizden Emin misiniz.?", vbOKOnly + vbYesNo, "MESAJ")
If Cevap = vbYes Then
For Each i In Me.Controls
If TypeName(i) = "TextBox" Or TypeName(i) = "ComboBox" Then i.Value = ""
If TypeName(i) = "OptionButton" Or TypeName(i) = "CheckBox" Then i.Value = False
Next i
End If
ustam userformda nesnelerin içi dolu ise yukarıdaki kod ile temizliyorum. Eğer tüm nesneler boş ise "Tüm nesneler boş olduğu için işlem yapılamadı" uyarısını nasıl ekleyebilirim.
 
Aşağıdaki şekilde deneyin.
Kod:
Dim Cevap As VbMsgBoxResult
Dim t As Integer
Cevap = MsgBox("Yeni Kayıt için Formdaki Bilgileri Silmek İstediğinizden Emin misiniz.?", vbOKOnly + vbYesNo, "MESAJ")
If Cevap = vbYes Then
For Each i In Me.Controls
If TypeName(i) = "TextBox" Or TypeName(i) = "ComboBox" Then If i.Value = "" Then t = t + 1 Else i.Value = ""
If TypeName(i) = "OptionButton" Or TypeName(i) = "CheckBox" Then If i.Value = False Then t = t + 1 Else i.Value = False
Next i
End If
If t = 0 Then
    MsgBox "Tüm nesneler boş olduğu için işlem yapılamadı", vbInformation, "UYARI!"
End If
 
Sayın askm
Kod:
If t = 0 Then
    MsgBox "Tüm nesneler boş olduğu için işlem yapılamadı", vbInformation, "UYARI!"
End If
bu kısım devreye hiç girmiyor.
 
Kod:
    Dim Cevap As VbMsgBoxResult, temizlendi As Boolean, i As Object
    Cevap = MsgBox("Yeni Kayıt için Formdaki Bilgileri Silmek İstediğinizden Emin misiniz.?", vbOKOnly + vbYesNo, "MESAJ")
    If Cevap = vbYes Then
        For Each i In Me.Controls
            If (TypeName(i) = "TextBox" Or TypeName(i) = "ComboBox") And i.Value <> "" Then
                i.Value = ""
                temizlendi = True
            End If
            If (TypeName(i) = "OptionButton" Or TypeName(i) = "CheckBox") And i.Value = True Then
                i.Value = False
                temizlendi = True
            End If
            
        Next i
    End If
    If temizlendi = False Then
        MsgBox "Tüm nesneler boş olduğu için işlem yapılamadı", vbInformation, "UYARI!"
    End If
 
Üstadım
Çok teşekkür ederim.
 
Geri
Üst