ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

§xÃøÃD ¨D°ª¤â¬Û§U!!!!

¥»©«³Ì«á¥Ñ jackyq ©ó 2018-2-14 13:31 ½s¿è

Sub ³Ì²³æªk___________________()

'²Õ¼Æ¹L¤j®É, ¹Bºâ·|·¥«×¯Ó®É

  ¥­§¡­È = [A2]
    ¤W­­ = [B2]
    ¤U­­ = [C2]
    ²Õ¼Æ = [D2]

  Randomize
  
  Do
    Value_Sum = 0
    For w = 1 To (²Õ¼Æ - 1)
        Value = Rnd * (¤W­­ - ¤U­­) + ¤U­­
        Value_Sum = Value_Sum + Value
        Range("G" & w) = Value
    Next
    ´Ý­È = ¥­§¡­È * ²Õ¼Æ - Value_Sum
    ´`Àô¦¸¼Æ = ´`Àô¦¸¼Æ + 1
   
  Loop Until ´Ý­È >= ¤U­­ And ´Ý­È <= ¤W­­
  Range("G" & w) = ´Ý­È
  Debug.Print ´`Àô¦¸¼Æ
End Sub

TOP

¥»©«³Ì«á¥Ñ jackyq ©ó 2018-2-14 13:32 ½s¿è

Sub ³Ì¤p´`Àô___________________()

  ¥­§¡­È = [A2]
    ¤W­­ = [B2]
    ¤U­­ = [C2]
    ²Õ¼Æ = [D2]

  Randomize
   
  For w = 1 To (²Õ¼Æ - 1)
      Value = Rnd * (¤W­­ - ¤U­­) + ¤U­­
      Value_Sum = Value_Sum + Value
      Range("G" & w) = Value
  Next
  Value = ¥­§¡­È * ²Õ¼Æ - Value_Sum
  If Value < ¤U­­ Then
     ´Ý­È = Value - ¤U­­
     Value = ¤U­­
  End If
  If Value > ¤W­­ Then
     ´Ý­È = Value - ¤W­­
     Value = ¤W­­
  End If
  Range("G" & w) = Value
        
  If ´Ý­È = 0 Then Exit Sub

  Do
  For w = 1 To ²Õ¼Æ
        value_try = Range("G" & w) + (´Ý­È / ²Õ¼Æ)
     If value_try >= ¤U­­ And value_try <= ¤W­­ Then
        Range("G" & w) = value_try
        alls = alls + 1
     If alls >= ²Õ¼Æ Then Exit Do
     End If
  Next
  Loop
   
End Sub

TOP

        ÀR«ä¦Û¦b : ºw¤ô¦¨ªe¡C²É¦Ì¦¨ÅÚ¡A¤Å»´¤vÆF¡A¤Å¥Hµ½¤p¦Ó¤£¬°¡C
ªð¦^¦Cªí ¤W¤@¥DÃD