شمارش سلول بر اساس رنگ محتوای سلول

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • mahdi2013

    • 2014/09/22
    • 38

    پرسش شمارش سلول بر اساس رنگ محتوای سلول

    با سلام و ارادت خدمت اساتید عزیز

    نوشتن کد ماکرویی که تعداد تنوع سلول های دارای محتوا با رنگ های مختلف یک محدوده متغیر را شمارش کند و تعداد هر رنگ را به ترتیب فایل مشخص کند.

    با سپاس


    فایل های پیوست شده
  • iranweld

    • 2015/03/29
    • 3341

    #2
    با سلام


    از ماکرو ذیل استفاده کنید

    کد PHP:
    Sub test()

    K = 2

    T 
    = 0

    z2 
    = Cells(Rows.Count, "H").End(xlUp).Row ' AKHARIN SATRE STOON H'

    If z2 = 0 Then z2 = 2

    Range
    ("H2:j" & z2).Font.ColorIndex = 0


    Range
    ("H2:j" & z2).ClearContents  ' PAK KARDAN MAHDODEH H & j'


    Z1 = Cells(Rows.Count, "A").End(xlUp).Row   ' AKHARIN SATRE STOON A'


    On Error Resume Next

    Dim LIST1 
    As New Collection

    '====================Moshakhas karadan rang hay mojod======='


    For Each CELL In Range("A1:E" & Z1)

    LIST1.Add CELL.Font.ColorIndex, CStr(CELL.Font.ColorIndex)

    Next


    '=================sabte rang v tedad rane========================'


    For I = 1 To LIST1.Count

    Range
    ("H" & K) = "COLOR " & I

    Range
    ("H" & K).Font.ColorIndex = LIST1.Item(I)

    Range("j" & K) = LIST1.Item(I)

    For 
    Each CELL In Range("A1:E" & Z1)

    If 
    CELL.Font.ColorIndex = LIST1.Item(I) Then

    T 
    = T + 1

    End 
    If

    Next

    Range
    ("I" & K) = T

    T 
    = 0

    K 
    = K + 1

    Next

    '======================================'

    End Sub 
    فایل های پیوست شده

    کامنت

    • mahdi2013

      • 2014/09/22
      • 38

      #3
      ببخشید اگه امکان داره مراحل توضیح بدین
      ممنونم

      - - - Updated - - -

      نوشته اصلی توسط iranweld
      با سلام


      از ماکرو ذیل استفاده کنید

      کد PHP:
      Sub test()

      K = 2

      T 
      = 0

      z2 
      = Cells(Rows.Count, "H").End(xlUp).Row ' AKHARIN SATRE STOON H'

      If z2 = 0 Then z2 = 2

      Range
      ("H2:j" & z2).Font.ColorIndex = 0


      Range
      ("H2:j" & z2).ClearContents  ' PAK KARDAN MAHDODEH H & j'


      Z1 = Cells(Rows.Count, "A").End(xlUp).Row   ' AKHARIN SATRE STOON A'


      On Error Resume Next

      Dim LIST1 
      As New Collection

      '====================Moshakhas karadan rang hay mojod======='


      For Each CELL In Range("A1:E" & Z1)

      LIST1.Add CELL.Font.ColorIndex, CStr(CELL.Font.ColorIndex)

      Next


      '=================sabte rang v tedad rane========================'


      For I = 1 To LIST1.Count

      Range
      ("H" & K) = "COLOR " & I

      Range
      ("H" & K).Font.ColorIndex = LIST1.Item(I)

      Range("j" & K) = LIST1.Item(I)

      For 
      Each CELL In Range("A1:E" & Z1)

      If 
      CELL.Font.ColorIndex = LIST1.Item(I) Then

      T 
      = T + 1

      End 
      If

      Next

      Range
      ("I" & K) = T

      T 
      = 0

      K 
      = K + 1

      Next

      '======================================'

      End Sub 
      ممنون از لطفتون اکه امکان داره مراحل رو از اول توضیح بدین چون با خطا مواجه میشه.
      Last edited by mahdi2013; 2018/02/13, 22:15.

      کامنت

      چند لحظه..