এক্সেল ভিবিএ ইউজারফর্মে ক্যালকুলেটর তৈরী করার নির্দেশিকা পেতে সহজ এবং সহজ পদ্ধতিতে জেনে নিন। আপনি শিখতে পারেন কিভাবে এক্সেলে একটি ক্যালকুলেটর তৈরী করতে।
এক্সেল ভিবিএ ইউজারফর্ম: ক্যালকুলেটর প্রজেক্ট অব্জেক্টিব
Excel VBA UserForm ব্যবহার করে ক্যালকুলেটর। VBA ব্যবহার করে এই প্রকল্পটি স্বয়ংক্রিয় করার জন্য ধাপে ধাপে বিস্তারিত ব্যাখ্যা দেওয়া হল। আমরা কিভাবে হিসাব করছি, টেক্সট ক্লিয়ার করি ইত্যাদি।
কিভাবে আমরা এই প্রকল্প মডিউল (মূল পদক্ষেপ) ডেভেলপ করতে যাচ্ছি: ডেভেলপ প্রজেক্ট
ক্যালকুলেটর তৈরি করতে, এখানে ব্যবহার করা UserForm ইউজারফর্ম ডিজাইনটি আপনি দেখতে পারেন। চলুন এই ক্যাকুলেটর প্রিজেক্টটির মূল পদক্ষেপগুলি ব্যাখ্যা করি। আমরা নীচের পদ্ধতির সাথে একাধিক নিয়ন্ত্রণের জন্য একাধিক পদ্ধতি লিখতে যাচ্ছি।
- ধাপ 1: ইউজারফর্ম তৈরি করুন: আমাদের প্রথমে ভিবিএ এডিটরের ইনসার্ট মেনু থেকে ইউজারফর্ম তৈরি করতে হবে।
- ধাপ 2: তৈরি ইউজারফর্মে টুলবক্স নিয়ন্ত্রণ রাখুন: ইউজারফর্মে প্রয়োজনীয় কন্ট্রোলস রাখুন। আপনি ড্র্যাগ করে টুলবক্স থেকে কন্ট্রোলস ফ্রম এবং ইউজারফর্মে ড্রপ কন্ট্রোলস করতে পারেন।
- ধাপ 3: সুম্পূর্ণ কন্ট্রোলস করতে প্রোপারটিস এবং এলাইনমেন্ট সেট করুন: প্রোপারটিসের সব কন্ট্রোল সেট করা আছে। এটি ডিজাইন বিভাগে দেখানো হয়েছে।
- ধাপ 4: ক্লিয়ার বাটন : এটি প্রদর্শন এএরিয়া ক্লিয়ার করতে ব্যবহৃত হয়।
- ধাপ 5: ব্যাক বাটন: এটি পুর্বের ডিজিটে ফিরে যেতে ব্যবহৃত হয়।
- ধাপ 6: বিভাজন (/) বাটন: এটি বিভাজনের জন্য ব্যবহৃত হয়।
- ধাপ 7: গুণ (*) বাটন: এটি গুণের জন্য ব্যবহৃত হয়।
- ধাপ 8: বিয়োগ (-) বাটন: এটি বিয়োগের জন্য ব্যবহৃত হয়।
- ধাপ 9: (+) বাটন অ্যাড করুন: এটি যোগ এর জন্য ব্যবহৃত হয়।
- ধাপ 10: ডট (.) বাটন: এটি সংখ্যায় ডট যোগ করতে ব্যবহৃত হয়।
- ধাপ 11: এক (1) বাটন: এটি 1 নম্বর প্রদর্শন করতে ব্যবহৃত হয়।
- ধাপ 12: দুই (2) বাটন: এটি 2 নম্বর প্রদর্শন করতে ব্যবহৃত হয়।
- ধাপ 13: তিনটি (3) বাটন: এটি 3 নম্বর প্রদর্শন করতে ব্যবহৃত হয়।
- ধাপ 14: চার (4) বাটন: এটি 4 নম্বর প্রদর্শন করতে ব্যবহৃত হয়।
- ধাপ 15: পাঁচ (5) বাটন: এটি 5 নম্বর প্রদর্শন করতে ব্যবহৃত হয়।
- ধাপ 16: ছয় (6) বাটন: এটি 6 নম্বর প্রদর্শন করতে ব্যবহৃত হয়।
- ধাপ 17: সাত (7) বাটন: এটি 7 নম্বর প্রদর্শন করতে ব্যবহৃত হয়।
- ধাপ 18: আট (8) বাটন: এটি 8 নম্বর প্রদর্শন করতে ব্যবহৃত হয়।
- ধাপ 19: নয় (9) বাটন: এটি 9 নম্বর প্রদর্শন করতে ব্যবহৃত হয়।
- ধাপ 20: শূন্য (0) বাটন: এটি .0 নম্বর প্রদর্শন করতে ব্যবহৃত হয়
- ধাপ 21: একুয়ালটো EqualTo (=) বোতাম: এটি যোগ, বিয়োগ, গুণ, ইত্যাদির মতো সমস্ত গণনা করতে ব্যবহৃত হয়।
- ধাপ 22: টেক্সটবক্স: এটি ফলাফল প্রদর্শন করতে ব্যবহৃত হয়।
ক্যালকুলেটর ডিজাইন:
| Control | Property | Value |
|---|---|---|
| UserForm | Name | frmCalculator |
| Frame | Name | displayFrame |
| TextBox | Name | txtDisplay |
| Enabled | False | |
| SpecialEffect | 0-frmSpecialEffectFlat | |
| TextAlign | 3-frmTextAlignRight | |
| TextBox | Name | txtRes |
| Value | 0 | |
| Enabled | False | |
| SpecialEffect | 0-frmSpecialEffectFlat | |
| TextAlign | 3-frmTextAlignRight | |
| EnterKeyBehavior | True | |
| CommandButton | Name | cmdBtnclr |
| Caption | Clear | |
| CommandButton | Name | cmdBtnBak |
| Caption | Back | |
| CommandButton | Name | cmdBtnDvd |
| Caption | / | |
| CommandButton | Name | cmdBtnMult |
| Caption | * | |
| CommandButton | Name | cmdBtnMns |
| Caption | – | |
| CommandButton | Name | cmdBtnAdd |
| Caption | + | |
| CommandButton | Name | cmdBtnDot |
| Caption | . | |
| CommandButton | Name | cmdBtnEql |
| Caption | = | |
| CommandButton | Name | cmdBtn1 |
| Caption | 1 | |
| CommandButton | Name | cmdBtn2 |
| Caption | 2 | |
| CommandButton | Name | cmdBtn3 |
| Caption | 3 | |
| CommandButton | Name | cmdBtn4 |
| Caption | 4 | |
| CommandButton | Name | cmdBtn5 |
| Caption | 5 | |
| CommandButton | Name | cmdBtn6 |
| Caption | 6 | |
| CommandButton | Name | cmdBtn7 |
| Caption | 7 | |
| CommandButton | Name | cmdBtn8 |
| Caption | 8 | |
| CommandButton | Name | cmdBtn9 |
| Caption | 9 | |
| CommandButton | Name | cmdBtn0 |
| Caption | 0 |
Private Sub UserForm_Initialize()
txtRes.MaxLength = 10
txtDisplay.MaxLength = 10
End SubPrivate Sub txtRes_Change()
If txtRes.TextLength > 10 Then
MsgBox "Its Too long to calculate value.", vbInformation
txtRes.Text = Left(txtRes.Text, 10)
Exit Sub
End If
End SubPrivate Sub cmdBtnclr_Click()
txtRes = 0: txtDisplay = Empty
End SubPrivate Sub cmdBtnBak_Click()
If txtRes <> 0 And txtRes <> "" Then txtRes = Left(txtRes, Len(txtRes) - 1)
End SubPrivate Sub cmdBtnDvd_Click()
If txtRes <> 0 Then
txtDisplay = txtRes
txtRes = 0
calVal = "Divide"
End If
End SubPrivate Sub cmdBtnMult_Click()
If txtRes <> 0 Then
txtDisplay = txtRes
txtRes = 0
calVal = "Multiplication"
End If
End SubPrivate Sub cmdBtnMns_Click()
If txtRes <> 0 Then
txtDisplay = txtRes
txtRes = 0
calVal = "Minus"
End If
End SubPrivate Sub cmdBtnAdd_Click()
If txtRes <> 0 Then
txtDisplay = txtRes
txtRes = 0
calVal = "Add"
End If
End SubPrivate Sub cmdBtnDot_Click()
If txtRes <> 0 Then txtRes = txtRes + "."
End SubPrivate Sub cmdBtn1_Click()
If txtRes = 0 Then
txtRes = cmdBtn1.Caption
Else
txtRes = txtRes + cmdBtn1.Caption
End If
End SubPrivate Sub cmdBtn2_Click()
If txtRes = 0 Then
txtRes = cmdBtn2.Caption
Else
txtRes = txtRes + cmdBtn2.Caption
End If
End SubPrivate Sub cmdBtn3_Click()
If txtRes = 0 Then
txtRes = cmdBtn3.Caption
Else
txtRes = txtRes + cmdBtn3.Caption
End If
End SubPrivate Sub cmdBtn4_Click()
If txtRes = 0 Then
txtRes = cmdBtn4.Caption
Else
txtRes = txtRes + cmdBtn4.Caption
End If
End SubPrivate Sub cmdBtn5_Click()
If txtRes = 0 Then
txtRes = cmdBtn5.Caption
Else
txtRes = txtRes + cmdBtn5.Caption
End If
End SubPrivate Sub cmdBtn6_Click()
If txtRes = 0 Then
txtRes = cmdBtn6.Caption
Else
txtRes = txtRes + cmdBtn6.Caption
End If
End SubPrivate Sub cmdBtn7_Click()
If txtRes = 0 Then
txtRes = cmdBtn7.Caption
Else
txtRes = txtRes + cmdBtn7.Caption
End If
End SubPrivate Sub cmdBtn8_Click()
If txtRes = 0 Then
txtRes = cmdBtn8.Caption
Else
txtRes = txtRes + cmdBtn8.Caption
End If
End SubPrivate Sub cmdBtn9_Click()
If txtRes = 0 Then
txtRes = cmdBtn9.Caption
Else
txtRes = txtRes + cmdBtn9.Caption
End If
End SubPrivate Sub cmdBtn0_Click()
txtRes = txtRes + cmdBtn0.Caption
End Sub'21. Final Calculations
Private Sub cmdBtnEql_Click()
On Error GoTo ErrOcccered
'Dim txtRes As Long
If txtDisplay = "Cannot divide by Zero" Then txtDisplay = Empty
If txtRes <> "" And calVal <> "" Then
FNum = Val(txtDisplay): SNum = Val(txtRes)
Select Case calVal
Case "Add"
txtRes = FNum + SNum
Case "Minus"
txtRes = FNum - SNum
Case "Multiplication"
txtRes = FNum * SNum
Case "Divide"
If SNum = 0 Then
txtRes = "Cannot divide by Zero"
Else
txtRes = FNum / SNum
End If
Case Else
End Select
txtdisplay = Empty
End If
ErrOcccered:
End Sub‘Variable Declaration
Public tmpVar As String
Public calVal As String
'1. Assign Maximum length to diplay numbers
Private Sub UserForm_Initialize()
txtRes.MaxLength = 10
txtTo display.MaxLength = 10
End Sub
'2. To displaying message when exceeding more then 10 numbers on the To display area.
Private Sub txtRes_Change()
If txtRes.TextLength > 10 Then
MsgBox "Its Too long to calculate value.", vbInformation
txtRes.Text = Left(txtRes.Text, 10)
Exit Sub
End If
End Sub
'3. Settings properties of the userform.
'4. To clear data in the To display field
Private Sub cmdBtnclr_Click()
txtRes = 0: txtdisplay = Empty
End Sub
'5. To go back one step.
Private Sub cmdBtnBak_Click()
If txtRes <> 0 And txtRes <> "" Then txtRes = Left(txtRes, Len(txtRes) - 1)
End Sub
'6. For divide symbol
Private Sub cmdBtnDvd_Click()
If txtRes <> 0 Then
txtdisplay = txtRes
txtRes = 0
calVal = "Divide"
End If
End Sub
' 7. For multiplication symbol
Private Sub cmdBtnMult_Click()
If txtRes <> 0 Then
txtdisplay = txtRes
txtRes = 0
calVal = "Multiplication"
End If
End Sub
'8. For minus symbol
Private Sub cmdBtnMns_Click()
If txtRes <> 0 Then
txtdisplay = txtRes
txtRes = 0
calVal = "Minus"
End If
End Sub
'9. For addition symbol
Private Sub cmdBtnAdd_Click()
If txtRes <> 0 Then
txtdisplay = txtRes
txtRes = 0
calVal = "Add"
End If
End Sub
'10. Add Dot to the To display area
Private Sub cmdBtnDot_Click()
If txtRes <> 0 Then txtRes = txtRes + "."
End Sub
'11. To display Number 1.
Private Sub cmdBtn1_Click()
If txtRes = 0 Then
txtRes = cmdBtn1.Caption
Else
txtRes = txtRes + cmdBtn1.Caption
End If
End Sub
'12. To display Number 2.
Private Sub cmdBtn2_Click()
If txtRes = 0 Then
txtRes = cmdBtn2.Caption
Else
txtRes = txtRes + cmdBtn2.Caption
End If
End Sub
'13. To display Number 3.
Private Sub cmdBtn3_Click()
If txtRes = 0 Then
txtRes = cmdBtn3.Caption
Else
txtRes = txtRes + cmdBtn3.Caption
End If
End Sub
'14. To display Number 4.
Private Sub cmdBtn4_Click()
If txtRes = 0 Then
txtRes = cmdBtn4.Caption
Else
txtRes = txtRes + cmdBtn4.Caption
End If
End Sub
'15. To display Number 5.
Private Sub cmdBtn5_Click()
If txtRes = 0 Then
txtRes = cmdBtn5.Caption
Else
txtRes = txtRes + cmdBtn5.Caption
End If
End Sub
'16. To display Number 6.
Private Sub cmdBtn6_Click()
If txtRes = 0 Then
txtRes = cmdBtn6.Caption
Else
txtRes = txtRes + cmdBtn6.Caption
End If
End Sub
'17. To display Number 7.
Private Sub cmdBtn7_Click()
If txtRes = 0 Then
txtRes = cmdBtn7.Caption
Else
txtRes = txtRes + cmdBtn7.Caption
End If
End Sub
'18. To display Number 8.
Private Sub cmdBtn8_Click()
If txtRes = 0 Then
txtRes = cmdBtn8.Caption
Else
txtRes = txtRes + cmdBtn8.Caption
End If
End Sub
'19. To display Number 9.
Private Sub cmdBtn9_Click()
If txtRes = 0 Then
txtRes = cmdBtn9.Caption
Else
txtRes = txtRes + cmdBtn9.Caption
End If
End Sub
'20. To display Number 0.
Private Sub cmdBtn0_Click()
txtRes = txtRes + cmdBtn0.Caption
End Sub
'21. Final Calculations
Private Sub cmdBtnEql_Click()
On Error GoTo ErrOcccered
'Dim txtRes As Long
If txtDisplay = "Cannot divide by Zero" Then txtDisplay = Empty
If txtRes <> "" And calVal <> "" Then
FNum = Val(txtDisplay): SNum = Val(txtRes)
Select Case calVal
Case "Add"
txtRes = FNum + SNum
Case "Minus"
txtRes = FNum - SNum
Case "Multiplication"
txtRes = FNum * SNum
Case "Divide"
If SNum = 0 Then
txtRes = "Cannot divide by Zero"
Else
txtRes = FNum / SNum
End If
Case Else
End Select
txtdisplay = Empty
End If
ErrOcccered:
End Sub
আমাদের সম্পর্কে জানতে এবং বিভিন্ন টিউটোরিয়াল পেতে লাইক ও সাবস্ক্রাইব করে সাথেই থাকুন
https://youtube.com/@KarimExcelVba
https://www.instagram.com/karimexcelvba/
https://twitter.com/KarimExcelVBA
https://www.linkedin.com/in/karimexcel/
https://www.quora.com/profile/KarimExcelVBA
https://www.reddit.com/user/KarimExcelVBA
https://www.tumblr.com/karimexcelvba
https://www.flickr.com/photos/karimexcelvba/
https://www.pinterest.com/KarimExcelVBA/

0 মন্তব্যসমূহ