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

[µo°Ý] VBA µ{¦¡½X²¤Æ¡C

[µo°Ý] VBA µ{¦¡½X²¤Æ¡C

°Ñ¦Òªþ¥ó¡J
http://www.FunP.Net/300415

Private Sub CommandButton1_Click()
Dim j%, k%
   
      Sheets("DATA").Range("I6", "P" & [R6] + 6).Copy [I6] '½Æ»sI:P¸ê®Æ
      Range("I" & [Q5] + 7, "P" & [R6] + 6).Copy [A7]
      Range("I7", "P" & [Q5] + 6).Copy Range("A" & [Q6] + 7) '½Æ»sA:H¸ê®Æ
      Cells([T5] + 6, 9).Interior.ColorIndex = 4 'IÄ檺T5´Á¼Æ¼Ð¥Ü©³¦â
    If ([T5] + [Q6]) Mod [R6] > 0 Then
      Cells(([T5] + [Q6]) Mod [R6] + 6, 1).Interior.ColorIndex = 8 'AÄ檺T5´Á¼Æ¼Ð¥Ü©³¦â
    Else
      Cells([R6] + 6, 1).Interior.ColorIndex = 8
    End If
   
   For j = 10 To 16
        If Cells([T5] + 6, j) = [R5] Then  '¥HIÄæT5´Á¼Æ¦³Åã¥ÜR5­È¬°°ò·Ç±ø¥ó
             If ([T5] + [Q6]) Mod [R6] = 0 Then
              Cells([R6] + 6, j - 8).Interior.ColorIndex = 8
              Cells([R6] + 6, j).Interior.ColorIndex = 37
        With Cells([Q6] + 6, j - 8)
             .Interior.ColorIndex = 8
             .Font.ColorIndex = 7
             .Font.FontStyle = "²ÊÅé"
        End With
        With Cells([Q6] + 6, j)
             .Interior.ColorIndex = 37
             .Font.ColorIndex = 7
             .Font.FontStyle = "²ÊÅé"
        End With
        
        Else
             For k = 0 To Int(([R6] - ([T5] + [Q6]) Mod [R6]) / [Q6])
              Cells(([T5] + [Q6]) Mod [R6] + 6 + [Q6] * k, j - 8).Interior.ColorIndex = 8  'AÄæT5´Á¨Ì¦U¶¡¶Z¼Æ©¹¤U¼Ð¥Ü©³¦â
              Cells(([T5] + [Q6]) Mod [R6] + 6 + [Q6] * k, j).Interior.ColorIndex = 37
             Next k
        With Cells(([R6] - ([R6] - ([T5] + [Q6]) Mod [R6]) Mod [Q6] + [Q6]) Mod [R6] + 6, j - 8)  'AÄæ=kªº³Ì«á¶¡¶Z´Á¼Æ¦A¥[¤@­Ó¶¡¶Z¼Ð¥Ü©³¦â
             .Interior.ColorIndex = 8
             .Font.ColorIndex = 7
             .Font.FontStyle = "²ÊÅé"
        End With
        With Cells(([R6] - ([R6] - ([T5] + [Q6]) Mod [R6]) Mod [Q6] + [Q6]) Mod [R6] + 6, j)
             .Interior.ColorIndex = 37
             .Font.ColorIndex = 7
             .Font.FontStyle = "²ÊÅé"
        End With
        End If
        End If
   
   Next j

[R6].Select
End Sub

»Ý¨D
½Ð°Ý¡J
µ{¦¡½X¯à¦p¦ó¦A²¤Æ?
¥H¤W  Àµ½Ð¦U¦ì«e½ú¡B¥ý¶i¤£§[½ç±Ð! ÁÂÁÂ!

¸É¥R»¡©ú:
­«ÂI¬O¦b¦C31~¦C34
¦]¬°([T5] + [Q6]) Mod [R6] = 0®É¡A·|²£¥Íbug¡A¥u¦n¤À¦¨¤W¤U¤G¬q¼g~
©Ò¥Hı±oµ{¦¡½X¦³¨Ç¤¾ªø¡A¤£ª¾¬O§_¯à¦Aµy§@¾ã²z²¤Æ¤§?
ÁÂÁÂ!

TOP

¥»©«³Ì«á¥Ñ ­ã´£³¡ªL ©ó 2015-11-9 14:49 ½s¿è

If ([T5] + [Q6]) Mod [R6] > 0 Then
¡@¡@Cells(([T5] + [Q6]) Mod [R6] + 6, 1).Interior.ColorIndex = 8 'AÄ檺T5´Á¼Æ¼Ð¥Ü©³¦â
Else
¡@¡@Cells([R6] + 6, 1).Interior.ColorIndex = 8
End If

§ï¦¨¡G
N = ([T5] + [Q6]) Mod [R6]
If N = 0 Then N = [R6]
Cells(N + 6, 1).Interior.ColorIndex = 8
N = ([T5] + [Q6]) Mod [R6]¡@'¦A­«¸m¢Ü¡AÅý¤U¤è¤Þ¥Î

TOP

If ([T5] + [Q6]) Mod [R6] = 0 Then
¡ã¡ã
¡ã¡ã
End If

§ï¦¨¡G
If N = 0 Then¡@'³o¬O©µÄò¤W¤èªº­È¡]¥H¤U¦P¡^¡@
¡@¡@Cells([R6] + 6, j - 8).Interior.ColorIndex = 8
¡@¡@Cells([R6] + 6, j).Interior.ColorIndex = 37
¡@¡@X = [Q6]
Else
¡@¡@For k = 0 To Int(([R6] - N) / [Q6])
¡@¡@¡@¡@Cells(N + 6 + [Q6] * k, j - 8).Interior.ColorIndex = 8
¡@¡@¡@¡@Cells(N + 6 + [Q6] * k, j).Interior.ColorIndex = 37
¡@¡@Next k
¡@¡@X = ([R6] - ([R6] - N) Mod [Q6] + [Q6]) Mod [R6]
End If
¡@
With Cells(X + 6, j - 8)
¡@¡@¡@.Interior.ColorIndex = 8: .Font.ColorIndex = 7: .Font.FontStyle = "²ÊÅé"
End With
With Cells(X + 6, j)
¡@¡@¡@.Interior.ColorIndex = 37: .Font.ColorIndex = 7: .Font.FontStyle = "²ÊÅé"
End With

TOP

¦^´_ 4# ­ã´£³¡ªL
­ã¤j:
ÁÂÁ±zªº¸Ô²Ó¤À¸Ñ¡C
¤p§Ì¨ü¯q¨}¦h~·P®¦^^

TOP

        ÀR«ä¦Û¦b : ¤@­Ó¤Hªº§Ö¼Ö¡D¤£¬O¦]¬°¥L¾Ö¦³±o¦h¡A¦Ó¬O¦]¬°¥L­p¸û±o¤Ö¡C
ªð¦^¦Cªí ¤W¤@¥DÃD