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

[µo°Ý] ¦b¤è°}©Î¯x°}¤¤,¥H±ÛÂà¤è¦¡¶ñ¤J­È

¥»©«³Ì«á¥Ñ no3-taco ©ó 2015-10-25 19:34 ½s¿è

¨S¦³¼g±o«Üºë¹ê¡A¦ý¬Oµ²ªG¬O¤@¼Ëªº
ps:»Ý¥ýÂI¿ï¤@­Ó¨¬°÷¶ñº¡ªºÀx¦s®æ
  1. Sub testarr()  '±q³o¸Ì°õ¦æ
  2. arrX 7, 1  '7¶¥ ,¼Æ¦Cªì©l­È
  3. End Sub

  4. Sub arrX(numX&, k&)
  5. Dim cx&, cy&
  6. arr = Array(0, 1, 0, -1, 0, 1)
  7. If numX <> 1 Then
  8. arrX numX - 2, k
  9.     p = (numX - 1) / 2
  10.     For i = 1 To 4
  11.         For j = 0 To numX - 2
  12.             k = k + 1
  13.             cx = ActiveCell.Row + p * arr(i - 1) + arr(i) * j - arr(i) * (p - 1)
  14.             cy = ActiveCell.Column + p * arr(i) + arr(i + 1) * j - arr(i + 1) * (p - 1)
  15.             Cells(cx, cy) = k
  16.         Next j
  17.     Next i
  18.     p = p + 1
  19. Else
  20.     ActiveCell = k
  21. End If
  22. End Sub
½Æ»s¥N½X
2

µû¤À¤H¼Æ

TOP

¦^´_ 6# ­ã´£³¡ªL

p = p + 1 '­×§ï®É§Ñ°O®³±¼

§Ú¤£¬O¦Ñ¤â¡A¥u¬O­è­è½m²ß¼g¥¿¦n¦³¼g¥X¨Ó

TOP

¦^´_ 8# ­ã´£³¡ªL

¨S¦³¼g±o«Ü¦n¡A¤@¶}©l´N¥u¦Ò¼{¨ì¹ïºÙ©Ê
¦ý¬OÁÙ¬O¦³²Å¦XÃD¥Ø»Ý¨D¡A¶K¤W¨ÓÅý¤j®a«ü¾É¶¶«K­×¥¿­þ¸ÌÁÙ¦³°ÝÃD
  1. Sub testarrX2()  '³o¸Ì°õ¦æ
  2. Cells.Clear
  3. Dim n&: n = 15        '¥u¯à©_¼Æ
  4. Cells(11, 8).Select    '=>¨¬°÷¶ñ¥Rªº¦ì¸m
  5. arrX2 n, n, 0         '©_¼Æ¤è°} ,©T©w­È ,(0=>²Å¸¹ªí¦¡,¤j©ó0¼Æ¦r=>§Ç¦Cªí¥Ü)
  6. End Sub

  7. Sub arrX2(numX&, n&, k&)
  8. Dim cx&, cy&, arr, arr2, arr3
  9. arr = Array(0, 1, 0, -1, 0, 1)
  10. arr2 = Array("¢{", "¢}", "¢|", "¢z", "¡´")
  11. arr3 = Array("", "¡õ", "¡ö", "¡ô", "¡÷")

  12. If numX <> 1 Then
  13.     arrX2 numX - 2, n, k
  14.     p = (numX - 1) / 2  '(¼W¶q)¦ì²¾¶q
  15.     For i = 1 To 4
  16.         For j = 0 To numX - 2   
  17.             cx = ActiveCell.Column + p * arr(i) + arr(i + 1) * (j - p + 1)
  18.             cy = ActiveCell.Row + p * arr(i - 1) + arr(i) * (j - p + 1)
  19.             If k = 0 Then
  20.                 If i = 1 And j = 0 Then
  21.                     Cells(cy, cx) = arr2(0)
  22.                 ElseIf i < 4 And j = numX - 2 Then
  23.                     Cells(cy, cx) = arr2(i)
  24.                 ElseIf j = numX - 2 And numX = n Then
  25.                     Cells(cy, cx) = arr2(i)
  26.                 Else
  27.                     Cells(cy, cx) = arr3(i)
  28.                 End If
  29.             Else
  30.                 k = k + 1
  31.                 Cells(cy, cx) = k
  32.             End If
  33.         Next j
  34.     Next i
  35. Else
  36.     ActiveCell = IIf(k > 0, k, "¡·")
  37. End If
  38. End Sub
½Æ»s¥N½X
1

µû¤À¤H¼Æ

TOP

        ÀR«ä¦Û¦b : °µ¦n¨Æ¤£¯à¤Ö§Ú¤@¤H¡A°µÃa¨Æ¤£¯à¦h§Ú¤@¤H¡C
ªð¦^¦Cªí ¤W¤@¥DÃD