Excel туузыг тодорхой ажилд тохируулан өөрчилж болно. Энэхүү дасгал нь хэрэглэгчдэд даалгавартай нь холбоотой тодорхой хуудсыг зааж өгөх шинэ цэсүүдийг бий болгодог.
Энэ нийтлэлд бид таны Excel-ийн ажлын хуудсанд өөрчилсөн цэсийг хэрхэн үүсгэх талаар танилцуулах болно.
Энэ нийтлэл нь уншигчдад Developer туузыг харуулсан бөгөөд VBA редакторыг сайн мэддэг гэж үзнэ. Хэрэв үгүй бол Google-ийн “Excel Developer Tab” эсвэл “Excel Code Window” -ийг ашиглана уу.
Дасгалын ном
Ашиглах ажлын ном хэд хэдэн хуудастай байна. Эндээс авсан түүврийг ашиглахыг бид танд зөвлөж байна. Энэ харагдаж байна.
Эхний дөрвөн хуудас нь функциональ бус тул энэ дасгалд зөвхөн навигацийн зорилгоор ашигладаг.
Тав дахь хуудсанд энэ дасгалын дэвтэрт тохируулсан цэсний бүтцийг агуулна. Одоогийн байдлаар энэ нь Туршилтын товчлуураас бусад тохиолдолд хоосон байна.
Цэсийн бүтцийг нэмэх
Дараах текстийг “MenuSheet” хуудасны А1 нүдэнд хуулж ав.
Түвшин, тайлбар, байр суурь / макро, хуваагч
1, & Хэрэглэгчийн хэрэгсэл, 10
2, Show Dashboard, SelectDashboard
2, Шинэ нэмэх,, ҮНЭН
3, Client, SelectClient
3, Байршил, SelectLocation
3, Менежер, SelectManager
2, Close, CloseFile
Цэсийн бүтцийг форматлах
Энэхүү CSV өгөгдөл нь А баганад төгсөж Excel-ийн нүднүүд болгон форматлахын тулд А баганыг сонгоод ашиглана уу 'Багана руу текст' дахь Мэдээллийн таб. Тусгаарлагч нь "таслал" байх болно.
Дээрх зүйлүүд нь тохирох кодыг нэмж оруулсны дараа зүүн талд байрлах түвшний цэсийн бүтцийг өгөх болно.
Энэ дасгалын эхний түвшинг цэсний мөрөнд арав дахь зүйл болгон дур мэдэн байрлуулсан бөгөөд үүнийг ажлын дэвтрийн бүтэн өргөнийг харуулахад та харах болно.
Цэс үүсгэх, устгах
Бид зөвхөн энэ тодорхой ажлын дэвтэрт зориулсан шинэ цэсүүдийг авахыг хүсдэг тул ажлын номыг нээх, хаах үед тэдгээрийг үүсгэж устгах болно.
Доорх код нь эхлэл юм. Энэ нь ажлын дэвтэр нээгдэх эсвэл хаагдах үед идэвхжих болно. Үүнийг ажлын дэвтэр дэх модуль руу хуулж оруулна уу
MenuSheet дээрх Test товчийг Auto_Open-д оноож өг.
Option Explicit Sub auto_Open() Call DeleteMenu Call CreateMenu End Sub Sub auto_Close() Call DeleteMenu End Sub
Доор бид цэсийнхээ бүтцийг илүү нарийвчлан судалж үзээрэй.
Ямар ч макро өдөөгддөггүй Шинэ нэмнэ Учир нь энэ нь дэд цэсийн эцэг эхээс өөр функцгүй юм.
Энэ төрлийн цэсний бүтцийг хадгалахад хялбар байдаг. Түвшингийн түвшинг ухамсарлаж, шинэ зүйлээ макро дээрээ нэмж оруулаарай.
Дүрэм
Дараахь 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
Туршилтын товчлуур дээр кодыг туршиж үзээрэй. Шинээр үүсгэсэн хэрэглэгчийн цэсийг цэсийн 10-р байрлалаас Нэмэгдлүүдээс олох болно.
Excel сэргээх
Excel нь заримдаа тогтворгүй байдаг бөгөөд нээгдэх үед унаж, эх файлыг гэмтээж байдаг. Файлыг сэргээж чадахгүй тохиолдолд засах хэрэгсэлтэй байх нь ашигтай байдаг Excel-ийн гэмтэл эс тэгвээс бүх нөөцлөгдөөгүй ажил алдагдах болно.
Зохиогчийн танилцуулга:
Феликс Хүүкер бол мэдээлэл сэргээх мэргэжилтэн юм DataNumen, Үүнд мэдээлэл сэргээх технологиор дэлхийд тэргүүлэгч, Inc. rar файлыг засварлах болон sql сэргээх програм хангамжийн бүтээгдэхүүнүүд. Дэлгэрэнгүй мэдээллийг авна уу WWW.datanumen.com



