VBA မှတဆင့် သင်၏ Excel Worksheet တွင် စိတ်ကြိုက် Menus ဖန်တီးနည်း

ယခုမျှဝေပါ-

Excel ribbon ကို သီးခြားအလုပ်တစ်ခုနှင့် ကိုက်ညီအောင် ပြုပြင်နိုင်သည်။ ဤလေ့ကျင့်ခန်းသည် အသုံးပြုသူများအား ၎င်းတို့၏လုပ်ငန်းတာဝန်နှင့် သက်ဆိုင်သည့် သီးခြားစာရွက်များကို ညွှန်ပေးသည့် မီနူးအသစ်များကို ဖန်တီးပေးသည်။

ဤဆောင်းပါးတွင်၊ သင်၏ Excel အလုပ်စာရွက်တွင် စိတ်ကြိုက်မီနူးများ ဖန်တီးနည်းကို မိတ်ဆက်ပေးပါမည်။သင်၏ Excel Worksheet တွင် စိတ်ကြိုက် Menu ကိုဖန်တီးပါ။

ဤဆောင်းပါးသည် စာဖတ်သူတွင် Developer ribbon ကိုပြသထားပြီး VBA Editor နှင့် ရင်းနှီးသည်ဟု ယူဆပါသည်။ မဟုတ်ပါက၊ ကျေးဇူးပြု၍ Google “Excel Developer Tab” သို့မဟုတ် “Excel Code Window”။

စာအုပ်ပုံနှိပ်

အသုံးပြုမည့် အလုပ်စာအုပ်တွင် စာရွက်များ အများအပြားရှိသည်။ ဤနေရာတွင်တွေ့ရသော နမူနာကို အသုံးပြုရန် ကျွန်ုပ်တို့ အကြံပြုအပ်ပါသည်။ ဒီပုံပါပဲ။နမူနာအလုပ်စာအုပ်

ပထမစာရွက် လေးရွက်သည် လမ်းကြောင်းပြခြင်းအတွက်သာ ဤလေ့ကျင့်ခန်းတွင် အသုံးပြု၍မရပါ။

ပဉ္စမစာရွက်သည် ဤအလုပ်စာအုပ်အတွက် စိတ်ကြိုက်ပြင်ဆင်ထားသော မီနူးဖွဲ့စည်းပုံကို ထိန်းထားမည်ဖြစ်သည်။ လက်ရှိတွင် ၎င်းသည် စမ်းသပ်ခလုတ်တစ်ခုမှလွဲ၍ အလွတ်ဖြစ်သင့်သည်။

Menu Structure ကိုထည့်ပါ။

အောက်ဖော်ပြပါ စာသားတုံးကို စာရွက် “MenuSheet” ၏ ဆဲလ် A1 သို့ ကူးယူပါ။

အဆင့်၊ စာတန်း၊ ရာထူး/မက်ခရို၊ ပိုင်းခြားမှု

1၊&အသုံးပြုသူ ကိရိယာများ၊၁၀

2၊ Dashboard ကိုပြပါ၊ Dashboard ကိုရွေးချယ်ပါ။

2၊အသစ်ထည့်ပါ၊၊TRUE

3၊Client၊Client ရွေးပါ။

3၊တည်နေရာ၊တည်နေရာကိုရွေးချယ်ပါ။

3၊Manager၊SelectManager

2၊Close၊CloseFile

Menu Structure ကို Format ချပါ။

ဤ CSV ဒေတာသည် ကော်လံ A တွင် အကျုံးဝင်ပါသည်။ ၎င်းကို Excel ဆဲလ်တစ်ခုစီသို့ ဖော်မတ်ရန်၊ ကော်လံ A ကို ရွေးချယ်ပြီး အသုံးပြုပါ။ 'ကော်လံများသို့ စာတို' ထဲမှာ ဒေတာ tab. ကန့်သတ်ချက်သည် "ကော်မာ" ဖြစ်လိမ့်မည်။၎င်းကို တစ်ဦးချင်း Excel ဆဲလ်များအဖြစ် ပုံစံဖော်ပါ။

သင့်လျော်သောကုဒ်ကို ကျွန်ုပ်တို့ထည့်သွင်းပြီးသည်နှင့် အထက်တွင်၊ ဘယ်ဘက်ရှိ အဆင့်အခြေခံမီနူးပုံစံကို ကျွန်ုပ်တို့အား ပေးပါမည်။Level-based Menu Structure

