جمع ستون رنگ شده

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

    • 2015/11/12
    • 12

    جمع ستون رنگ شده

    با سلام
    به طور مثال یک ستون دارم که تعدادی از سلولها با رنگ مشکی و تعدادی از سلول ها با رنگ قرمز
    حالا می خوام در سلول جدا گانه سلولهای سیاه جمع شود
    و در سلولی دیگر ردیفهای قرمز
  • ordouei

    • 2013/05/01
    • 68
    • 45.00

    #2
    نوشته اصلی توسط na3er
    با سلام
    به طور مثال یک ستون دارم که تعدادی از سلولها با رنگ مشکی و تعدادی از سلول ها با رنگ قرمز
    حالا می خوام در سلول جدا گانه سلولهای سیاه جمع شود
    و در سلولی دیگر ردیفهای قرمز

    از فرمول زیر استفاده شود
    Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean)
    Dim rCell As Range
    Dim lCol As Long
    Dim vResult
    lCol = rColor.Interior.ColorIndex
    If SUM = True Then
    For Each rCell In rRange
    If rCell.Interior.ColorIndex = lCol Then
    vResult = WorksheetFunction.SUM(rCell, vResult)
    End If
    Next rCell
    Else
    For Each rCell In rRange
    If rCell.Interior.ColorIndex = lCol Then
    vResult = 1 + vResult
    End If
    Next rCell
    End If
    ColorFunction = vResult
    End Function
    فایل های پیوست شده

    کامنت

    • amshahbazikl

      • 2015/11/13
      • 21

      #3
      با سلام
      برای این کار به چند خط کد مختصر نیاز دارید.
      باید در محیط ویژوال بیسیک یک تابع ایجاد کرده و سپس کدهای زیر را درون آن بنویسید.

      Public Function colorcode(rg As Range
      Application.Volatile True
      colorcode = rg.Font.ColorIndex
      End Function
      پس از نوشتن تابع، می توانید مانند سایر توابع اکسل از آن استفاده نموده و به کمک تابع sumif جمع مورد نظر را انجام دهید
      تذکر: اگر هدف ما محاسبه مقادیر عددی باشد که به جای فونت رنگ زمینه آنها مورد نظر باشد آنگاه به جای خط دوم کد ، آن را به صورت

      colorcode = rg.Interior.ColorIndex تغییر میدهیم.

      آموزش اکسل

      کامنت

      • na3er

        • 2015/11/12
        • 12

        #4
        با تشکر و مرسی از فایل ضمیمه
        من منظورم این بود که بجای سلول فونت رنگی باشد و در ستون، فونتهای هم رنگ جمع شود
        اگر میشه راهنمایی کنید

        کامنت

        • na3er

          • 2015/11/12
          • 12

          #5
          مرسی از کمک شما
          خیلی حرفه ای نیستم که بتونم توی ویژوال تابع تعریف کنم اگر میشه بیشتر راهنمایی کنید

          کامنت

          • ordouei

            • 2013/05/01
            • 68
            • 45.00

            #6
            نوشته اصلی توسط na3er
            مرسی از کمک شما
            خیلی حرفه ای نیستم که بتونم توی ویژوال تابع تعریف کنم اگر میشه بیشتر راهنمایی کنید
            با سلام

            کد های ارسالی از طرف دوستان جهت اجرا میباشد .
            نیاز به تخصص برنامه نویسی ندارد . شما با کپی و پیست میتوانید انجام دهید .

            نمونه کد جهت نمایش کد فونت

            تابع فونت

            Function FontColor(CellColor As Range)
            Application.Volatile
            FontColor = CellColor.Font.ColorIndex
            End Function

            کامنت

            • na3er

              • 2015/11/12
              • 12

              #7
              میشه براش یک فایل مثال تنظیم کنید
              متشکرم

              کامنت

              • na3er

                • 2015/11/12
                • 12

                #8
                ?????

                کامنت

                • iranweld

                  • 2015/03/29
                  • 3341

                  #9
                  نوشته اصلی توسط na3er
                  میشه براش یک فایل مثال تنظیم کنید
                  متشکرم
                  با سلام

                  فایل درخواستی به پیوست میباشد

                  کد PHP:
                  Sub test()

                  Cells(Rows.Count"A").End(xlUp).Row

                  Sum 
                  0
                  Sum1 
                  0
                  For 1 To k

                  If Range("a" i).Font.ColorIndex 1 Then

                  Sum 
                  Sum Range("a" i).Value

                  ElseIf Range("a" i).Font.ColorIndex 3 Then
                  Sum1 
                  Sum1 Range("a" i).Value

                  End 
                  If
                  Next
                  Range
                  ("c1").Value Sum
                  Range
                  ("c2").Value Sum1


                  End Sub 
                  فایل های پیوست شده
                  Last edited by iranweld; 2015/11/15, 14:46.

                  کامنت

                  • na3er

                    • 2015/11/12
                    • 12

                    #10
                    ممنون از فایل ها
                    دقیقاً چیزی هست که می خواستم ولی الان شما ماهیگیری به من یاد ندادید ...
                    اگر امکانش هست نحوه فرمول نویسی را می خواستم چون الان توی فایل ارسالی شما در سلول فرمول درج نشده

                    کامنت

                    • iranweld

                      • 2015/03/29
                      • 3341

                      #11
                      دوست گرامی از طریق ویژوال بیسیک انجام شده و کدهای لازم هم خدمت شما ارائه شده است و از طریق فرمول انجام نشده است
                      با alt+f11 وارد محیط ویژوال بیسیک شوید و کدها را ملاحظه بفرمایید

                      کامنت

                      چند لحظه..