‫ درس 9: توابع | انجمن

مدیریت
مدیریت 20 شهریور 1396

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

1.برنامه اکسل را باز کرده و محیط برنامه نویسی ان باز می کنیم.

2.در پنچره project، یک فرم جدید باز کنید و کنترل های زیر را به ان اضافه کنید.

3.به دلیل استفاده از radiobutton، در آن واحد فقط یک حالت را می تواند انتخاب کرد. اگر حالت sumانتخاب شود، در چهار عبارت پایین صفحه، فقط عبارت جمع فعال است و مابقی غیرفعال می شود. برای پیاده سازی این حالت در ابتدا در زمانی که فرم بالا می اید تمامی چهار عبارت پایین غیر فعال باشد که در تابع زیر این کد باید وارد شود.

Private Sub UserForm_Initialize()

lblsum.Enabled = False

lblsumvalue.Enabled = False

lblmulti.Enabled = False

lblmultivalue.Enabled = False

lbldivision.Enabled = False

lbldivisionvalue.Enabled = False

lblminus.Enabled = False

lblminusvalue.Enabled = False

End Sub

در کد بالا، ویژگی enabledاگر falseباشد کنترل مربوطه نشان داده نمی شود و به صورت خاکستری یا غیرفعال نشان داده می شود.

4.بخش اصلی کد در کد مربوط به دکمه Runنشان داده می شود. در ابتدا لازم است که اگر مقداری برای چهار عبارت پایین صفحه آورده شده است کاملا پاک شود و به صورت پیش فرض درآید. برای این منظور باید کد زیر وارد شود.

lblsum.Enabled = False

lblsumvalue.Enabled = False

lblsumvalue.Caption="..."

lblmulti.Enabled = False

lblmultivalue.Enabled = False

lblmultivalue.Caption="..."

lbldivision.Enabled = False

lbldivisionvalue.Enabled = False

lbldivisionvalue.Caption=  "..."

lblminus.Enabled = False

lblminusvalue.Enabled = False

lblminusvalue.Caption=  "..."

5.در این برنامه انتظار داریم که اگر هر یک از چهار عملیات انتخاب شود، برای ان عملیات مربوطه labelفعال شده و مابقی غیر فعال شود.

6. برای محاسبه جمع، تفریق، ضرب و تقسیم از تابع استفاده می کنیم. برای این منظور چهار تابع زیر تعریف می شود.

Public Function SumValue(X As Integer, Y As Integer) As Integer

SumValue = X + Y

End Function

Public Function MinusValue(X As Integer, Y As Integer) As Integer

MinusValue = X - Y

End Function

Public Function MultiplicationValue(X As Integer, Y As Integer) As Integer

MultiplicationValue = X * Y

End Function

Public Function DivisionValue(X As Integer, Y As Integer) As Integer

DivisionValue = X / Y

End Function

در تابع، آرگمان ورودی در داخل پرانتز تعریف می شود که در زمان استفاده از تابع باید داده شود. مقدار خروجی در تابع با متغیری با نام برابر با تابع مشخص می شود. برای مثال اگر نام تابع SumValueباشد، در این تابع متغیر SumValueبرای مقدار خروجی استفاده می شود.

7.پس از ساخت توابع مورد نظر، باید این قابلیت را به برنامه اضافه کرد که هر کدام از radiobuttonها فعال بود، تابع مربوطه به آن فراخوانده شود. برای این منظور کد زیر اضافه می شود.

If rbtnSum.Value = True Then

lblsum.Enabled = True

lblsumvalue.Enabled = True

Dim a As Integer

Dim b As Integer

a = txtA.Text

b = txtB.Text

lblsumvalue.Caption = SumValue(a, b)

End If

If rbtnMinus.Value = True Then

lblminus.Enabled = True

lblminusvalue.Enabled = True

Dim a1 As Integer

Dim b1 As Integer

a1 = txtA.Text

b1 = txtB.Text

lblminusvalue.Caption = MinusValue(a1, b1)

End If

If rbtnMulitplication.Value = True Then

lblmulti.Enabled = True

lblmultivalue.Enabled = True

Dim a2 As Integer

Dim b2 As Integer

a2 = txtA.Text

b2 = txtB.Text

lblmultivalue.Caption = MultiplicationValue(a2, b2)

End If

If rbtnDivision.Value = True Then

lbldivision.Enabled = True

lbldivisionvalue.Enabled = True

Dim a3 As Integer

Dim b3 As Integer

a3 = txtA.Text

b3 = txtB.Text

lbldivisionvalue.Caption = DivisionValue(a3, b3)

End If

8.اکنون بر روی F5کلیک می کنیم تا برنامه اجرا شود. تصاویری از نمونه اجرای برنامه آورده شده است.

9.در صورتی که می خواهید برنامه را ذخیره کنید دکمه saveرا کلیک کنید.

ویرایش شده توسط مدیریت (20 شهریور 1396)
Reza Mohammad Hasany
Reza Mohammad Hasany 22 شهریور 1396

ممنون از توضیحات تکمیلی شما.

smiley

محمد رضا تورانی

ممنون

مدیریت
مدیریت 4 بهمن 1397

خواهش می کنم.