Soru Puantaj formunda hafta sonlarını renklendirerek pasif etme

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,490
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Hocam ekli dosyada form üzerinde yıl ve ay seçildiği zaman hafta sonlarına denk gelen günleri textboxlarda renklendirerek veri girişine kapatmak için yardımcı olabilir misiniz?
 

Ekli dosyalar

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,490
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Korhan Abi
Ellerine sağlık. Teşekkür ederim. Sağ olasın
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Combobox2 kodlarını aşağıdakiyle değiştirip deneyin:

PHP:
Private Sub ComboBox2_Change()
    Dim Ay As Integer
    If ComboBox2.Value = "Ocak" Then
        eskiay = 12
        eskiyil = ComboBox1.Value - 1
        Ay = 1
        yil = ComboBox1.Value
        Label18.Caption = "Aralık"
        Label33.Caption = ComboBox2.Value
    Else
        eskiay = ComboBox2.ListIndex
        eskiyil = ComboBox1.Value
        Ay = ComboBox2.ListIndex + 1
        yil = ComboBox1.Value
        Label18.Caption = ComboBox2.List(ComboBox2.ListIndex - 1)
        Label33.Caption = ComboBox2.Value
    End If
        
    For i = 1 To 31
        If ComboBox2 = "Mayıs" Or ComboBox2 = "Temmuz" Or ComboBox2 = "Ekim" Or ComboBox2 = "Aralık" Then
            TextBox17.Visible = False
            Label17.Visible = False
        ElseIf ComboBox2 = "Mart" Then
            If Day(WorksheetFunction.EoMonth(DateSerial(ComboBox1.Value, 2, 1), 0)) = 29 Then
                TextBox17.Visible = False
                Label17.Visible = False
                TextBox16.Visible = False
                Label16.Visible = False
            ElseIf Day(WorksheetFunction.EoMonth(DateSerial(ComboBox1.Value, 2, 1), 0)) = 28 Then
                TextBox17.Visible = False
                Label17.Visible = False
                TextBox16.Visible = False
                Label16.Visible = False
                TextBox15.Visible = False
                Label15.Visible = False
            End If
        Else
            TextBox17.Visible = True
            Label17.Visible = True
            TextBox16.Visible = True
            Label16.Visible = True
            TextBox15.Visible = True
            Label15.Visible = True
        End If
        If Me.Controls("TextBox" & i).Visible = True Then
            If i < 18 Then
                If WorksheetFunction.Weekday(DateSerial(eskiyil, eskiay, Me.Controls("Label" & i).Caption), 2) > 5 Then
                    Me.Controls("Textbox" & i).Enabled = False
                    Me.Controls("Textbox" & i).BackColor = &HFF&
                Else
                    Me.Controls("Textbox" & i).Enabled = True
                    Me.Controls("Textbox" & i).BackColor = &H80000005
                End If
            Else
                If WorksheetFunction.Weekday(DateSerial(yil, Ay, Me.Controls("Label" & i + 1).Caption), 2) > 5 Then
                    Me.Controls("Textbox" & i).Enabled = False
                    Me.Controls("Textbox" & i).BackColor = &HFF&
                Else
                    Me.Controls("Textbox" & i).Enabled = True
                    Me.Controls("Textbox" & i).BackColor = &H80000005
                End If
            End If
        End If
    Next
End Sub
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,490
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Yusuf Abi
Ellerine Sağlık. Teşekkür Ederim.

Rica etsem
Yıl ve Ay seçildikten sonra hafta içi olan günlere puantaj girilirken "30" saatini aşarsa nasıl uyarı verdirip de o haftanın textboxlarının içini boş yapabilirim?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Sorunuzu anlamadım maalesef.

Ben olsam bu işlem için userform kullanmaz, sayfa üzerinde işlem yapardım. Çünkü userform nesnelerini kontrol etmek hücreleri kontrol etmekten çok çok çok daha zordur.
 
Üst