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

¸Û¨D«üÂI Get Cell Color ¤½¦¡ marco

¦^´_ 1# jakcy1234
¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng(1 To 3) As Range, E As Range, T As Single, i As Integer, R_Add As String
  4.     Set Rng(1) = Sheet1.[b24:b25]
  5.     Set Rng(2) = Sheet1.[b2:f20]
  6.     For Each E In Rng(1)
  7.         Application.FindFormat.Interior.ColorIndex = E.Interior.ColorIndex
  8.         'FindFormat ³]©w©Î¶Ç¦^­n´M§ä¤§Àx¦s®æ®æ¦¡Ãþ«¬ªº·j´M·Ç«h¡C
  9.         Set Rng(3) = Rng(2).Find(What:="", SearchFormat:=True)
  10.         If Not Rng(3) Is Nothing Then R_Add = Rng(3).Address
  11.         i = 0
  12.         T = 0
  13.         Do While Not Rng(3) Is Nothing
  14.            i = i + 1
  15.            T = T + Rng(3)
  16.            Set Rng(3) = Rng(2).Find(What:="", After:=Rng(3), SearchFormat:=True)
  17.            If R_Add = Rng(3).Address Then Exit Do
  18.         Loop
  19.         E.Offset(, 1) = T
  20.         E.Offset(, 2) = i
  21.     Next
  22.     Application.FindFormat.Clear  ' ²M°£ FindFormat ³]©w­n´M§ä¤§Àx¦s®æ®æ¦¡Ãþ«¬ªº·j´M·Ç«h¡C
  23. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 3# jakcy1234
2003´ú¸Õ¨S³o°ÝÃD
¥iºë²¦p¤U
  1. Function MyColor(Rng As Range, MyIndex As Long) As Long
  2.     Dim A As Range, C As Range
  3.     For Each C In Rng.Cells
  4.         MyColor = MyColor + IIf(C.Interior.ColorIndex = MyIndex, 1, 0)
  5.     Next
  6. End Function
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2013-9-12 07:00 ½s¿è

¦^´_ 5# jakcy1234
³oºô­¶¬O«ü¨Çª©¥»  ªº°}¦C¤¤¤¸¯Àªº¼Æ¥Ø¤W­­¬O 5461  
     5.0                        A                B,C
   7.0 (Excel 95)             D                E,C,H
   8.0 (Excel 97)             F                G,H
   9.0 (Excel 2000)           F                G,H

¹Ï¥Ü :2003ª©ªº°õ¦æ¹Ï

  1. Sub ex()
  2.    Dim ar()
  3.     '2003ªºRows.Count=65536
  4.     ReDim ar(0 To Rows.Count + 1)
  5.     ar(Rows.Count + 1) = Rows.Count
  6.     MsgBox ar(Rows.Count + 1)
  7. End Sub
½Æ»s¥N½X
5# ªºµ{¦¡¬O±N¤@©w¼Æ¥Ø22000,5000,17000,33000 ªº¦r¦ê«ü©w¨ì°}¦C¦AÂà¦s¨ìÀx¦s®æ.
¥i±Nµ{¦¡½X½Æ»s¨ì¥ô¤@ªÅ¥Õ¤u§@ªí¼Ò²Õ ¸Õ¸Õ¬Ý  

4# ªº¦Û­q¨ç¼Æ  MyColor(Àx¦s®æ½d³ò , ¹Ï¼Ë©³¦â¼Æ¦r) ¸Õ¸Õ¬Ý
¥i¶Ç¦^: Àx¦s®æ½d³ò¹Ï¼Ë=¹Ï¼Ë©³¦â¼Æ¦rªº­Ó¼Æ
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : ¨Ã«D¦³¿ú¾{¬O§Ö¼Ö¡A°Ý¤ßµL·\¤ß³Ì¦w¡C
ªð¦^¦Cªí ¤W¤@¥DÃD