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

[µo°Ý] ¶¥¼hÅÞ¿è§PÂ_

[µo°Ý] ¶¥¼hÅÞ¿è§PÂ_

A     B     C     D     E     F      G
1                                        *        6B01M
        2                                        6102B
        2                                        6105B
1                                                2530B
        2                                        2410M
        2                                        241ZM
                3                                2110M
                3                        *        3100B
                        4                        3200B
                        4                *        3200B
                        4                        3600B
                                5                3600B
                        4                        3B00B
                        4                *        3B00B
                        4                *        3B02M
                                5                3B01B0
                        4                *        3B02M
                                5                3B01B
        2                                        4101B
        2                                *        4101B
        2                                        4101B
        2                                        4101B

¤W­±ªºÂ²¹Ï¬O§ÚEXCEL¤¤©Ò¥X²{ªº¹Ï¼Ë
(¦]¬°§ÚµLªk¥Îªí®æ¡A¥u¯à²o±jªº¥Î³oºØ¤è¦¡§e²{....Sorry...)
¼Æ¦r¬O¥Nªí¶¥¼h(¥Ñ¤W¦Ó¤UÀ˵ø)
¦pªGFÄæ¨S¦³Åã¥Ü*¦r¸¹
«h³Ì«áGÄ檺¥N½XÅã¥Ü¬°¬õ¦â¡A¤Ï¤§¦³*«h¬°¶Â¦â

¶¥¼hªº¥Î·N:
¦pªG1¶¥¬°*«h2.3.4.5...¶¥³£¬°¶Â¦â(¤£¥Î§ïÅÜ)
¦pªG2¶¥¬°*«h3.4.5.......¶¥³£¬°¶Â¦â(¤£¥Î§ïÅÜ)
.......
¦pªG¦P¶¥EX: 2¤U­±±µµÛ¬O2«h­Ó§O¨Ì¾Ú¬O§_¦³*¨Ó°µÃC¦â§P§O

¤p§Ì§Ú¥Ø«e©Ò°µªº¡A¥u¯à§P§O¬O§_¦³*¡A¦ý¤@ª½·Q¤£¨ì¸Ó¦p¦ó¨Ì¶¥¼h§PÂ_ªºÅÞ¿è

³Â·Ð¦U¦ì¤j¤jÀ°À°¦£

¥H¤Uªþ¤Wµ{¦¡½X¤ÎEXCELÀÉ®×

ÁÂÁÂ : )
  1. Sub choose()
  2.    
  3.     Row = Worksheets(1).Range("A35536").End(xlUp).Row

  4.    
  5.     lv = 6
  6.     Dim i As Integer
  7.    
  8.     For i = 1 To Row
  9.    
  10.           'Debug.Print "No." & i
  11.           'Debug.Print "lv:" & lv
  12.                
  13.                
  14.            If Range("A" & i) <> "" And Range("F" & i) = "" Then 'And lv <= 6 Then
  15.            Range("H" & i) = "color1"
  16.            lv = 5
  17.            End If
  18.                

  19.            If Range("B" & i) <> "" And Range("F" & i) = "" And lv <= 5 Then
  20.            Range("H" & i) = "color2"
  21.            lv = 4
  22.            End If


  23.            If Range("C" & i) <> "" And Range("F" & i) = "" And lv <= 4 Then
  24.            Range("H" & i) = "color3"
  25.            lv = 3
  26.            End If
  27.             
  28.    
  29.            If Range("D" & i) <> "" And Range("F" & i) = "" And lv <= 3 Then
  30.            Range("H" & i) = "color4"
  31.            lv = 2
  32.            End If
  33.                
  34.                
  35.            If Range("E" & i) <> "" And Range("F" & i) = "" And lv <= 2 Then
  36.            Range("H" & i) = "color5"
  37.            lv = 1
  38.            End If
  39.                
  40.                
  41.     Next
  42.    
  43. End Sub
½Æ»s¥N½X
Test.zip (15.97 KB)

¦^´_ 1# li_hsien
¸Õ¸Õ¬Ý¬O³o¼Ë¶Ü?
  1. Option Explicit
  2. Sub choose()
  3.     Dim i As Integer, Rng As Range, lv As Integer
  4.     With Worksheets(1)
  5.         lv = 6
  6.         For i = 1 To .Range("G35536").End(xlUp).Row
  7.             .Range("G" & i).Interior.ColorIndex = IIf(.Range("F" & i) = "", 3, lv)
  8.             .Range("h" & i) = ""
  9.             If .Range("F" & i) = "" Then
  10.                 Set Rng = .Range("A" & i).Resize(, 5).Find("*")
  11.                 .Range("h" & i) = "color" & Rng.Column
  12.             End If
  13.         Next
  14.     End With
  15. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 2# GBKEE

(SORRY§Ú©Èª©­±¶]±¼©Ò¥H¥Î¬A¸¹¨Óµù°OÃC¦â)
¼Ð¬õ¦âªº¬O¦³()ªº§Ç¸¹

