در این تمرین با نحوه استفاده و بکار گیری تابع در محیط برنامه نویسی اکسل آشنا خواهیم شد.
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را کلیک کنید.