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

½Ð°Ý¦p¦ó¥ÎARRAY°µ¸ê®Æ¤ñ¹ï¡H

¦^´_ 1# ¤p«L«È
  1. Public k%
  2. Sub Draw()
  3. If Application.CountA([A:A]) >= k ^ 2 Then Exit Sub
  4. n = Int((k ^ 2) * Rnd + 1)
  5. Do Until IsError(Application.Match(n, [A:A], 0))
  6. n = Int((k ^ 2) * Rnd + 1)
  7. Loop
  8. r = Application.CountA([A:A]) + 1
  9. [A5].Offset(r) = n
  10. Set a = Range("I1").CurrentRegion.Find(n, lookat:=xlWhole)
  11. a.Interior.ColorIndex = 3
  12. Set b = a.EntireColumn
  13. Set c = a.EntireRow
  14. ar = Array(b, c)
  15. For i = 0 To 1
  16. yn = True
  17. For Each x In Intersect(ar(i), Range("I1").CurrentRegion)
  18.    If x.Interior.ColorIndex <> 3 Then yn = False: Exit For
  19. Next
  20. If yn = True Then MsgBox "Bango!!!": Exit Sub
  21. Next
  22. Set b = [I1]
  23. Set c = [I1].Offset(, k - 1)
  24. ar = Array(b, c)
  25. For i = 0 To 1
  26. yn = True: x = IIf(i = 0, 1, -1)
  27.   For j = 0 To k - 1
  28.   If ar(i).Offset(j, j * x).Interior.ColorIndex <> 3 Then yn = False: Exit For
  29.   Next
  30.    If yn = True Then MsgBox "Bango!!!": Exit Sub
  31. Next
  32. End Sub


  33. Sub Restart()
  34. Sheets(1).Cells.Clear
  35. Sheets(2).Cells.Clear
  36. Sheets(3).Cells.Clear
  37. End Sub

  38. Sub Paper()

  39. k = InputBox("¿é¤J°}¦Cºû¼Æ", , 5)
  40. ReDim ar(k, k)
  41. ReDim ay(k, k)
  42. For i = 0 To k - 1
  43.    For j = 0 To k - 1
  44.    ar(i, j) = Rnd
  45.    Next
  46. Next
  47. [I1].Resize(k, k) = ar
  48. For i = 0 To k - 1
  49.    For j = 0 To k - 1
  50.    ay(i, j) = Application.Rank(ar(i, j), [I1].Resize(k, k))
  51.    Next
  52. Next
  53. [I1].Resize(k, k) = ay

  54. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

        ÀR«ä¦Û¦b : ¥@¤W¦³¨â¥ó¨Æ¤£¯àµ¥¡G¤@¡B§µ¶¶ ¤G¡B¦æµ½¡C
ªð¦^¦Cªí ¤W¤@¥DÃD