এক্সেল ফিতাটি একটি নির্দিষ্ট কাজের অনুসারে পরিবর্তন করা যেতে পারে। এই অনুশীলনটি নতুন মেনু তৈরি করে যা ব্যবহারকারীদের তাদের কাজের সাথে সম্পর্কিত নির্দিষ্ট শিটগুলিতে নির্দেশ করে।
এই নিবন্ধে, আমরা আপনার এক্সেল ওয়ার্কশিটে কাস্টমাইজড মেনুগুলি কীভাবে তৈরি করব তা উপস্থাপন করব:
এই নিবন্ধটি ধরে নিয়েছে পাঠকের বিকাশকারী ফিতাটি প্রদর্শিত হয়েছে এবং এটি ভিবিএ সম্পাদকের সাথে পরিচিত। যদি তা না হয় তবে দয়া করে গুগল "এক্সেল বিকাশকারী ট্যাব" বা "এক্সেল কোড উইন্ডো"।
কার্যপুস্তিকা
ব্যবহারযোগ্য ওয়ার্কবুকটিতে প্রচুর শিট রয়েছে। আমরা আপনাকে এখানে পাওয়া নমুনাটি ব্যবহার করার পরামর্শ দিই। দেখে মনে হচ্ছে।
প্রথম চারটি শীট অকার্যকর, কেবলমাত্র নেভিগেশনের উদ্দেশ্যে এই অনুশীলনে ব্যবহৃত হচ্ছে।
পঞ্চম শীটটি এই ওয়ার্কবুকের জন্য নির্দিষ্ট কাস্টমাইজড মেনু কাঠামোকে ধারণ করবে। বর্তমানে এটি একটি টেস্ট বোতাম বাদে খালি থাকতে হবে।
মেনু স্ট্রাকচার যুক্ত করুন
"মেনু পত্রক" পত্রকের নীচের পাঠ্যটির ব্লক A1 তে অনুলিপি করুন।
স্তর, ক্যাপশন, অবস্থান / ম্যাক্রো, বিভাজক
1, এবং ব্যবহারকারীর সরঞ্জাম, 10
2, ড্যাশবোর্ড, নির্বাচন ড্যাশবোর্ড প্রদর্শন করুন
2, নতুন যুক্ত করুন, সত্য
3, ক্লায়েন্ট, সিলেক্ট ক্লায়েন্ট
3, অবস্থান, নির্বাচন অবস্থান
3, ম্যানেজার, সিলেক্ট ম্যানেজার
2, ক্লোজ, ক্লোজফিল
মেনু স্ট্রাকচার ফর্ম্যাট করুন
এই সিএসভি ডেটাটি কলাম এ শেষ হবে এবং এটিকে পৃথক এক্সেল কক্ষগুলিতে ফর্ম্যাট করতে, কলামটি নির্বাচন করুন এবং ব্যবহার করুন 'কলামে পাঠ্য' মধ্যে ডেটা ট্যাব। ডিলিমিটারটি হবে "কমা"।
উপরের, একবার আমরা উপযুক্ত কোডটি যুক্ত করলে, আমাদের বামে স্তর-ভিত্তিক মেনু কাঠামো দেবে।
এই অনুশীলনীতে, প্রথম স্তরটিকে মেনু বারের দশম আইটেম হিসেবে যথেচ্ছভাবে রাখা হয়েছে, যা আপনি ওয়ার্কবুকটির সম্পূর্ণ প্রস্থ প্রদর্শিত হলে দেখতে পাবেন।
মেনু তৈরি এবং ধ্বংস করছে
যেহেতু আমরা কেবলমাত্র এই নির্দিষ্ট ওয়ার্কবুকের জন্য নতুন মেনুগুলিই চাই, তাই আমরা ওয়ার্কবুকটি খোলার এবং বন্ধ করার সময় সেগুলি তৈরি এবং ধ্বংস করব।
নিচের কোডটি একটি সূচনা মাত্র। ওয়ার্কবুকটি খোলা বা বন্ধ করার সময় এটি সক্রিয় হবে। এটি আপনার ওয়ার্কবুকের একটি মডিউলে কপি করুন।
মেনুশিটে টেস্ট বোতামটি অটো_অপেনকে অর্পণ করুন।
Option Explicit Sub auto_Open() Call DeleteMenu Call CreateMenu End Sub Sub auto_Close() Call DeleteMenu End Sub
নীচে, আমরা আমাদের মেনু কাঠামো আরও নিবিড়ভাবে পরীক্ষা করি।
কোনও ম্যাক্রো দ্বারা ট্রিগার করা হয় না নতুন যুক্ত করুন কারণ এর সাব-মেনুগুলির পিতামাতা ব্যতীত অন্য কোনও কার্য নেই।
এই ধরণের মেনু কাঠামো বজায় রাখা সহজ। মেনু স্তর সম্পর্কে সচেতন হয়ে কেবল তাদের ম্যাক্রোগুলির সাথে নতুন আইটেম যুক্ত করুন।
কোড
মডিউলটিতে নিম্নলিখিত ভিবিএ কোড যুক্ত করুন। এটি "মেনুশিট" পরীক্ষা করে কাস্টমাইজড মেনু তৈরি করবে।
Sub CreateMenu()
' Called from Auto_Open. 'NOTE: There is no error handling in this subroutine
Dim MenuSheet As Worksheet
Dim MenuObject As CommandBarPopup
Dim MenuItem As Object
Dim SubMenuItem As CommandBarButton
Dim sRow As Integer
Dim MenuLevel, NextLevel, PositionOrMacro, Caption, Divider
Set MenuSheet = ThisWorkbook.Sheets("MenuSheet")
Call DeleteMenu
sRow = 2 ' start row
' Add menus using the structure as per the MenuSheet
Range("A" & sRow).Select
Do While ActiveCell > "" '****************
With MenuSheet
MenuLevel = .Cells(sRow, 1)
Caption = .Cells(sRow, 2)
PositionOrMacro = .Cells(sRow, 3)
Divider = .Cells(sRow, 4)
NextLevel = .Cells(sRow + 1, 1)
End With
Select Case MenuLevel
Case 1 ' Add the top-level menu to the Worksheet CommandBar
Set MenuObject = Application.CommandBars(1). _
Controls.Add(Type:=msoControlPopup, _
Before:=PositionOrMacro, _
Temporary:=True)
MenuObject.Caption = Caption
Case 2 ' A Menu Item
If NextLevel = 3 Then
Set MenuItem = MenuObject.Controls.Add(Type:=msoControlPopup)
Else
Set MenuItem = MenuObject.Controls.Add(Type:=msoControlButton)
MenuItem.OnAction = PositionOrMacro
End If
MenuItem.Caption = Caption
If Divider Then MenuItem.BeginGroup = True
Case 3 ' A SubMenu Item
Set SubMenuItem = MenuItem.Controls.Add(Type:=msoControlButton)
SubMenuItem.Caption = Caption
SubMenuItem.OnAction = PositionOrMacro
If Divider Then SubMenuItem.BeginGroup = True
End Select
sRow = sRow + 1
Range("A" & sRow).Select '***************************************
Loop
Sheets("Dashboard").Activate
End Sub
Sub DeleteMenu()
' This sub will be executed when the workbook is closing
Dim MenuSheet As Worksheet
Dim sRow As Integer
Dim Caption As String
On Error Resume Next
Set MenuSheet = ThisWorkbook.Sheets("MenuSheet")
sRow = 2
Range("A" & sRow).Select
Do While ActiveCell > ""
If MenuSheet.Cells(sRow, 1) = 1 Then
Caption = MenuSheet.Cells(sRow, 2)
Application.CommandBars(1).Controls(Caption).Delete
End If
sRow = sRow + 1
Range("A" & sRow).Select
Loop
On Error GoTo 0
End Sub
Sub SelectDashboard()
Sheets("Dashboard").Activate
End Sub
Sub SelectClient()
Sheets("Client").Activate
End Sub
Sub SelectLocation()
Sheets("Location").Activate
End Sub
Sub SelectManager()
Sheets("Manager").Activate
End Sub
Sub CloseFile()
MsgBox "Close! (write your own code in the module)"
End Sub
টেস্ট বোতামটি দিয়ে কোডটি পরীক্ষা করুন। নতুন তৈরি ইউজার মেনু অ্যাড-ইনগুলির অধীনে মেনু অবস্থান 10 এ পাওয়া যাবে।
এক্সেল পুনরুদ্ধার
এক্সেলটি কখনও কখনও অস্থির থাকে এবং খোলার সময় ক্র্যাশ হয়, উত্স ফাইলটির ক্ষতি করে। এটি ফাইলটি পুনরুদ্ধার করতে যেখানে ব্যর্থ হয়েছে, সেখানে মেরামত করার সরঞ্জাম থাকা কার্যকর useful এক্সেল ক্ষতি অন্যথায় ব্যাকআপ না করা সমস্ত কাজ হারিয়ে যাবে।
লেখকের ভূমিকা:
ফেলিক্স হুকার একটি ডেটা রিকভারি বিশেষজ্ঞ DataNumen, ইনক। যা তথ্য পুনরুদ্ধারের প্রযুক্তিগুলির সহ বিশ্বের শীর্ষস্থানীয় মেরামত রার এবং স্কয়ার পুনরুদ্ধার সফ্টওয়্যার পণ্য। আরো তথ্যের জন্য, যান WWW.datanumen.com



