এক্সেল ইউজারফর্মে ক্যালকুলেটর তৈরী করুন-Create calculator in Excel userform
এক্সেল ভিবিএ ইউজারফর্মে ক্যালকুলেটর তৈরী করার সহজ পদ্ধতিতে নির্দেশিকা জেনে নিন।। আপনি শিখতে পারেন কিভাবে এক্সেলে একটি ক্যালকুলেটর তৈরী করতে।
এক্সেল ভিবিএ ইউজারফর্ম: ক্যালকুলেটর প্রজেক্ট অব্জেক্টিব
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 Sub
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
Private Sub cmdBtnclr_Click() txtRes = 0: txtDisplay = Empty End Sub
Private Sub cmdBtnBak_Click() If txtRes <> 0 And txtRes <> "" Then txtRes = Left(txtRes, Len(txtRes) - 1) End Sub
Private Sub cmdBtnDvd_Click() If txtRes <> 0 Then txtDisplay = txtRes txtRes = 0 calVal = "Divide" End If End Sub
Private Sub cmdBtnMult_Click() If txtRes <> 0 Then txtDisplay = txtRes txtRes = 0 calVal = "Multiplication" End If End Sub
Private Sub cmdBtnMns_Click() If txtRes <> 0 Then txtDisplay = txtRes txtRes = 0 calVal = "Minus" End If End Sub
Private Sub cmdBtnAdd_Click() If txtRes <> 0 Then txtDisplay = txtRes txtRes = 0 calVal = "Add" End If End Sub
Private Sub cmdBtnDot_Click() If txtRes <> 0 Then txtRes = txtRes + "." End Sub
Private Sub cmdBtn1_Click() If txtRes = 0 Then txtRes = cmdBtn1.Caption Else txtRes = txtRes + cmdBtn1.Caption End If End Sub
Private Sub cmdBtn2_Click() If txtRes = 0 Then txtRes = cmdBtn2.Caption Else txtRes = txtRes + cmdBtn2.Caption End If End Sub
Private Sub cmdBtn3_Click() If txtRes = 0 Then txtRes = cmdBtn3.Caption Else txtRes = txtRes + cmdBtn3.Caption End If End Sub
Private Sub cmdBtn4_Click() If txtRes = 0 Then txtRes = cmdBtn4.Caption Else txtRes = txtRes + cmdBtn4.Caption End If End Sub
Private Sub cmdBtn5_Click() If txtRes = 0 Then txtRes = cmdBtn5.Caption Else txtRes = txtRes + cmdBtn5.Caption End If End Sub
Private Sub cmdBtn6_Click() If txtRes = 0 Then txtRes = cmdBtn6.Caption Else txtRes = txtRes + cmdBtn6.Caption End If End Sub
Private Sub cmdBtn7_Click() If txtRes = 0 Then txtRes = cmdBtn7.Caption Else txtRes = txtRes + cmdBtn7.Caption End If End Sub
Private Sub cmdBtn8_Click() If txtRes = 0 Then txtRes = cmdBtn8.Caption Else txtRes = txtRes + cmdBtn8.Caption End If End Sub
Private Sub cmdBtn9_Click() If txtRes = 0 Then txtRes = cmdBtn9.Caption Else txtRes = txtRes + cmdBtn9.Caption End If End Sub
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
‘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/