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

[µo°Ý] VBA_«ü©w¹ïÀ³¦CÅܧó«áªºµ{¦¡½X­×¥¿¡C

[µo°Ý] VBA_«ü©w¹ïÀ³¦CÅܧó«áªºµ{¦¡½X­×¥¿¡C

¥»©«³Ì«á¥Ñ Airman ©ó 2015-12-19 20:56 ½s¿è

¥H¤U¬O¹ïÀ³²Ä3¦C®Éªºµ{¦¡½X~

            RW = Array(.[R6] - 3, .[T5] - 3, .Range("R" & b.Row) - 3)
                    Dim R(1 To 3), L(1 To 3)
                    For y = 1 To 3: Set R(y) = .[J:P].Rows(RW(y - 1) + 6).Cells: Next y
            For K = 1 To 7
                  L(1) = K
                  For y = 2 To 3
                      L(y) = Application.Match(R(1)(K), R(y), 0)
                      If IsError(L(y)) Then L(1) = 0: Exit For
                      'If L(y) <> L(1) Then L(1) = 0: Exit For¡@'­Y­n¨D¡e¦PÄæ¡f¡A¥[¤J³o¦æ
                  Next y
                  If L(1) > 0 Then
                    For y = 1 To 3
                        R(y)(L(y)).Select
                        Selection.Interior.ColorIndex = Array(6, 4, 8)(y - 1)
                    Next
                  End If
            Next K


Q_1¡J½Ð°Ý¡J·í¹ïÀ³²Ä3¦C§ï¬°²Ä1¦C®Éªºµ{¦¡½X­n¦p¦ó­×§ï?
            RW = Array(.[R6] - 1, .[T5] - 1, .Range("R" & b.Row) - 1)

Q_2¡J½Ð°Ý¡J·í¹ïÀ³²Ä3¦C§ï¬°²Ä2¦C®Éªºµ{¦¡½X­n¦p¦ó­×§ï?
            RW = Array(.[R6] - 2, .[T5] - 2, .Range("R" & b.Row) - 2)

Q_3¡J½Ð°Ý¡J·í¹ïÀ³²Ä3¦C§ï¬°²Ä4¦C®Éªºµ{¦¡½X­n¦p¦ó­×§ï?
            RW = Array(.[R6] - 4, .[T5] - 4, .Range("R" & b.Row) - 4)

¡¹¡¹¦]¬°¤T­Ó°ÝÃD¸Ñµª¬O­n©ñ¦b¤T­Ó¤£¦PªºÀɮסA©Ò¥H·Ð½Ð±N¤T­Ó°ÝÃD¤À¶}¿W¥ß§@¸Ñ¡CÁÂÁÂ!

PS¡J¥»¨Ó¦³·Q¶}¤TÃDµo°Ý¤ñ¸û²M·¡¡A¦ý®£³Q»~¸Ñ¬O¬°¼W¥[ÂI¼Æ¡A©Ò¥H¨ÖÃDµo°Ý¡A·q½Ð¨£½Ì¡C

¥H¤W  Àµ½Ð¦U¦ì¥ý¶i¡B«e½ú¤£§[½ç±Ð!  ÁÂÁÂ!

¥»©«³Ì«á¥Ñ Airman ©ó 2015-12-19 23:33 ½s¿è

¨Ì»P­ã´£ª©¥D¤j¦bhttp://forum.twbts.com/viewthrea ... a=pageD1&page=4
ªº#37¤ñ¹ï(¦]MÅܼƻP¤p§Ìªº­ìÀÉ®×­«½Æ¡A©Ò¥H¦b¤µ¤Ñªº´£°Ý¸Ì~±N¨ä§ï¬°L)~
RW = Array(b(1, -1)-0, b(1, -1) - .[T3], b(1, -1) - .[T3] * 2
For y = 1 To 3: Set R(y) = .[J:P].Rows(RW(y - 1) + 6).Cells: Next y
Dim M(1 To 3)
For k = 1 To 7
¡@¡@M(1) = k
¡@¡@For y = 2 To 3
¡@¡@¡@¡@M(y) = Application.Match(R(1)(k), R(y), 0)
¡@¡@¡@¡@If IsError(M(y)) Then M(1) = 0: Exit For
¡@¡@¡@¡@'If M(y) <> M(1) Then M(1) = 0: Exit For¡@'­Y­n¨D¡e¦PÄæ¡f¡A¥[¤J³o¦æ¡@
¡@¡@Next y
¡@¡@If M(1) > 0 Then
¡@¡@¡@For y = 1 To 3: R(y)(M(y)).Interior.ColorIndex = Array(4, 45, 8)(y - 1): Next
¡@¡@End If
Next k
¥»¨Ó¥H¬°¬O-0©Î-1©Î-2©Î-3©Î-4©Î.....¤£·|¦³®t§O
¦ý®M¶i¤p§Ìªº¨Ï¥ÎÀɤ¤¡A«o¥u¦³-3¶]¥X¥¿½Tµª®×¡A¨ä¾lªºµª®×³£¤£²Å¦XQQ

ºN¯Á¤F¤@¤Ñ~¤]§ä¤£¥XÃöÁ䪺¿ù»~¬O¦b­þ¸Ì^^"'

·q½Ð½Ñ¦ì¥ý¶i¡B«e½ú¤£§[½ç±Ð¬°Ã«!  ·P®¦^^

TOP

¥»©«³Ì«á¥Ñ Airman ©ó 2015-12-19 23:52 ½s¿è

²§ãªº»¡~
RW = Array(b(1, -1), b(1, -1) - .[T3], b(1, -1) - .[T3] * 2
¤p§Ìªº»{ª¾~´N¬O³æ¯Âªº¤T­Ó«ü©w´Á¼Æ(¦C)~
¬O¤p§Ì»~¸Ñ¤F¶Ü

·q½Ð¦U¦ì°ª¤â¤£§[½ç±Ð¬O©¯~·P®¦

TOP

³][R6]=10, 10-4=6, ©¹¤U¦A§ì4¦C, §Y¬°6,7,8,9¦C¬°¤@­Ó°Ï,
©Ò¥H,
10-4 ¬°¦¹°Ïªº²Ä1¦C
10-3 ¬°¦¹°Ïªº²Ä2¦C
10-2 ¬°¦¹°Ïªº²Ä3¦C
10-1 ¬°¦¹°Ïªº²Ä4¦C

TOP

¦^´_ 4# ­ã´£³¡ªL
­ã¤j:
ÁÂÁ±zªº´£¿ô©M«ü¾É~§ì¥XBug¤F

­è­è¦A±NÀÉ®×¥J²Ó¼fµø¤@¦¸¡Aµoı¬O¤½¦¡©Mµ{¦¡½X¨S¦³°t¹ï~
¦b¤ñ¹ï¦Cªº¤½¦¡®É(.[R6] - 5, .[T5] - 5, .Range("R" & b.Row) - 5)¬O«ü¤T­Ó³æ´Á¼Æ¦C¡A
¦ý¦b¤ñ¹ï°Ïªº¤½¦¡®É¡A´N¦p±z©Ò«ü¾Éªº¤@¯ë¡A¦ý¤p§Ì¨Ã¨S¦³°t¤W¤T­Ó°Ï°ìªºµ{¦¡½X

¸Ñ¨M¤F~¸U¤À·PÁ±z¦h¦¸­@¤ß¶O¯«ªº±Ð¾É~·P®¦............

TOP

        ÀR«ä¦Û¦b : ¡i®É¤é²öªÅ¹L¡j¤@­Ó¤H¦b¥@¶¡°µ¤F¦h¤Ö¨Æ¡A´Nµ¥©ó¹Ø©R¦³¦hªø¡C¦]¦¹¥²¶·»P®É¶¡Ävª§¡A¤Á²ö¨Ï®É¤éªÅ¹L¡C
ªð¦^¦Cªí ¤W¤@¥DÃD