Aşağıdaki formülde kırmızı ile işaretlediğim kısımdaki kodu 15 ile 20 arasında rastgele bir değer ver komutu yerine 15 ya 20'den birini rastgele ver şeklinde uyarlamak istiyorum. Mümkün mü acaba?
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, Range("S5:S34")) Is Nothing Then Exit Sub
Range("F" & Target.Row & ":O" & Target.Row).ClearContents
Application.ScreenUpdating = False
If Target <> Empty And IsNumeric(Target) Then
10 Select Case Target
Case Is > 100
MsgBox "100 den büyük değer girdiniz !" & Chr(10) & "İşleminiz iptal edilmiştir !", vbCritical, "Dikkat !"
Target.ClearContents
Target.Select
GoTo Son
Case 100
Range("F" & Target.Row & ":J" & Target.Row).Value = Range("F38:J38").Value
Case 91 To 99
Range("F" & Target.Row & ":J" & Target.Row) = "=RANDBETWEEN(15,20)"
Case 81 To 90
Range("F" & Target.Row & ":J" & Target.Row) = "=RANDBETWEEN(16,19)"
Case 61 To 80
Range("F" & Target.Row & ":J" & Target.Row) = "=RANDBETWEEN(10,18)"
Case 31 To 60
Range("F" & Target.Row & ":J" & Target.Row) = "=RANDBETWEEN(8,14)"
Case 11 To 30
Range("F" & Target.Row & ":J" & Target.Row) = "=RANDBETWEEN(1,4)"
Case Is = 10
Range("F" & Target.Row & ":J" & Target.Row) = 2
Case Is < 10
MsgBox "10 den küçük değer girdiniz !" & Chr(10) & "İşleminiz iptal edilmiştir !", vbCritical, "Dikkat !"
Target.ClearContents
Target.Select
GoTo Son
End Select
If WorksheetFunction.Sum(Range("F" & Target.Row & ":J" & Target.Row)) <> Target Then
GoTo 10
Else
Range("F" & Target.Row & ":J" & Target.Row).Value = Range("F" & Target.Row & ":J" & Target.Row).Value
End If
Selection.SpecialCells(xlBlanks).Areas(1).Cells(1).Select
End If
Son:
Application.ScreenUpdating = True
End Sub
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, Range("S5:S34")) Is Nothing Then Exit Sub
Range("F" & Target.Row & ":O" & Target.Row).ClearContents
Application.ScreenUpdating = False
If Target <> Empty And IsNumeric(Target) Then
10 Select Case Target
Case Is > 100
MsgBox "100 den büyük değer girdiniz !" & Chr(10) & "İşleminiz iptal edilmiştir !", vbCritical, "Dikkat !"
Target.ClearContents
Target.Select
GoTo Son
Case 100
Range("F" & Target.Row & ":J" & Target.Row).Value = Range("F38:J38").Value
Case 91 To 99
Range("F" & Target.Row & ":J" & Target.Row) = "=RANDBETWEEN(15,20)"
Case 81 To 90
Range("F" & Target.Row & ":J" & Target.Row) = "=RANDBETWEEN(16,19)"
Case 61 To 80
Range("F" & Target.Row & ":J" & Target.Row) = "=RANDBETWEEN(10,18)"
Case 31 To 60
Range("F" & Target.Row & ":J" & Target.Row) = "=RANDBETWEEN(8,14)"
Case 11 To 30
Range("F" & Target.Row & ":J" & Target.Row) = "=RANDBETWEEN(1,4)"
Case Is = 10
Range("F" & Target.Row & ":J" & Target.Row) = 2
Case Is < 10
MsgBox "10 den küçük değer girdiniz !" & Chr(10) & "İşleminiz iptal edilmiştir !", vbCritical, "Dikkat !"
Target.ClearContents
Target.Select
GoTo Son
End Select
If WorksheetFunction.Sum(Range("F" & Target.Row & ":J" & Target.Row)) <> Target Then
GoTo 10
Else
Range("F" & Target.Row & ":J" & Target.Row).Value = Range("F" & Target.Row & ":J" & Target.Row).Value
End If
Selection.SpecialCells(xlBlanks).Areas(1).Cells(1).Select
End If
Son:
Application.ScreenUpdating = True
End Sub
