View
959
Download
4
Category
Preview:
Citation preview
CHUYN MN HC
K TON EXCELGV: Nguyen Ngoc Minh Email: minhhoangtell@yahoo.comNg.Ng.Minh
NI DUNG
1.
2.
To bng, dng hm, cc chc nng macro, validation, advanced filter, lp c phiu thu-chi, phiu nhp xut, th kho, bo co ti chnh tng t file K ton Excel 2011: 2 im Lm c Form nh form ng nhp h thng, cy th mc, form nhp liu v hiu v VBA (phiu nhp xut, thu chi): 3 im
3. 4.
To c Ribon ngi dng cho file s dng nh cc Tab, Group, Control : 3 im C hay, sng to: 2 im
Ng.Ng.Minh
TO RIBON NGI DNG
RIBONGV: Nguyen Ngoc Minh Email: minhhoangtell@yahoo.comNg.Ng.Minh
TO RIBON NGI DNGGi s ta mun to mt Ribon nh sau:
Nu bn mun thay i giao din Ribbon trong Excel 2010, bn phi thm RibbonX (xml) vo file customUI14.xml bn trong tp tin Excel ca bn.
Ng.Ng.Minh
TO RIBON NGI DNGTrc tin bn kim tra xem my bn c phin bn NET framework 3 hoc 4 cha, sau bn ci Custom UI Editor For Microsoft Office (trnh son tho giao din ngi dng ty chnh). y l phin bn ca giao din ngi dng Custum Editor cung cp cho bn mt ty chn chn mt tp tin customUI14.xml cho Excel 2010 (nu Excel 2007 th l customUI.xml)Khi m trnh son tho giao din ngi dng ty chnh, bn s thy rng c 5 nt menu trn trnh n thanh cng c nh sau.
Open: M file Excel m bn mun chnh sa (thay i giao din Ribbon cho tp tin ny) Save: Lu RibbonX trong tp tin m bn m trong trnh son tho giao din ngi dng (Khng c th save khi tp tin c m ra trong Excel)
Ng.Ng.Minh
TO RIBON NGI DNGInsert Icons : Chn cc biu tng ca ring bn trong tp tin (cc biu tng s c lu trong tp tin)Validate : Xc nhn RibbonX ca bn v vy bn phi chc chn rng c khng c li chnh t Generate Callbacks : To Callback - iu ny s to ra cc macro (callbacks) cho mi hot ng bn c trong RibbonX. Chn tt c cc callbacks v sao chp chng vo trong mt m-un bnh thng trong bng tnh ca bn. Thc hin: Bn m mt tp tin Excel trong trnh son tho giao din ngi dng ty chnh, click phi vo tn tp tin v chn: Office 20120 Custom UI Part to ra cc tp tin customUI14.xml
Ng.Ng.Minh
TO RIBON NGI DNGCc bc thc hin:1. M mt workbook mi v lu n di Minh_Ribon.xlsm (Excel Macro-Enabled workbook) 2. ng bng tnh dng .xlsm v d
3. M Minh_Ribon.xlsm trong trnh son tho giao din ngi dng ty chnh4. Nhp chut phi vo tn tp tin trong trnh son tho giao din ngi dng ty chnh hoc s dng menu Insert 5. Chn "Office 2010 Custom UI Part" to ra cc tp tin customUI.xml 6. Dn RibbonX di y trong ca s bn phi Ng.Ng.Minh
TO RIBON NGI DNG
Ng.Ng.Minh Excel" do" size="normal" size="normal" size="normal"
TO RIBON NGI DNGBn c th kim tra xem on m trn c b li hay khng bng cch nhp chut vo nt Validate7. Lu cc thay i ca bn trong trnh son tho giao din ngi dng ty chnh (click vo nt Save) v ng li (Chn File -> Exit) 8. M tp tin trong Excel -> chn Ribon Developer -> Visual Basic (hoc nhn Alt + F11). Chn menu Insert Module. Sao chp macro di y phn trong module: Sub Mar_Minh_T1_1(control As IRibbonControl) MsgBox " Khoa KT-KT xin chao ban ! " & Chr(13) & Chr(13) & _
"FILE CHI DUNG CHO HE DAI HOC"End Sub Bn cng c th kim tra xem on macro trn c b li hay khng bng cch vo menu Debug, chn Compile VBAProject
Ng.Ng.Minh
TO RIBON NGI DNG9. Lu cc thay i ca bn v ng liBy gi bn c th kim tra xem kt qu lm. M file Minh_Ribon, bn s thy to c mt ribon nh sau:
V khi vo Ribon Gioi thieu, nhn Button Khoa KT-KT, bn s thy macro c thc thi nh hnh bn phi.
Ng.Ng.Minh
TO RIBON NGI DNGTuy nhin, Custom UI Editor For Microsoft Office li khng h tr Unicode. Vy l sao c giao din ting Vit?Nu ch bn s thy Excel 2010 l cc file zip, v vy nu bn thay i phn m rng thnh zip v m cc tp tin trong chng trnh zip ca bn, bn thy rng c mt vi th mc bn trong zip.
Nn bn cn lm thm cc bc sau:1. M trnh son tho giao din ngi dng ty chnh m file Minh_Ribon.xlsm v dng bng m TCVN3 (ABC) hoc VNI Windows a on m vo.
2. i ui file t Minh_Ribon.xlsm thnh Minh_Ribon.xlsm.zip (ch l i ui thi, ch khng nn file).3. Dng WinRar hoc Winzip m file Minh_Ribon.xlsm.zip (ch l khng c gii nn). M ti th mc \customUI, chn file customUI14.xml, bm nt Extract to n ni cn lu file customUI14.xml.
Ng.Ng.Minh
TO RIBON NGI DNG4. Dng NotePad m file customUI14.xml (n nm trong th mc m bn Extract to, nh chn All file), sau dng Unikey (Nhn Ctr+Shift+F6) convert chui sang Unicode, coppy on convert ny thay th cho chui c trong file customUI14.xml v lu li.5. Trong ca s Winrar (Winzip), chn nt "Add" v tm ti file customUI14.xml ri chn "OK". 6. i ui file t Minh_Ribon.xlsm.zip thnh Minh_Ribon.xlsm. 7. M file Minh_Ribon.xlsm ln kim tra xem Ribon c thc thi ting vit cha.
Ng.Ng.Minh
TO RIBON NGI DNGVy lm th no a cc biu tng ca ring ti vo trong Ribbon?Bn hy thc hin cc bc sau:1. Trc ht bn phi c cc file hnh nh dng Png hoc Icon
2. M tp tin Minh_Ribon.xlsm trong trnh son tho giao din ngi dng ty chnh3. Click chut phi vo customUI14.xml, chn Insert Icons (hoc vo menu Insert chn Icons) chn cc file hnh nh ca bn vo s thy n ngay di customUI14.xml. Nu khng thy th bn hy nhn vo nt + ngay trc customUI14.xml. 4. Nu file nh bn l logo_khoa th on m s l image="logo_khoa" (ch l image ch khng phi l imageMso nh v l icon ca Microsoft)
Thc hin xong cc cng vic trn. Nu m file Minh_Ribon.xlsm m bn thy kt qu nh trn l bn thnh cng bc u.
Ng.Ng.Minh
VBA EXCELGV: Nguyen Ngoc Minh Email: minhhoangtell@yahoo.comNg.Ng.Minh
VBA EXCEL VBA (Visual Basic for Application) l ngn ng c Microsoft pht trin dnh ring cho cc ng dng thuc b Office vi mc ch xy dng cc ng dng phc tp. VBA trong MS Excel l mt phn trong . VBA s dng ngn ng lp trnh Visual Basic, mt ngn ng lp trnh tng i d s dng v ph bin nht th gii.
Cu trc ca mt d n VBA: M-un chun (Module): l ni cha cc m lnh khai bo, cc chng trnh con (hm v th tc) M-un lp (Class Module): l ni cha nh ngha cho cc lp ca d n UserForm: l giao din dng hp thoi gip cho vic giao tip gia ngi s dng v chng trnh c thun tin. M mt d n VBA: Cho hin th Ribon Developer (Vo File/Option/Customize ribon -> chn Maintab -> check vo Developer). Chn Tab Developer/Visual Basic (hoc nhn Alt+F11)
Ng.Ng.Minh
VBA EXCELCa s VBA:
Ng.Ng.Minh
VBA EXCEL1. Thanh trnh n (Menu bar):Cha tt c cc la chn cn thit thao tc vi VBA:
2. Ca s d n (Project Explorer Window):Lit k di dng cy phn cp cc d n hin ang c m trong VBA v cc thnh phn c trong trong d n
3. Ca s m lnh (Code Window):Ngi dng c th hiu chnh m lnh, to ra m lnh mi trong ca s m lnh.
4. Ca s tra cu i tng (Object Browser Window):Hin th cc lp, phng thc, thuc tnh, s kin v hng s c trong th vin i tng v trong d n m ngi dng va to.
Ng.Ng.Minh
VBA EXCEL5. Ca s i tng trc quan (Visual Object Window):Cho php ngi dng thao tc trn cc iu khin mt cch d dng v thun tin
6. Hp cng c cha iu khin (Tool Box):Cha cc thanh cng c gip ngi dng c th chn cc iu khin vo ca s ngii dng (UserForm).
7. Ca s thuc tnh (Properties Window):Ca s ny lit k tt c cc thuc tnh ca i tng, qua ngi dng c th tham kho v thay i cc thuc tnh khi cn.
Ng.Ng.Minh
VBA EXCELSub - Function :VBA ch yu dng to cc Sub (th tc) hay cc Function (hm). S khc bit gia Sub v Function l : Sub thi hnh mt khi lnh no v khng c gi tr tr v v ch c th gi Sub t mt Sub hay Function khc. Function cng thi hnh mt khi lnh nhng n c gi tr tr v v c th gi Function c Sub, Function khc hay gi trong Form, Macro.
Phng thc (Method) v thuc tnh (Property):Phng thc: thc thi mt hnh ng no Thuc tnh: m t v gi tr n ang c, ta c th ly gi tr tr v hay xc lp thuc tnh (tr nhng thuc tnh ch c) Vd: Me.Phai = Nam (ta c th ly hay gn gi tr cho n) Me.Listbox.AddItem (n chng tr v gi tr no c)
Ng.Ng.Minh
VBA EXCELPublic - Private : Public: khi vit hm, th tc nu ta khai bo l Public th n s c th c s dng trong cc module, class khc, tm li l c th s dng mi ni. Private: ch c th s dng trong phm vi module, class hin hnh Nu khng ch r l Public hay Private th kiu mc nh l Public
Module Class: Cc on code ta vit trong Form gi l Class. Cn cc on code ta vit trong th Module gi l Module im khc nhau c bn ca Module v Class l : Trong Module nu ta khai bo hm, th tc l Public th ta c th s dng tn hm, th tc mi ni, cn khi ta mun tham chiu n mt hm, th tc c khai bo Public trong Class th ta phi s dng phng thc: Tn Form.Tn hm, th tc
Ng.Ng.Minh
VBA EXCELCc kiu d liu trong VBA :Kiu d liu Byte Integer Long Single Double Boolean 1 byte 2 bytes 4 bytes 4 bytes 8 bytes 1 byte Kch thc 0 > 255 -32,768 > 32,767 -214,763,748 > 214,763,747 - 3,4 x 1038 > 3,4 x 1038 (cha c 7 s l) -1,97 x 10308 > 1,97 x 10308(cha c 14 s l) -1/ 0 hoc True/ False (tng ng kiu Yes/ No trong Table) 165.400 k t -922,3373,203,685,479 > 922,3373,203,685,477 1/1/100 > 31/12/9999 Kiu ny do ngi dng nh ngha Vng gi tr
String(variable length) 10 bytes + string length 0 231 k t String(fixed length) Currency Date Kiu ngi dng Length of string 8 bytes 8 bytes x
Ng.Ng.Minh
VBA EXCELKhai bo bin: Dim As Vd: Dim a As Integer => Tc khai bo bin a l kiu s nguyn
Khai bo hng (gi tr c nh): Dng Const Vd: Const Pi = 3.14
Ng.Ng.Minh
VBA EXCELPhng php quy chiu n d liu trong Excel: - n 1 sheet i n sheet th N: SheetN, Sheets(N), WorkSheetN, WorkSheets(N) i n sheet c tn l M: Sheets(M), WorkSheets(M)
- n 1 cell: SheetM.Cells(hng, ct) => i n trong sheet c tn SheetM WorkSheets(N).Cells(hng, ct) => i n trong sheet th N -Thm 1 dng trong sheet: SheetM.Rows(i).Insert => Chn thm 1 dng v tr hng i
-Xa 1 dng trong sheet: SheetM.Rows(i).Delete => Xa 1 dng v tr hng i
Ng.Ng.Minh
VBA EXCEL-Thm 1 ct trong sheet: SheetM.Columns(i).Insert => Chn thm 1 ct v tr hng i
-Xa 1 ct trong sheet: SheetM.Columns(i).Delete => Xa 1 ct v tr hng i
Khai bo hm:Function([Tn bin] As [Kiu bin]) - Cc khai bo bin cc b - Cc lnh ca hm End Function
Ng.Ng.Minh
VBA EXCELKhai bo th tc:Sub([Danh sch bin]) - Cc khai bo bin cc b - Cc lnh ca hm End Sub V d: To hm tnh giai tha Function MGT(n As Byte) As Long Dim i As Byte MGT = 1 For i = 1 To n MGT = MGT * i Next i End Function BT: Lp hm tnh Xn
Ng.Ng.Minh
VBA EXCELCc cu trc iu khin:Cu trc tun t: C dng: - Cu lnh 1 - Cu lnh 2If < iu kin > then Cc cu lnh End If Cu trc phn nhnh: If Then Cc cu lnh nu iu kin ng Else Cc cu lnh nu iu kin sai End If
Ng.Ng.Minh
VBA EXCELCu trc la chn Select Case : Select Case Case [Cc lnh nu kim tra tha mn gi tr 1] Case [Cc lnh nu kim tra tha mn gi tr 2] . Case Else [Cc lnh nu kim tra khng tha mn cc gi tr trn] End Select Vng lp While...Wend: Vng lp s thc lnh "nhm_lnh" nu "iu_kin" vn cn ng. While iu_kin nhm_lnh Wend
Ng.Ng.Minh
VBA EXCELV d: Tnh tng 100 s u tin: Dim i, N, S As Integer N = 100 S=0 i=1 While i < N S=S+i i=i+1 Wend MsgBox "Tong cua 50 so tu nhien dau tien la: " & S
Ng.Ng.Minh
VBA EXCELCu trc Do While Loop: Vng lp thc hin cho n khi no iu kin vn cn ng. Do While [Cc lnh nu iu kin ng] Exit Do Loop Vd: Hin ln 10 dng Dim i As Byte, MString As String i=1 Do While i 100 ActiveSheet.Range("A1") = Ketqua End Sub
Ng.Ng.Minh
VBA EXCELCu trc lp xc nh: For For = To [Step] [Cc lnh] Exit For Next V d: S dng vng lp For, tnh tng 100 s t nhin u tin Sub TinhTong() Dim i, N, S as Integer N=100 S=0 i=1 For i=1 to N Step 1 S= S+i Next i MsgBox Tng 100 s t nhin u tin l: & S End Sub Ng.Ng.Minh
TO FORM
FORMGV: Nguyen Ngoc Minh Email: minhhoangtell@yahoo.comNg.Ng.Minh
TO FORMPhn ny hng dn bn to mt Form ngi dng trong ExcelV d chng ta s Userform nh sau:
Ng.Ng.Minh
TO FORM
Cch to Userform- Cho hin th Ribon Developer (Vo File/Option/Customize ribon -> chn Maintab -> check vo Developer).
- Chn Tab Developer/Visual Basic (hoc nhn Alt+F11)-Chn menu Inset/UserForm Ca s hin ln nh sau: Nu hp cng c khng t ng xut hin, click vo View v sau chn Toolbox
Ng.Ng.Minh
TO FORMGii thiu v hp thoi Toolbox:Label - Nhn Textboxes - Hp vn bn Listbox Hp danh sch Combobox Hp chn Checkbox - Hp kim Option button - Nt la chn Frames - Khung Command button Nt lnh
-
Spin button Nt SpinScrollBar Thanh cun
Ng.Ng.Minh
TO FORMThay i tn v thuc tnh: Nhn chut phi , sau chn vo Properties thc hinLabel (Nhn) : Cc ch nh i hc k ton 4, Kho st ngh nghip, h tn l Label
Chn ch A trn hp Toolbox, sau vch 1 ng trong form, g ch vo, v nh dng li bng cch: Chn label mun nh dng, nhn chut phi, sau chn vo Properties thc hin
Ng.Ng.Minh
TO FORMMt s thuc tnh chnh:Name tn
Caption: th hin lnBackcolor: mu nn BackStyle: kiu nn Enabled: C th thc hin Font: Kiu ch Forecolor: Mu ch Picture: Chn nh nn Visible: hin ln
Ng.Ng.Minh
TO FORMTexbox: Chn k hiu ablMt s thuc tnh:ControlSoure: D liu a voControlTiptext: Hng dn hin ln TextAlign: Canh on text Locked: Kha ScrollBars: C cho thanh cun hay khng (trng hp ni dung qu di). WordWrap: C cho php ch t ng xung dng khng.
Ng.Ng.Minh
TO FORMImage: Hnh chn l hiuMt s thuc tnh:PictureSizeMode: Chn c hnhSpecialEffect: Chn hiu ng c bit
ComboBox: Hp chnMt s thuc tnh:BoundColumn: Ct ly gi tr ColumnCount: S ct cho hin ln ColumnHeads: Tiu ct ColumnWiths: rng cc ct
ControlSoure: Ni d liu a vo Ng.Ng.Minh
TO FORMComboBox: Hp chnMt s thuc tnh:BoundColumn: Ct ly gi tr ColumnCount: S ct cho hin ln
ColumnHeads: Tiu ctColumnWiths: rng cc ct ControlSoure: Ni d liu a vo DropbuttonStyle: Kiu nt s xung ListRow: S dng s xung ListStyle: Kiu danh sch RowSource: Ni d liu a ly (ngun) TabIndex: Th t
Ng.Ng.Minh
TO FORMListBox: Hp danh schMt s thuc tnh:Tng t ComboBox, tuy nhin chim nhiu din tch v danh sch c sn trn form
MultiPage: To trangMt s thuc tnh:TabOrienTation: Chn kiu Tab
Ng.Ng.Minh
TO FORMFrame: Lm vic vi nhmMt s thuc tnh:OptionButton: Nt Option MousePointer: Chn kiu chut ScrollBar: Cho thanh cun hin ln GroupName: Tn Group
Ng.Ng.Minh
TO FORMToggleButton: Nt Toggle: chn kiu thay phin
SpinButton: Nt Spin: tng gim gi trMt s thuc tnh:Max: Gi tr ln nht Min: Gi tr nh nht
SmallChange: Gi tr mi ln thay i.
ScrollBar: Thanh cun:Mt s thuc tnh:Tng t nt Spin, nhng c thanh cun gia.
Ng.Ng.Minh
V D V VBA & FORMGV: Nguyen Ngoc Minh Email: minhhoangtell@yahoo.comNg.Ng.Minh
TO FORM NG NHPVD1: To mt Form ng nhp nh sau:
- Cho hin th Ribon Developer (Vo File/Option/Customize ribon -> chn Maintab -> check vo Developer). - Chn Tab Developer/Visual Basic (hoc nhn Alt+F11) -Chn menu Inset/UserForm
Ng.Ng.Minh
TO FORM NG NHP- Click chut phi vo Form, chn Propties. Hp thoi Propertis xut hin: Mc (Name): t tn Form, VD: FrmDangnhap Caption: Tiu Form th hin ln, VD: Dang nhap he thong Sau ta a cc i tng vo Form - Tn ca cc i tng trong v d minh ha: Text Tn ng nhp: Txttendangnhap Text Mt khu: Txtmatkhau Nt ng nhp: Cmddangnhap Nt thot: Cmdthoat
Ng.Ng.Minh
TO FORM NG NHPDouble Click chut vo Form, a on m lnh vo:Phng thc khi ng: Private Sub UserForm_Click() Tt thanh trng thi:
Application.StatusBar = FALSEGn thng tin vo tiu : Application.Caption = "KE TOAN EXCEL - Giang vien: Nguyen Ngoc Minh"
Tt thanh cun:Application.DisplayScrollBars = FALSE Di chuyn n sheet c tn l MAIN Application.Sheets("MAIN").Select End Sub
Ng.Ng.Minh
TO FORM NG NHPDouble Click chut vo Nt ng nhp, a on m lnh vo:Phng thc ng nhp h thng:
Private Sub Cmddangnhap_Click()
Khai bo binDim USERNAME, PASSWORD As String Dim i As Integer Dim TIMTHAY As Boolean Di chuyn n worksheet c tn l "Soure" Worksheets("Soure").Select Gn gi tr ban u cho bin TIMTHAY TIMTHAY = False
Ng.Ng.Minh
TO FORM NG NHPBt u kim tra tn v mt khu:i = 27 a gi tr u tin vo bin USERNAME = Range("A" & i).Value
Khi bin USERNAME c gi tr khc rng, tc l c thnh vinDo While USERNAME "" Ly gi tr dng i, ct A gn vo bin USERNAME USERNAME = Range("A" & i).Value Ly gi tr dng i, ct B gn vo bin PASSWORD PASSWORD = Range("B" & i).Value
Ng.Ng.Minh
TO FORM NG NHPKim tra tn ng nhp v mt khu:If (LCase(Trim(Me.Txttendangnhap.Value)) = USERNAME) And (LCase(Trim(Me.Txtmatkhau.Value)) = PASSWORD) Then Nu c gn gi tr cho bin TIMTHAY = TRUE TIMTHAY = True v thot ra khi vng lp, khng cn tm na. Exit Do End If
Nu khng tm thy, i n dng k tipi=i+1 Loop Sau khi thot khi vng lp, kim tra li bin TIMTHAY If TIMTHAY = True Then
Ng.Ng.Minh
TO FORM NG NHPng Form v tr vo ExcelUnload Me Else Nu tm khng thy th ln nhc nh v xa gi tr trong cc Texbox
Title = "Nhap lai:"MSG = "Sai roi ban oi!" & Chr(13) & " Nhap lai nhe? " Response = MsgBox(MSG, 0 + 64, Title) Me.Txttendangnhap.Value = "" Me.Txtmatkhau.Value = "" Di chuyn vo li Text ng nhp Me.Txttendangnhap.SetFocus End If End Sub Ng.Ng.Minh
TO FORM NG NHPPhng thc kim tra khong trng tn ng nhpPrivate Sub Txttendangnhap_Change() Khai bo bin Dim i, Dai As Integer
Dim KYTU As StringWith Me Dai = Len(.Txttendangnhap.Value) Kim tra tng k t trong chui ng nhp For i = 1 To Dai Ly ra 1 k t ti v tr th i KYTU = Mid(.Txttendangnhap.Value, i, 1)
Nu l k t trngIf KYTU = " " Then Ng.Ng.Minh
TO FORM NG NHPHin th hp thoi thng boMsgBox Tn ng nhp khng cho php c khong trng!", vbOKOnly, K ton Excel" Ri xa Textbox .Txttendangnhap.Value = "" Di chuyn vo li Text ng nhp .Txttendangnhap.SetFocus Thot khi vng lp
Exit ForEnd If Next i End With End Sub
Ng.Ng.Minh
TO FORM NG NHPPhng thc kha mn hnhPrivate Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = 0 Then Cancel = True End Sub
Thot v WindowPrivate Sub cmdThoat_Click() Application.Quit End Sub
Ng.Ng.Minh
T NG THI HNH LNH KHI M FILET ng thi hnh lnh khi m file:Vo VBA, Double vo ThisWorkbook, ri a on m lnh sau vo: Private Sub Workbook_Open() Khi m file, t ng gi Form ng nhp, sau gi form c tn l FrmMain
FrmDangnhap.ShowFrmMain.Show Ri hin thng bo Title = "Khoa KT-KT:" MsgBox " " Khoa KT-KT xin chao ban ! " & Chr(13) & Chr(13) & _
FILE CHI DUNG CHO HE DAI HOC
", vbInformation, Title
Chn sheet c tn l A_MENU
Sheets("A_MENU").Select
Ng.Ng.Minh
T NG THI HNH LNH KHI M FILEKha thanh cun, ch cho gii hn t D4->S28ActiveSheet.ScrollArea = "" ActiveSheet.ScrollArea = "$D$10:$S$28" Gn phm tt gi Macro (phm Shift+F4 gi Macro c tn l Minh)
Application.OnKey "+{F4}", "Minh"End Sub
Ng.Ng.Minh
TO CY TH MCVD2: To mt Cy phn h chng t nh sau: lm c cy th mc trc ht Toolbox bn phi c TreeView v ImageList. => Bn vo Tool (hoc click chut phi vo Toolbox), chn Additional Controls, ri chn 2 mc sau:
Ng.Ng.Minh
TO CY TH MCKhi bn s thy trn Control c thm 2 cng c nh trn hnh v.Bn chn TreeView, ri v ln Form ni bn mun to cay th mc. Sau chn ImageList v cng v ln Form
Ng.Ng.Minh
TO CY TH MCTrong hp thoi Properties ca ImageList, chn mc Custom (Trong v d ny c tn l MinhImageList) => Xut hin hp thoi Property Pages- Ti Th General chn Option 16x16
- Qua th Images, vo Insert Picture chn hnh mun c ti u cy th mc* Ch l Cp ca n c th hin mc Index * Nu khng mun th bn chn Remove Picture
Ng.Ng.Minh
TO CY TH MCBy gi bn g on Code sau cho Form:Private Sub UserForm_initialize() Khai bo bin Dim NodeX As Node
Khai bo s dng ImageList trong TreeViewMinhTreeView.ImageList = MinhImageList To cc nt trong TreeView Set NodeX = MinhTreeView.Nodes.Add(, , "CV5", "Tai san co dinh", 1) Set NodeX = MinhTreeView.Nodes.Add("CV5", tvwChild, "CV5_1", "Tang tai san", 2) Set NodeX = MinhTreeView.Nodes.Add("CV5_1", tvwChild, "CV5_1_1", "Mua moi tai san", 3)
Set NodeX = MinhTreeView.Nodes.Add("CV5_1", tvwChild, "CV5_1_2", "Danh gia lai", 3) Ng.Ng.Minh
TO CY TH MCSet NodeX = MinhTreeView.Nodes.Add("CV5", tvwChild, "CV5_2", "Giam tai san", 2)Set NodeX = MinhTreeView.Nodes.Add("CV5", tvwChild, "CV5_3", "Khau hao tai san", 2) End Sub Xong bn chy th Form bn s thy hot ng tng t cy th mc. Tc bn Doubeclick th th mc con s bung ra, click ln na th n s thu li.
Tuy nhin, n y bn vn cha ng dng vo cng vic c.Vy lm sao khi ta click, th n s thc thi mt cng vic no ? Bn hy gn on Code sau vo:
Ng.Ng.Minh
TO CY TH MCPrivate Sub MinhTreeView_Click()Khai bo bin lu tr mc c chn trn Treeview Dim MenuIndex As String Gn gi tr ca mc c chn trn Treeview vo bin MenuIndex MenuIndex = MinhTreeView.SelectedItem.Key X l cc trng hp Select Case MenuIndex Case "CV5_1_1"
FrmPhieuThu.ShowCase "CV5_1_2" MainForm.Show End Select End Sub
Ng.Ng.Minh
CHUYN MN HC
HAVE A GOOD TIME! BYE BYEEmail: minhhoangtell@yahoo.com
Ng.Ng.Minh
Recommended