এক্সেলে নিজেই তৈরি করুন ডিজিটাল ডায়েরি সফটওয়্যার – Create your own digital diary software in Excel
এক্সেলে নিজেই তৈরি করুন ডিজিটাল ডায়েরি সফটওয়্যার। এই বিস্তারিত টিউটোরিয়ালে আপনি শিখবেন কিভাবে এক্সেল ব্যবহার করে প্রোগ্রামিং স্কিল ব্যবহার করে আপনার নিজের ডিজিটাল ডায়েরি সফটওয়্যার তৈরি করতে।
স্মৃতির আসল মুহূর্তটি অদৃশ্য হয়ে যায়, স্মৃতি হল একটি ডায়েরি যা আমরা সকলেই আমাদের সাথে বহন করি। জীবনের সকল স্মৃতি লিপিবদ্ধ করে রাখুন এ.জে.পি উর্মি ডিজিটাল ডায়েরিতে। আসল মুহূর্তটি অদৃশ্য হয়ে যায় তবে আপনাকে স্মরণ করিয়ে দেওয়ার জন্য সবসময় তার স্মৃতি আপনার কাছে থাকবে।
ডিজিটাল ডায়েরির সুবিধা:
১:-গোপনীয়তা:
ডিজিটাল ডায়েরি ব্যবহারকারীদের উচ্চ গোপনীয়তার স্তর রয়েছে যা শ্রেণীবদ্ধ তথ্য রক্ষা করতে সাহায্য করে। এই ইডিজিটাল ডায়েরির পাসওয়ার্ড সুরক্ষিত। ভুল পাসওয়ার্ড প্রবেশ করানো হলে লগইন এক্সেস করতে পারবেন না এবং এর ফলে আপনার ব্যক্তিগত দুগ্ধে প্রবেশাধিকার লাভ করতে অনুপ্রবেশকারীদের বাধা দেয়।
২:- অনুসন্ধানযোগ্য এবং সহজেই সংরক্ষণযোগ্য:
এই পরবর্তী বিভাগটি বেশ স্ব-ব্যাখ্যামূলক, কিন্তু ডিজিটাল ডায়েরি অতীতের পোস্টগুলির মাধ্যমে অনুসন্ধান করার ক্ষমতা প্রদান করে, বা একটি নির্দিষ্ট উপায়ে এন্ট্রিগুলিকে ট্যাগ করার ক্ষমতা দেয় যা পরে উল্লেখ করা সহজ হতে পারে। এনালগ ডায়েরি এটি অফার করে না। উপরন্তু, একটি ডিজিটাল ডায়েরি ড্রপবক্স বা অন্য ফাইল স্টোরেজ সিস্টেমে ব্যাক আপ করা যেতে পারে, যাতে আপনি আত্মবিশ্বাসী হতে পারেন যে আপনার এন্ট্রি সবসময় থাকবে এবং সেগুলি হারিয়ে যাবে, চুরি হবে না বা নষ্ট হবে না।
৩:- প্রয়োজনীয় কাঠামো তৈরি করে:
আমরা বিশ্বাস করি এই পরবর্তী বিভাগটি অবিশ্বাস্যভাবে গুরুত্বপূর্ণ। ডিজিটাল ডায়েরি আপনার জন্য সেরা কাজ করে এমন একটি কাঠামো কাস্টমাইজ এবং তৈরি করার ক্ষমতা প্রদান করে। এই গঠন সুবিধা বিভিন্ন সক্ষম করে.
আপনি যদি একটি ফাঁকা পৃষ্ঠা দিয়ে শুরু করেন, তাহলে লেখার মতো বিষয় নিয়ে আসা কঠিন হতে পারে। এই কারণেই অনেক লোক ডায়েরি প্রম্পটগুলির সাথে মূল্য খুঁজে পায়।
আমি অতীতে স্ট্রাকচার্ড ডায়েরি কিনেছি, এবং এর জন্য আপনাকে ডায়েরি নির্মাতার ইচ্ছা অনুযায়ী আপনার আচরণকে মানিয়ে নিতে হবে। উদাহরণস্বরূপ, আমার কাছে একটি এনালগ ডায়েরি দৈনিক কৃতজ্ঞতার জন্য একটি বিভাগ রয়েছে। যদিও আমি এই কাঠামোটিকে সহায়ক বলে মনে করি, আপনার মধ্যে কেউ কেউ এটি পূরণ করতে চাই না।
এটি যত কম ব্যক্তিগতকৃত, অভ্যাসটি রাখার সম্ভাবনা তত কম।
সহজ করে বললে, একটি ফিজিক্যাল ডায়েরি আপনার রুচির সাথে মানিয়ে নিতে এবং পরিবর্তন করা যায় না যেভাবে একটি ডিজিটাল ডায়েরি করতে পারে। যখন আপনাকে আপনার আচরণকে খুব বেশি মানিয়ে নিতে হবে, তখন আপনি অভ্যাসটি তৈরি করতে পারবেন না, যা প্রথম স্থানে নিয়মিত ডায়েরির বিন্দু!
একটি চূড়ান্ত বিন্দু – আমি কাঠামোটি খুঁজে পেয়েছি এবং একটি কাজের/জীবনের প্রশিক্ষক হিসাবে কাজ করার জন্য অনুরোধ করে।
উদাহরণ প্রম্পট:
আপনি কি আজ কাজ করেছেন?
আজ কি পড়লেন?
আপনি কর্মক্ষেত্রে কোন মূল্যবান পাঠ শিখেছেন?
এটি আমাকে প্রতিফলিত করতে এবং আমার মস্তিষ্ক কীভাবে চিন্তা করে তা পুনরায় লিখতে সহায়তা করে। ডিজিটাল জার্নাল একটি কীস্টোন অভ্যাস, কারণ এটি অন্যান্য দরকারী অভ্যাসগুলিও কিকস্টার্ট করে।
এ.জে.পি উর্মি ডিজিটাল ডায়েরি:
আমরা ইউজারফর্মে class (ক্লাস) ব্যবহার করে একটি ক্যালেন্ডার সহ ডিজিটাল ডায়েরি তৈরি করেছি।এই ডিজিটাল ডায়েরিতে আপনি প্রতি ঘন্টার নোট লিখার জন্য সংশ্লিষ্ট টেক্সট বক্স রয়েছে।
আপনি আপনার পছন্দসই তারিখটি ক্যালেন্ডার থেকে নির্বাচন করে , সেই তারিখের নোটগুলি সংশ্লিষ্ট টেক্সট বাক্সে লিখুন তারপর বাটনে ক্লিক করুন। এভাবে সেই তারিখের নোটগুলি টেক্সট বাক্সের ডাটা ওয়ার্কশীটের প্রাসঙ্গিক কক্ষগুলিতে সংরক্ষণ করা হয়।
এই ডিজিটাল ডায়েরির ক্যালেন্ডারটিতে ১৯০৪ থেকে 2১০৩ তারিখগুলিকে কভার করে এবং ক্যালেন্ডারটি ব্যবহারকারীর সিস্টেম ভাষা অনুসারে তৈরি করা হয়। ওয়ার্কশীটের কলাম A দিন, মাস এবং বছর অনুসারে ১৯০৪ থেকে 2১০৩ এর মধ্যে তারিখগুলি তালিকাভুক্ত করে। কলাম C থেকে কলাম P পর্যন্ত শিরোনামে ঘন্টা তালিকাভুক্ত করা হয়েছে। এইভাবে, ঘন্টা অনুযায়ী নোট তৈরি করা যেতে পারে।
লগইন “Login” বাটনের জন্য VBA কোডস :
Private Sub cmdOK_Click()
Dim j As Integer
j = 2
found = 0
While Sheets(“Usr”).Cells(j, 1) <> “” And found = 0
If Sheets(“Usr”).Cells(j, 2) = Trim(txtName.Text) And Sheets(“Usr”).Cells(j, 3) = txtPassword.Text Then
found = 1
Application.Goto Worksheets(“data”).Range(“A1”)
Unload Me
UserForm2.show
End If
j = j + 1
Wend
If found = 0 Then
MsgBox “Wrong user name or password!”, vbCritical, “Error”
txtName.SetFocus
End If
End Sub
ক্যানসেল “Cancel” বাটনের জন্য VBA কোডস:
Private Sub cmdCancel_Click()
Unload Me
ThisWorkbook.Close SaveChanges:=False
End Sub
অ্যাড নিউ ইউসার ফর্ম-Add New User
অ্যাড নিউ ইউসার ফর্ম এর জন্য VBA কোডস:
Option Explicit
Dim id As Integer, i As Integer, j As Integer, flag As Boolean
Sub GetData()
If IsNumeric(UserForm1.TextBox1.Value) Then
flag = False
i = 0
id = UserForm1.TextBox1.Value
Do While Cells(i + 1, 1).Value <> “”
If Cells(i + 1, 1).Value = id Then
flag = True
For j = 2 To 3
UserForm1.Controls(“TextBox” & j).Value = Cells(i + 1, j).Value
Next j
End If
i = i + 1
Loop
If flag = False Then
For j = 2 To 3
UserForm1.Controls(“TextBox” & j).Value = “”
Next j
End If
Else
ClearForm
End If
End Sub
Private Sub UserForm_Initialize()
RemoveCloseButton Me
TextBox1.SetFocus
End Sub
Private Sub TextBox1_Change()
GetData
End Sub
Private Sub CommandButton1_Click()
EditAdd
End Sub
Private Sub CommandButton2_Click()
ClearForm
End Sub
এডিট/অ্যাড বাটন কোডস: -Edit/Add Codes
Sub EditAdd()
Dim emptyRow As Long
If UserForm1.TextBox1.Value <> “” Then
flag = False
i = 0
id = UserForm1.TextBox1.Value
emptyRow = WorksheetFunction.CountA(Range(“A:A”)) + 1
Do While Cells(i + 1, 1).Value <> “”
If Cells(i + 1, 1).Value = id Then
flag = True
For j = 2 To 3
Cells(i + 1, j).Value = UserForm1.Controls(“TextBox” & j).Value
Next j
End If
i = i + 1
Loop
If flag = False Then
For j = 1 To 3
Cells(emptyRow, j).Value = UserForm1.Controls(“TextBox” & j).Value
Next j
End If
End If
End Sub
ক্লিয়ার বাটন কোডস: -Clear Button Codes
Sub ClearForm()
For j = 1 To 3
UserForm1.Controls(“TextBox” & j).Value = “”
Next j
End Sub

