merhabalar ekteki excel dosyasında puantaj tablosu 30günlük 31gün olan günlerde macro kod hata veriyor bunu nasıl düzeltebilirim arkadaşlar 31 yapınca kodlamada ayarı excel donuyor ve yanıt vermeyip kapanıyor
30 günlük macro kod aşagıdadır ayrıca excel olarakda yükledim eke
30 günlük macro kod aşagıdadır ayrıca excel olarakda yükledim eke
Kod:
'Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Son_Sat, EklE As Integer
Dim i, Tp_Mes, Hd_Sut As Byte
Son_Sat = Cells(Rows.Count, "AI").End(3).Row
If Intersect(Target, Range("AI4:AI" & Son_Sat)) Is Nothing Then Exit Sub
Randomize Timer
For i = 5 To 34
If IsNumeric(Cells(Target.Row, i)) Then
Cells(Target.Row, i) = Int(9 * Rnd)
If Cells(Target.Row, i) = 0 Then Cells(Target.Row, i) = ""
End If
Next
Hd_Sut = 5
Do While Tp_Mes <> Cells(Target.Row, "AI")
If IsNumeric(Cells(Target.Row, Hd_Sut)) Then
Tp_Mes = Application.WorksheetFunction.Sum(Range(Cells(Target.Row, "E"), Cells(Target.Row, "AH")))
'Hd_Sut = Int((34 - 5 + 1) * Rnd + 5)
If Tp_Mes > Cells(Target.Row, "AI") And Cells(Target.Row, Hd_Sut) > 0 Then
Cells(Target.Row, Hd_Sut) = Cells(Target.Row, Hd_Sut) - 1
ElseIf Tp_Mes < Cells(Target.Row, "AI") And Cells(Target.Row, Hd_Sut) < 8 Then
Cells(Target.Row, Hd_Sut) = Cells(Target.Row, Hd_Sut) + 1
End If
If Cells(Target.Row, Hd_Sut) = 0 Then Cells(Target.Row, Hd_Sut) = ""
End If
Hd_Sut = Hd_Sut + 1
If Hd_Sut > 34 Then Hd_Sut = 5
Loop
End Sub
