مشکل در اجرای ماکروی شمارش رنگ ها

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

    • 2014/04/09
    • 347
    • 45.00

    مشکل در اجرای ماکروی شمارش رنگ ها

    سلام خدمت اساتید عزیز
    سوال من در رابطه با کد زیر می باشد. چرا این کد درجا با تغییر رنگ تغییر نمیکند مثلا من یه بازه دارم برای جست و جو یک سلول برای معرفی رنگ وقتی سلول رو مثلا رنگ قرمز معرفی میکنم بعد میرم تو بازه جست و جو رنگ چند سلول اش رو قرمز میکنم جواب نمیدهد و باید داخل فرمول دوباره کلید Enter بزنم تا جواب بده
    کد:
    Function CountColorIf(rSample As Range, rArea As Range) As Long    Dim rAreaCell As Range
        Dim lMatchColor As Long
        Dim lCounter As Long
    
    
        lMatchColor = rSample.Interior.Color
        For Each rAreaCell In rArea
            If rAreaCell.Interior.Color = lMatchColor Then
                lCounter = lCounter + 1
            End If
        Next rAreaCell
        CountColorIf = lCounter
    End Function
    فایل های پیوست شده
    :min10::min18::min13::min22:
  • sabertb

    • 2014/04/09
    • 347
    • 45.00

    #2
    من هرجور تعریف میکنم این مشکل رو دارد روش دوم
    کد:
    Function GetColorCount(CountRange As Range, CountColor As Range)Dim CountColorValue As Integer
    Dim TotalCount As Integer
    CountColorValue = CountColor.Interior.ColorIndex
    Set rCell = CountRange
    For Each rCell In CountRange
        If rCell.Interior.ColorIndex = CountColorValue Then
            TotalCount = TotalCount + 1
        End If
    Next rCell
    GetColorCount = TotalCount
    End Function
    یعنی هر وقت رنگ هارو تغییر میدم تعداد درجا تغییر نمیکنه و نیاز داره من یه بار داخل فرمول Enter بزنم ، جالب اینجاست که فایل های نمونه ای که دانلود کردم با این کد ها درجا کار میکنه
    فایل های پیوست شده
    :min10::min18::min13::min22:

    کامنت

    • Amir Ghasemiyan

      • 2013/09/20
      • 4598
      • 100.00

      #3
      سلام دوست عزيز
      علت اينه كه فانكشن زماني اجرا ميشه كه شما تغييري در محتويات سلول ها اعمال كنيد. تغيير رنگ دادن تاثيري در اين قضيه نداره.
      اون فايلي كه ميگيد بطور اتومات اجرا ميكنه رو بذاريد بررسي كنم.

      کامنت

      • sabertb

        • 2014/04/09
        • 347
        • 45.00

        #4
        نوشته اصلی توسط Amir Ghasemiyan
        سلام دوست عزيز
        علت اينه كه فانكشن زماني اجرا ميشه كه شما تغييري در محتويات سلول ها اعمال كنيد. تغيير رنگ دادن تاثيري در اين قضيه نداره.
        اون فايلي كه ميگيد بطور اتومات اجرا ميكنه رو بذاريد بررسي كنم.
        همین فایل آخری که گذاشتم این طور عمل میکنه ، در جا شمارش رنگ هارو انجام میده
        :min10::min18::min13::min22:

        کامنت

        چند لحظه..