Daha önce Buradaki konuda rastgele sayı atamasını sormuştum Korhan bey sağolsun yardımcı olmuştu. ancak ben formu yeni yaptığım için eklememiştim haliyle benden kaynaklanan sorun neticesinde istediğime kısmen ulaşabilmiştim. ekte istediğim formu görebilirsiniz. Korhan beyin hazırladığı çalışmada veriler alt alta sıralanmıştı ve en sona sarı hücrelerin toplamı gelmişti. benim çalışmamda ise istediğim yan yana olması ve sarı hücrelerin toplamı en sona değil başka bi yere gelmesi.
Korhan beyin vb ye eklediği kod şu şekilde;
benim çalışmamda sanırım sarı toplamlar olayı bozuyor hücreleri nekadar değiştirdiysem olmadı. kısaca çalışmanın amaacını anlatacak olursam;
genel toplama örneğin 20 yazdım. toplamdaki 31 hücreye rastgele 20 tane 1 11 tane 0 atacak. Ancak şöylede bir ayrıntı ( koşul ) var sarı hücrelerle ilgili. eğer sarı hücreden önce 6 hücre varsa ve 6 sıda 1 ise sarı mutlaka 1 olmalı. eğer 6 dan az 1 varsa veya 6 dan az hücre varsa 0 atmalı.
eğer mümkünse kodları ve/veya örnek bi çalışma veya ekteki çalşma üzerinde düzenleyerek yanıtlayabilirmisinzi..
teşekkürler
Korhan beyin vb ye eklediği kod şu şekilde;
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [A1]) Is Nothing Then Exit Sub
If Target > 31 Then Exit Sub
If Target <> Empty Then
Range("A2:A33") = Empty
If Target = 31 Then
Range("A2:A32") = 1
Else
Devam:
Randomize
Satır = Int((31 * Rnd) + 1)
If Cells(Satır, 1) = Empty Then
Cells(Satır, 1) = 1
Say = Say + 1
If Cells(Satır, 1).Interior.ColorIndex = 6 Then
Range("A33") = Range("A33") + Cells(Satır, 1)
End If
If Say = Target Then
For X = 2 To 32
If Cells(X, 1) = Empty Then Cells(X, 1) = 0
Next
Else
GoTo Devam
End If
Else
GoTo Devam
End If
End If
Else
Range("A2:A33") = Empty
End If
Son:
End Sub
genel toplama örneğin 20 yazdım. toplamdaki 31 hücreye rastgele 20 tane 1 11 tane 0 atacak. Ancak şöylede bir ayrıntı ( koşul ) var sarı hücrelerle ilgili. eğer sarı hücreden önce 6 hücre varsa ve 6 sıda 1 ise sarı mutlaka 1 olmalı. eğer 6 dan az 1 varsa veya 6 dan az hücre varsa 0 atmalı.
eğer mümkünse kodları ve/veya örnek bi çalışma veya ekteki çalşma üzerinde düzenleyerek yanıtlayabilirmisinzi..
teşekkürler
Ekli dosyalar
-
38.5 KB Görüntüleme: 8