¥»¨­¬°*¤£¥Î¼Ð¦â
¥H¤Uªº¶¥¯Å¤]³£¤£¥Î¼Ð
(1>2>3>4>5)


¦]¬°²Ä¤@­Ó1¶¥¥L¦³¼Ð*
©Ò¥H¥H¤Uªº¤£¥Î¼Ð¦â

²Ä¤G­Ó1¨S¦³¼Ð*
©Ò¥H¥H¤Uªº2.3.4.5­n°µ*§PÂ_
¨ì¤F²Ä¤G­Ó3¦³¼Ð*
©Ò¥H¥H¤Uªº4.5³£¤£»Ý¼Ð¦â¤F

³Ì¤U­±ªº¥|­Ó2©¹¤W¶¥¬Ý¬O²Ä¤G­Ó1
¦]¬°1¨S¼Ð*
©Ò¥H¨º¥|­Ó2¦Û¤v°µ­Ó§O§PÂ_
¦³*«h¤£¥Î¼Ð¦â¡A¨S*«h­n¼Ð¦â

³W«h¤j­P»¡©ú¬O³o¼Ë
¦³ÂI¶Ã¡A§Æ±æ¤j¤jÀ°¦£¸Ñ¨M
ÁÂÁÂ : )


1                                        *        6B01M
        2                                        6102B
        2                                        6105B
1                                                2530B(¬õ¦â)
        2                                        2410M(¬õ¦â)
        2                                        241ZM(¬õ¦â)
                3                                2110M(¬õ¦â)
                3                        *        3100B
                        4                        3200B
                        4                *        3200B
                        4                        3600B
                                5                3600B
                        4                        3B00B
                        4                *        3B00B
                        4                *        3B02M
                                5                3B01B
                        4                *        3B02M
                                5                3B01B
        2                                        4101B(¬õ¦â)
        2                                *        4101B
        2                                        4101B(¬õ¦â)
        2                                        4101B(¬õ¦â)

TOP

¦^´_ 3# li_hsien

ªþÀɬO¥¿½T¸Ó¥X²{ªºÀx¦s®æÃC¦â
«á­±ªºCOLOER1.2.3...
¬O§Ú°Ñ¦Ò­×§ï¥Îªº


µ¹±z¥i¥H°Ñ¦Ò¤@¤U

ÁÂÁÂ : )

Test.zip (16.06 KB)

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2013-10-28 16:22 ½s¿è

¦A¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Sub choose()
  3.     Dim flag As Boolean, i As Integer, Rng As Range
  4.     With Worksheets(1)
  5.         For i = 1 To .Range("G35536").End(xlUp).Row  'GÄæ¤~¯uªº¦³¸ê®Æ
  6.             .Range("h" & i) = ""
  7.             If .Range("a" & i) <> "" And .Range("F" & i) = "" Then
  8.                 flag = True
  9.             ElseIf .Range("a" & i) <> "" And .Range("F" & i) = "*" Then
  10.                 flag = False
  11.             End If
  12.             If flag = True And .Range("F" & i) = "" Then
  13.                Set Rng = .Range("A" & i).Resize(, 5).Find("*")
  14.                 .Range("h" & i) = "color" & Rng.Column
  15.             End If
  16.         Next
  17.     End With
  18. End Sub
½Æ»s¥N½X
¦^´_ 3# li_hsien
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 5# GBKEE

§Ú´N¬O¥d¦b³oÃäXDD

