TextBox ve Chexbox Kontrolü

BYSERTTAS

Altın Üye
Katılım
9 Ekim 2012
Mesajlar
136
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Altın Üyelik Bitiş Tarihi
06-01-2025
Herkese İyi Çalışmalar..
Değerli dostlar bir konuda yardımlarınıza ihtiyacım var..
yaptığım bir çalşımada 1-31 adettextbox var Bu textbox a Ayın Günlerini Yazdırıyorum. Eğer Günler Hafta sonuna Denk geliyorsa(Cumartesi-Pazar) textboxun zemin rengi Kırmızı oluyor. 32-62 Arası textboxlara ise "X" İşareti Koyuyorum.(CheckBox ile)
Aşağıdaki Kod İle textboxları Kontrol ettirerek Hafta Sonuna Gelen Günlere İşaret Konmasını engelliyordum. Ancak şimdi Kullanıcının vereceği cevaba göre Hafta Sonuna denk gelse de İşaret Konulması Gerekiyor.
Kısaca Textbox 1 den TextBox 31 e kadar Zemin rengi Kırmızı İse Yani Hafta Sonuna denk gelmiş İse "Resmi Tatil Günü İçin Ücret Ödemek İstiyormusunuz?..." Diye sorsun Cevap Evet İse CheckBox ;işaretlenebilsin Aksi Halde Hafta Sonuna Gelen Günler İçin CheckBox İşaretlenemesin İstiyorum. Aşağıdaki Kod Üzerinden Düzeltme Yaparsanız Minnettar Kalırım. Şimdiden Teşekkürler.
Dosya Örneğide Ekledim.

Kullandığım Kod :
Sub Kontrol(CBox As MSForms.CheckBox, CBox_Name As String)
Dim No As Byte

No = Replace(CBox_Name, "CheckBox", "")

If Me.Controls("TextBox" & No).BackColor = vbRed Then
CBox.Locked = True
CBox = CBox.Visible = False
Else
If CBox.Value = True Then
Me.Controls("TextBox" & No + 31) = "x"
Else
Me.Controls("TextBox" & No + 31) = ""
End If

If Me.Controls("TextBox" & No + 31) = "x" Then
Me.Controls("TextBox" & No + 31).BackColor = vbGreen
Else
Me.Controls("TextBox" & No + 31).BackColor = vbWhite
End If
End If
End Sub
 

Ekli dosyalar

Son düzenleme:

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
Merhaba, Kod üzerinden düzenleme yapılması için Dosyayı da paylaşmalısınız.
 

BYSERTTAS

Altın Üye
Katılım
9 Ekim 2012
Mesajlar
136
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Altın Üyelik Bitiş Tarihi
06-01-2025
Dosya Ekleyebildim Üstat Kontrol ederseniz sevinirim
 

Ekli dosyalar

Son düzenleme:

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
Kontrol kodlarına mesaj ile soru ekledim.
Kod:
Sub Kontrol(CBox As MSForms.CheckBox, CBox_Name As String)
    Dim No As Byte
    No = Replace(CBox_Name, "CheckBox", "")
   If Sor = 7 Then GoTo 0
    If Me.Controls("TextBox" & No).BackColor = vbRed Then
        Sor = MsgBox("Resmi Tatil Günü İçin Ücret Ödemek İstiyormusunuz?", vbQuestion + vbYesNo, "")
        If Sor = vbYes Then
            CBox.Value = True
            GünlerToplamı
        Else
            CBox.Value = False
0:
            GünlerToplamı
            Sor = 0
            Exit Sub
        End If
    Else
        If CBox.Value = True Then
            Me.Controls("TextBox" & No + 31) = "x"
        Else
            Me.Controls("TextBox" & No + 31) = ""
        End If
      
        If Me.Controls("TextBox" & No + 31) = "x" Then
            Me.Controls("TextBox" & No + 31).BackColor = vbGreen
        Else
            Me.Controls("TextBox" & No + 31).BackColor = vbWhite
        End If
    End If
End Sub
241398
 

BYSERTTAS

Altın Üye
Katılım
9 Ekim 2012
Mesajlar
136
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Altın Üyelik Bitiş Tarihi
06-01-2025
Ustadım Ellerinize Emeğinize sağlık Harika Olmuş. Küçük bir İstirhamım daha olacak. Farzedelimki Hafta Sonuna Yanlışlıkla İşaret Koyduk. ve geri silmamiz gerekti.
CheckBox ile "X" İşaretini Kaldırırken Tekrardan "Sor" Çalışıyor.
bunu nasıl engelleriz.
Kodu Şu Şekilde Yaptım.
Sub Kontrol(CBox As MSForms.CheckBox, CBox_Name As String)
Dim No As Byte
No = Replace(CBox_Name, "CheckBox", "")
If Sor = 7 Then GoTo 0
If Me.Controls("TextBox" & No).BackColor = vbRed Then
Sor = MsgBox("Resmi Tatil Günü İçin Ücret Ödemek İstiyormusunuz?", vbQuestion + vbYesNo, "")
If Sor = vbYes Then
CBox.Value = True
Me.Controls("TextBox" & No + 31) = "x"
Me.Controls("TextBox" & No + 31).BackColor = vbGreen
GünlerToplamı
Else
CBox.Value = False
Me.Controls("TextBox" & No + 31) = ""
Me.Controls("TextBox" & No + 31).BackColor = vbWhite
0:
GünlerToplamı
Sor = 0
Exit Sub
End If
Else
If CBox.Value = True Then
Me.Controls("TextBox" & No + 31) = "x"
Else
Me.Controls("TextBox" & No + 31) = ""
End If

If Me.Controls("TextBox" & No + 31) = "x" Then
Me.Controls("TextBox" & No + 31).BackColor = vbGreen
Else
Me.Controls("TextBox" & No + 31).BackColor = vbWhite
End If
End If
End Sub
 

Ekli dosyalar

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
Merhaba, koşul satırını güncelledim.
If Sor = 7 Or CBox.Value = False Then GoTo 0
Kod:
Sub Kontrol(CBox As MSForms.CheckBox, CBox_Name As String)
    Dim No As Byte
    No = Replace(CBox_Name, "CheckBox", "")
   If Sor = 7 Or CBox.Value = False Then GoTo 0
    If Me.Controls("TextBox" & No).BackColor = vbRed Then
        Sor = MsgBox("Resmi Tatil Günü İçin Ücret Ödemek İstiyormusunuz?", vbQuestion + vbYesNo, "")
        If Sor = vbYes Then
            CBox.Value = True
             Me.Controls("TextBox" & No + 31) = "x"
             Me.Controls("TextBox" & No + 31).BackColor = vbGreen
            GünlerToplamı
        Else
            CBox.Value = False
0:
            Me.Controls("TextBox" & No + 31) = ""
            Me.Controls("TextBox" & No + 31).BackColor = vbWhite

            GünlerToplamı
            Sor = 0
            Exit Sub
        End If
    Else
        If CBox.Value = True Then
            Me.Controls("TextBox" & No + 31) = "x"
        Else
            Me.Controls("TextBox" & No + 31) = ""
        End If
      
        If Me.Controls("TextBox" & No + 31) = "x" Then
            Me.Controls("TextBox" & No + 31).BackColor = vbGreen
        Else
            Me.Controls("TextBox" & No + 31).BackColor = vbWhite
        End If
    End If
End Sub
 
Üst