ဒီလေ့ကျင့်ခန်းမှာ ပထမအဆင့်ကို မီနူးဘားရဲ့ ဆယ်ခုမြောက်အရာအဖြစ် သတ်မှတ်ထားပြီး workbook ရဲ့ အကျယ်အပြည့်ကို ပြသတဲ့အခါ သင်မြင်ရပါလိမ့်မယ်။

မီနူးများ ဖန်တီးခြင်းနှင့် ဖျက်ဆီးခြင်း။

ဤသတ်သတ်မှတ်မှတ်အလုပ်စာအုပ်အတွက် မီနူးအသစ်များကိုသာ လိုချင်သောကြောင့်၊ အလုပ်စာအုပ်ကို အဖွင့်အပိတ်လုပ်သည့်အခါ ၎င်းတို့ကို ဖန်တီးပြီး ဖျက်ဆီးပါမည်။

အောက်ကကုဒ်က အစပါ။ workbook ကိုဖွင့်လိုက်တဲ့အခါ ဒါမှမဟုတ် ပိတ်လိုက်တဲ့အခါ ပေါ်လာပါလိမ့်မယ်။ သင့် workbook ထဲက module တစ်ခုထဲကို ကူးယူပါ။

MenuSheet ပေါ်ရှိ Test ခလုတ်ကို Auto_Open သို့ သတ်မှတ်ပေးပါ။

Option Explicit

Sub auto_Open()
    Call DeleteMenu
    Call CreateMenu
 End Sub
 
Sub auto_Close()
    Call DeleteMenu
End Sub

အောက်တွင် ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ မီနူးဖွဲ့စည်းပုံကို ပိုမိုနီးကပ်စွာ စစ်ဆေးပါသည်။ကျွန်ုပ်တို့၏ Menu Structure ကို ပို၍ အနီးကပ်စစ်ဆေးပါ။

မက်ခရိုကို အစပျိုးထားခြင်းမရှိပါ။ နယူး Add အဘယ်ကြောင့်ဆိုသော် ၎င်းတွင် sub-menus ၏ ပင်မအဖြစ်မှလွဲ၍ အခြားလုပ်ဆောင်ချက်မရှိပါ။

ဒီလိုမျိုး Menuဖွဲ့စည်းပုံက ထိန်းသိမ်းရလွယ်ကူပါတယ်။ မီနူးအဆင့်ကို သတိရှိခြင်းဖြင့် ၎င်းတို့၏ မက်ခရိုများဖြင့် ဖိုင်အသစ်များကို ရိုးရှင်းစွာထည့်ပါ။

အဆိုပါ Code ကို

အောက်ပါ VBA ကုဒ်ကို မော်ဂျူးသို့ ပေါင်းထည့်ပါ။ ၎င်းသည် “MenuSheet” ကို စစ်ဆေးပြီး စိတ်ကြိုက်မီနူးကို ဖန်တီးမည်ဖြစ်သည်။

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

Test ခလုတ်ဖြင့် ကုဒ်ကို စမ်းသပ်ပါ။ အသစ်ဖန်တီးထားသော အသုံးပြုသူမီနူးကို Add-ins အောက်ရှိ menu position 10 တွင် တွေ့ရပါမည်။

Excel ပြန်လည်ရယူခြင်း။

Excel သည် တစ်ခါတစ်ရံတွင် မတည်မငြိမ်ဖြစ်ပြီး ဖွင့်နေစဉ်တွင် ပျက်သွားကာ အရင်းအမြစ်ဖိုင်ကို ပျက်စီးစေသည်။ ဖိုင်ကို ပြန်လည်ရယူရန် ပျက်ကွက်ပါက ပြုပြင်ရန် tool တစ်ခုရှိရန် အသုံးဝင်ပါသည်။ Excel ပျက်စီးခြင်း။ မဟုတ်ရင် အရန်မထားတဲ့ အလုပ်အားလုံး ဆုံးရှုံးသွားပါလိမ့်မယ်။

စာရေးသူနိဒါန်း:

Felix Hooker သည် ဒေတာပြန်လည်ရယူရေးဆိုင်ရာ ကျွမ်းကျင်သူဖြစ်သည်။ DataNumen, Inc. အပါအဝင် ဒေတာပြန်လည်ရယူရေးနည်းပညာများတွင် ကမ္ဘာ့ခေါင်းဆောင်ဖြစ်သည်။ rar ပြုပြင်ခြင်း နှင့် sql recovery software ထုတ်ကုန်များ။ ပိုမိုသိရှိလိုပါကသွားရောက်ကြည့်ရှု www ။datanumen.com

ယခုမျှဝေပါ-

မှတ်ချက်များကိုပိတ်ထားကြသည်။