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

·Q¹B¥ÎExcel°µ­Ó©â¼ú

¦^´_ 1# K_Wing
      
    ¥Î¤½¦¡ªº¸Ü¡A¥i¯à·|¦³°ÝÃD¡A
    ©â¼ú¥»¨­´N¬OÀH¾÷ªº¡A©Ò¥H§A¦P¨Æ¥Î¶Ã¼Æªº¤è¦¡¬O¹ïªº¤è¦V¡A
    ¦ý¬O¡A´N§Ú¨Ï¥Î¶Ã¼Æªº±¡ªp¡A¥u­nÀx¦s®æ¦³§ïÅܨì¡A¸Ó¶Ã¼Æ´N·|³Q°õ¦æ¡A
    ¦]¦¹¡A§Ú¥u¦³¥Îvbaªº¤è¦¡¨Ó³B²z¡A½Ð¤U¸üªþ¾×¡AÀ³¸Ó¥i¥H²Å¦X§Aªº»Ý¨D¡C
    ©â¼ú¤è¦¡.rar (12.45 KB)
¾Ç²ß¤~¯à´£¤É¦Û¤v

TOP

¦^´_ 3# K_Wing

   ¾Þ§@¹Ï¥Ü¡A½Ð¦Û¤v¸ÕµÛ²¾°Ê¬Ý¬Ý¡A¤~¯à¼W¥[§AªºEXCEL¯à¤O¡C
   
   
¾Ç²ß¤~¯à´£¤É¦Û¤v

TOP

¥»©«³Ì«á¥Ñ hugh0620 ©ó 2014-12-22 08:30 ½s¿è

¦^´_ 5# K_Wing


    B1§ï¦¨P6
    B2§ï¦¨K14
    ¥t¥~­n§â¨C¤@±Æ¨Ì20­Ó¤H¨Ó¨Ï¥Î¡A­n¦A¥[¤u¤@¤U¡C
¾Ç²ß¤~¯à´£¤É¦Û¤v

TOP

¥»©«³Ì«á¥Ñ hugh0620 ©ó 2014-12-22 09:45 ½s¿è

¦^´_ 5# K_Wing
1. ±Nªºµ{¦¡½X¥þ³¡§R°£
2.±N¤U­±ªºµ{¦¡½X¥þ³¡¶K¤W¡AÀ³¸Ó´N¬O§A­nªºµ²ªG

§Ú¥Îªº¬O¤ñ¸ûª½±µÅÞ¿è©Êªº§PÂ_¨Ó§¹¦¨¡A©Ò¥H·|¤ñ¸ûªø¡A
¨S¤Ó¦h®É¶¡Â²¤Æµ{¦¡½X¡A¨ä¥L¤j¤jÀ³¸Ó¦³§ó²«Kªº¤è¦¡¡C
  1. Sub ²£¥Í©â¼ú¦¸¼Æ()
  2. Dim A As Integer

  3. 'A = Range("B1")   '©â¼ú¤H¼Æ
  4. 'Range("B2").ClearContents
  5. 'Range("A5:B65536").ClearContents '²M°£Âªº¦¸¼Æ

  6. A = Range("P6")       '©â¼ú¤H¼Æ
  7. B = 20                '20¤H¤@±Æ
  8. C = A / B             '¾ã¼Æ¦³¦h¤Ö±Æ(ex. C=100/20=5)


  9. If C = Int(C) Then
  10.    D = C              '·íC¬O¾ã¼Æªº®É­Ô¡ADµ¥©óC´X±Æ¡A°j°é­n¶]ªº¦¸¼Æ
  11. Else
  12.    D = Int(C) + 1     '·íC¤£¬O¾ã¼Æªº®É­Ô¡ADµ¥©óC´X±Æ+1¡A°j°é­n¶]ªº¦¸¼Æ
  13. End If
  14.     Range("A4").Select
  15.     Range(Selection, Selection.End(xlToRight)).Select
  16.     Range(Selection, Selection.End(xlDown)).ClearContents

  17. P = 1
  18. For J = 0 To D - 1
  19.       Cells(4, J * 2 + 1) = "¤u¸¹(©m¦W)"
  20.       Cells(4, J * 2 + 2) = "©â¤¤¸¹½X"
  21.       For I = 1 To B   '²£¥Í½s¸¹
  22.           Cells(I + 4, J * 2 + 1) = P
  23.           P = P + 1
  24.       Next I
  25. Next J

  26. End Sub
  27. Sub ¤@¦¸©â¤@­Ó½s¸¹()

  28. A = Range("P6")       '©â¼ú¤H¼Æ
  29. B = 20                '20¤H¤@±Æ
  30. C = A / B             '¾ã¼Æ¦³¦h¤Ö±Æ(ex. C=100/20=5)
  31. If C = Int(C) Then
  32.    D = C              '·íC¬O¾ã¼Æªº®É­Ô¡ADµ¥©óC´X±Æ¡A°j°é­n¶]ªº¦¸¼Æ
  33. Else
  34.    D = Int(C) + 1     '·íC¤£¬O¾ã¼Æªº®É­Ô¡ADµ¥©óC´X±Æ+1¡A°j°é­n¶]ªº¦¸¼Æ
  35. End If

  36.         '==== ½T©w¸¹½X¤£·|­«½Æ==========
  37. 1
  38.         K = Int(Round(Rnd(), 3) * 100)
  39.         If K > A Then
  40.           GoTo 1
  41.         End If
  42.         
  43.         For J = 0 To D - 1
  44.               For I = 1 To B   '²£¥Í½s¸¹
  45.                   If K = Cells(I + 4, J * 2 + 2) Then
  46.                      GoTo 1
  47.                   End If
  48.               Next I
  49.         Next J
  50.         '==== ½T©w¸¹½X¤£·|­«½Æ==========
  51.         
  52.         P = Application.CountA(Range("B5:B24"), Range("D5:D24"), Range("F5:F24"), Range("H5:H24"), Range("J5:J24"))
  53.         If P < 20 Then
  54.              Range("K14") = K
  55.              If P = 0 Then
  56.                 Cells(4, 2).Offset(1, 0) = K
  57.              Else
  58.                 Cells(4, 2).End(xlDown).Offset(1, 0) = K
  59.              End If
  60.         ElseIf P >= 20 And P < 40 Then
  61.              Range("K14") = K
  62.              If P = 20 Then
  63.                 Cells(4, 4).Offset(1, 0) = K
  64.              Else
  65.                 Cells(4, 4).End(xlDown).Offset(1, 0) = K
  66.              End If
  67.         ElseIf P >= 40 And P < 60 Then
  68.              Range("K14") = K
  69.              If P = 40 Then
  70.                 Cells(4, 6).Offset(1, 0) = K
  71.              Else
  72.                 Cells(4, 6).End(xlDown).Offset(1, 0) = K
  73.              End If
  74.         ElseIf P >= 60 And P < 80 Then
  75.              Range("K14") = K
  76.              If P = 60 Then
  77.                 Cells(4, 8).Offset(1, 0) = K
  78.              Else
  79.                 Cells(4, 8).End(xlDown).Offset(1, 0) = K
  80.              End If
  81.         ElseIf P >= 80 And P < 100 Then
  82.               Range("K14") = K
  83.              If P = 80 Then
  84.                 Cells(4, 10).Offset(1, 0) = K
  85.              Else
  86.                 Cells(4, 10).End(xlDown).Offset(1, 0) = K
  87.              End If
  88.         ElseIf P >= 100 Then
  89.              MsgBox "¤w§¹©â¼ú"
  90.              GoTo 2
  91.         End If
  92. 2

  93. End Sub
½Æ»s¥N½X
¾Ç²ß¤~¯à´£¤É¦Û¤v

TOP

        ÀR«ä¦Û¦b : ¨ü¤HÂI¤ô¤§®¦¡A¶··í´é¬u¥H³ø¡C
ªð¦^¦Cªí ¤W¤@¥DÃD