²Ä¤G­Ó3¦]¬°¥L¦³¼Ð°O*
©Ò¥H¥H¤Uªº4.5¶¥³£¤£¥ÎÅܦâ
(G8~G18³£¤£¥ÎÅÜÃC¦â)

ª½±µ¸õ¨ì¤W¤@¶¥(2)

¨Ó§PÂ_ÅÜÃC¦â
   
¬O¤@­Ó¦^ÂЪºªþ¥ó
µ{¦¡½X¨S§ó§ï³á
§Ú¥uÅýªí³æÅã¥Ü¥¿½TªºÃC¦â¦Ó¤w


³Â·ÐÅo ÁÂÁ : )

TOP

  1. Sub Test()
  2.   Dim CurrentLevel As Long, i As Long
  3.   Dim bMark As Boolean, ar() As Long
  4.   
  5.   With Sheets(1).[G1].CurrentRegion
  6.     ReDim ar(.Cells(1).Column - 1 To .Columns.Count)
  7.     ar(LBound(ar)) = vbRed
  8.    
  9.     For i = 1 To .Rows.Count
  10.       CurrentLevel = .Range(.Cells(i, "A"), .Cells(i, "E")).SpecialCells(xlCellTypeConstants).Column
  11.       bMark = (.Cells(i, "F").Value = "*")
  12.       
  13.       .Cells(i, "G").Interior.Color = IIf(bMark, vbYellow, ar(CurrentLevel - 1))
  14.       ar(CurrentLevel) = .Cells(i, "G").Interior.Color
  15.     Next
  16.   End With
  17. End Sub
½Æ»s¥N½X
¦^´_ 6# li_hsien

TOP

¦^´_ 6# li_hsien
¦A¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Sub choose()
  3.     Dim flag(1 To 5) As Boolean, i As Integer, R As Integer, ii As Integer
  4.     With Worksheets(1)
  5.         .Range("a1", .Range("G35536").End(xlUp)).Interior.ColorIndex = 6
  6.         For i = 1 To .Range("G35536").End(xlUp).Row  'GÄæ¤~¯uªº¦³¸ê®Æ
  7.             R = .Range("A" & i).Resize(, 5).Find("*", .Range("A" & i)).Column
  8.             If .Range("F" & i) = "*" And R = 1 Then Erase flag
  9.             If .Range("F" & i) = "" Then
  10.                 flag(R) = True
  11.             ElseIf .Range("F" & i) = "*" Then
  12.                 flag(R) = False
  13.             End If
  14.             For ii = 1 To R
  15.                 If flag(ii) = False Then GoTo 10:
  16.             Next
  17.             .Range("G" & i).Interior.ColorIndex = 3
  18. 10:
  19.         Next
  20.     End With
  21. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 7# stillfish00


ÁÂÁ¤j¤jªºÀ°¦£

¤£¹L§ÚCOPY¨Ó´ú¸ÕÁÙ¬O¸ò­è­èªO¤j©ÒPO¥X¨Óªºµ²ªG®t¤£¦h

¥¿±`¨Ó»¡¦pªG1¶¥¼Ð°O* ¤U­±ªº³£¤£»Ý­nÅܦâ

¦ý¨ºµ{¦¡½Xªºµ²ªGÁÙ¬O·|Åܦâ

: )

TOP

¦^´_ 8# GBKEE

OK¤F­C

¦ýªO¤j±zªºµ{¦¡½X¦nºë²

§Ú¬Q¤Ñ·Q¤F¤@¾ã¤Ñ ³Ì«á¤]¦³·Q¥X¨Ó

¤£¹L³£¬O¥Î³Ì°ò¥»ªº»yªk

ÅÞ¿è§PÂ_³]¤F¤@¤j°ï

§Ú¦AºCºC¬ã¨s³o¨Ç¤ñ¸û±M·~ªº»yªk
ÁÙ¦³stillfish00¤j´£¨Ñªº³¡¤À


§Æ±æ¯à¦h¾ÇÂI

¤£µM¨C¦¸³£¬O¥Î¤@¨Ç¨S¦³®Ä²vªº§@ªk¨Ó³B²z


ÁÂÁÂ : )

TOP

        ÀR«ä¦Û¦b : ¥Ç¿ù¥XÄb®¬¤ß¡A¤~¯à²M²bµL·Ð´o¡C
ªð¦^¦Cªí ¤W¤@¥DÃD