Sub CloseForm()
Unload Me
End Sub

'For more : https://karimexcelvba.blogspot.com/
Private WithEvents Calendar1 As cCalendar
Dim i As Byte, sor, sor2, sor3 As String
Private Sub Calendar1_Click()
On Error Resume Next
Dim ara As Range
Set ara = Sheets(“data”).Range(“A2:A” & Range(“A” & Rows.Count).End(xlUp).Row).Find(CDate(Calendar1.Value), , xlValues, xlWhole)
If Not ara Is Nothing Then
Sheets(“data”).Cells(ara.Row, 1).Select
TextBox5.Text = Sheets(“data”).Cells(ara.Row, 2).Value
For i = 6 To 19
Controls(“TextBox” & i).Text = Sheets(“data”).Cells(ara.Row, i – 3).Value
Next
Else
MsgBox “The selected date not available.”, vbCritical, “Create by Karim Urmi ”
End If
End Sub
Private Sub CommandButton1_Click()
Dim ara As Range, y As Byte
Set ara = Sheets(“data”).Range(“A1:A” & Range(“A” & Rows.Count).End(xlUp).Row).Find(CDate(Calendar1.Value), , xlValues, xlWhole)
If Not ara Is Nothing Then
Sheets(“data”).Cells(ara.Row, 2).Value = TextBox5.Text
For i = 6 To 18
Sheets(“data”).Cells(ara.Row, i – 3).Value = Controls(“TextBox” & i).Text
Next
End If
sor2 = MsgBox(“The data were saved”, vbInformation, “Create by Karim Urmi”)
For y = 2 To 16
Sheets(“data”).Columns(y).EntireColumn.WrapText = True
Next
End Sub
Private Sub CommandButton10_Click()
sor = MsgBox(“Do you want to delete data?”, vbYesNo, “Create by Karim Urmi”)
If sor = vbNo Then Exit Sub
TextBox12.Value = “”
gir
End Sub
Private Sub CommandButton11_Click()
sor = MsgBox(“Do you want to delete data?”, vbYesNo, “Create by Karim Urmi”)
If sor = vbNo Then Exit Sub
TextBox13.Value = “”
gir
End Sub
Private Sub CommandButton12_Click()
sor = MsgBox(“Do you want to delete data?”, vbYesNo, “Create by Karim Urmi”)
If sor = vbNo Then Exit Sub
TextBox14.Value = “”
gir
End Sub
Private Sub CommandButton13_Click()
sor = MsgBox(“Do you want to delete data?”, vbYesNo, “Create by Karim Urmi”)
If sor = vbNo Then Exit Sub
TextBox15.Value = “”
gir
End Sub
Private Sub CommandButton14_Click()
sor = MsgBox(“Do you want to delete data?”, vbYesNo, “Create by Karim Urmi”)
If sor = vbNo Then Exit Sub
TextBox16.Value = “”
gir
End Sub
Private Sub CommandButton15_Click()
sor = MsgBox(“Do you want to delete data?”, vbYesNo, “Create by Karim Urmi”)
If sor = vbNo Then Exit Sub
TextBox17.Value = “”
gir
End Sub
Private Sub CommandButton16_Click()
sor = MsgBox(“Do you want to delete data?”, vbYesNo, “Create by Karim Urmi”)
If sor = vbNo Then Exit Sub
TextBox18.Value = “”
gir
End Sub
Private Sub CommandButton17_Click()
sor = MsgBox(“Do you want to delete data?”, vbYesNo, “Create by Karim Urmi”)
If sor = vbNo Then Exit Sub
TextBox5.Value = “”
gir
End Sub
Private Sub CommandButton18_Click()
sor3 = MsgBox(“Do you want to save the workbook?”, vbYesNo, “Create by Karim Urmi”)
If sor3 = vbNo Then
ActiveWorkbook.Close SaveChanges:=False
Else
ActiveWorkbook.Save
Application.Quit
End If
End Sub
Private Sub CommandButton19_Click()
Application.Goto Worksheets(“Usr”).Range(“A1”)
End Sub
Private Sub CommandButton3_Click()
Dim ara As Range
Set ara = Sheets(“data”).Range(“A1:A” & Range(“A” & Rows.Count).End(xlUp).Row).Find(CDate(Calendar1.Value), , xlValues, xlWhole)
If Not ara Is Nothing Then
Sheets(“data”).Cells(ara.Row, 2).Value = TextBox5.Text
For i = 6 To 18
Sheets(“data”).Cells(ara.Row, i – 3).Value = Controls(“TextBox” & i).Text
Next
End If
sor2 = MsgBox(“The data were changed”, vbInformation, “Create by Karim Urmi”)
End Sub
Private Sub CommandButton4_Click()
sor = MsgBox(“Do you want to delete data?”, vbYesNo, “Create by Karim Urmi”)
If sor = vbNo Then Exit Sub
TextBox6.Value = “”
gir
End Sub
Private Sub Image1_Click()
TextBox6.Value = “”
CommandButton1.SetFocus
End Sub
Private Sub CommandButton5_Click()
sor = MsgBox(“Do you want to delete data?”, vbYesNo, “Create by Karim Urmi”)
If sor = vbNo Then Exit Sub
TextBox7.Value = “”
gir
End Sub
Private Sub CommandButton6_Click()
sor = MsgBox(“Do you want to delete data?”, vbYesNo, “Create by Karim Urmi”)
If sor = vbNo Then Exit Sub
TextBox8.Value = “”
gir
End Sub
Private Sub CommandButton7_Click()
sor = MsgBox(“Do you want to delete data?”, vbYesNo, “Create by Karim Urmi”)
If sor = vbNo Then Exit Sub
TextBox9.Value = “”
gir
End Sub
Private Sub CommandButton8_Click()
sor = MsgBox(“Do you want to delete data?”, vbYesNo, “Create by Karim Urmi”)
If sor = vbNo Then Exit Sub
TextBox10.Value = “”
gir
End Sub
Private Sub CommandButton9_Click()
sor = MsgBox(“Do you want to delete data?”, vbYesNo, “Create by Karim Urmi”)
If sor = vbNo Then Exit Sub
TextBox11.Value = “”
gir
End Sub
Private Sub Kapat_Click()
Unload UserForm2
End Sub
Private Sub gir()
Dim ara As Range
Set ara = Sheets(“data”).Range(“A1:A” & Range(“A” & Rows.Count).End(xlUp).Row).Find(CDate(Calendar1.Value), , xlValues, xlWhole)
If Not ara Is Nothing Then
Sheets(“data”).Cells(ara.Row, 2).Value = TextBox5.Text
For i = 6 To 18
Sheets(“data”).Cells(ara.Row, i – 3).Value = Controls(“TextBox” & i).Text
Next
End If
End Sub
Private Sub UserForm_Initialize()
RemoveCloseButton Me
Set Calendar1 = New cCalendar
Calendar1.Add_Calendar_into_Frame Me.Frame1
TextBox6.EnterKeyBehavior = True
For i = 5 To 18
Controls(“TextBox” & i).EnterKeyBehavior = True
Controls(“TextBox” & i).ScrollBars = fmScrollBarsBoth
Next
Calendar1_Click
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/