میانگین وزنی

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • پیام

    • 2013/10/04
    • 282
    • 62.00

    [حل شده] میانگین وزنی

    با درود. وقتی می خوایم میانگین وزنی دو محدوده رو محاسبه کنیم از چه دستوری توی vb استفاده میکنیم؟
    فایل پیوست حاوی فرمولهای مورد نظره. ممنونم.
    فایل های پیوست شده
  • Amir Ghasemiyan

    • 2013/09/20
    • 4599
    • 100.00

    #2
    سلام

    متوجه سوالتون نشدم. شما میخواین همین فرمول رو در vba پیاده کنید یا اینکه میخواین یک سری کدنویسی انجام بشه که محاسبات رو انجام بده؟

    کامنت

    • پیام

      • 2013/10/04
      • 282
      • 62.00

      #3
      میخوام همین فرمول در مورد محدوده مورد نظر در vba نوشته بشه. در واقع کد نویسی کاملش رو میخوام. یعنی محدوده ها تعریف بشه و محاسبات رو انجام بده و نتیجه رو اعلام کنه.

      کامنت

      • Amir Ghasemiyan

        • 2013/09/20
        • 4599
        • 100.00

        #4
        نوشته اصلی توسط پیام
        میخوام همین فرمول در مورد محدوده مورد نظر در vba نوشته بشه. در واقع کد نویسی کاملش رو میخوام. یعنی محدوده ها تعریف بشه و محاسبات رو انجام بده و نتیجه رو اعلام کنه.

        اگه یک بار این رو با ماکرو ضبط کنید خیلی راحت به نتیجه دلخواهتون میرسید

        کافیه سلول کنار سلول شرط رو انتخاب کنید و ماکرو زیر رو ران کنید
        کد:
        Sub Macro1()
            Selection.FormulaArray = "=SUM((R1C1:R15C1=RC[-1])*(R1C2:R15C2*R1C3:R15C3))/SUMIFS(R1C2:R15C2,R1C1:R15C1,RC[-1])"
        End Sub

        کامنت

        • پیام

          • 2013/10/04
          • 282
          • 62.00

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

          کامنت

          • Amir Ghasemiyan

            • 2013/09/20
            • 4599
            • 100.00

            #6
            نوشته اصلی توسط پیام
            ممنون ز زمانی که گذاشتید. من کدنویسی رو توی vba میخوام اگه ممکنه. یعنی محدوده تعریف بشه و نتیجه با مسیج باکس اعلام بشه.ممنون
            خب محدوده ها و شرط رو میخواین چطوری بهش بدین؟ با فرم؟ با فرمول؟ یا اینکه دستی داخل کدهای vba بنویسید؟

            کامنت

            • پیام

              • 2013/10/04
              • 282
              • 62.00

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

              کامنت

              • Amir Ghasemiyan

                • 2013/09/20
                • 4599
                • 100.00

                #8
                نوشته اصلی توسط پیام
                میخوام همش به صورت کد vb باشه. من اعداد رو دستی توی محدوده وارد میکنم ولی تعریف محدوده ها و محاسبات و نتیجه رو به صورت کدنویسی میخوام اگه ممکنه. ممنونم.

                امیدوارم منظورتون رو درست متوجه شده باشم. خدمت شما

                کد:
                Sub EI_GeometricMean()
                Dim criteria_range As String, first_range As String, second_range As String, criteria As String
                criteria_range = "A1:A15"
                first_range = "B1:B15"
                second_range = "C1:C15"
                criteria = Range("F5").Value
                
                
                For Each cel In Range(criteria_range)
                    r = cel.Row
                    If cel.Value = criteria Then
                        qq = Range(first_range).Cells(r, 1) * Range(second_range).Cells(r, 1) + qq
                        ww = Range(first_range).Cells(r, 1) + ww
                    End If
                Next cel
                MsgBox (qq / ww)
                End Sub

                کامنت

                • پیام

                  • 2013/10/04
                  • 282
                  • 62.00

                  #9
                  با سپاس از زمانی که میگذارید.
                  یک پیغام خطا میده که توی عکس پیوست نشون دادم.
                  فایل های پیوست شده

                  کامنت

                  • Amir Ghasemiyan

                    • 2013/09/20
                    • 4599
                    • 100.00

                    #10
                    نوشته اصلی توسط پیام
                    با سپاس از زمانی که میگذارید.
                    یک پیغام خطا میده که توی عکس پیوست نشون دادم.

                    رو روش برای حل این مشکل هست
                    یکی اینکه در محیط ویژوال بیسیک از منوی tools گزینه options رو انتخاب کنید و در پنجره جدید تیک دوم (require variable declaration) رو بردارید و یا کد زیر رو بعد از خط دوم اضافه کنید

                    کد:
                    Dim cel
                    من پیشنهاد میکنم روش اول رو انجام بدین
                    Last edited by Amir Ghasemiyan; 2017/09/02, 14:57.

                    کامنت

                    چند لحظه..