You are on page 1of 12

Trung tm o to thc hnh Cng ty c phn BLUESOFTS

a ch: P1012, tng 10 CT1A-N2 ng Hm Nghi,


KT M nh 2, T Lim, H Ni
o to thc hnh Bluesofts in thoi/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net Mail: sales@bluesofts.net

BI 1: VBA L G? TO MACRO, NG DNG CC HM T TO (UDF), CI


T ADD-INS
VBA l g?

VBA TRONG EXCEL C BN Trung tm o to Thc hnh BLUESOFTS


Nguyn Duy Tun: 0904.210.337 1/12
Trung tm o to thc hnh Cng ty c phn BLUESOFTS
a ch: P1012, tng 10 CT1A-N2 ng Hm Nghi,
KT M nh 2, T Lim, H Ni
o to thc hnh Bluesofts in thoi/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net Mail: sales@bluesofts.net

Macro l g?
Macro l mt lnh lnh thc thi mt hay nhiu thao tc ngi dng ln i tng Excel
c m ha thnh cc dng lnh theo ngn ng lp trnh VBA.
M menu Developer

(Excel 2010, 2013,)

(Excel 2007)

VBA TRONG EXCEL C BN Trung tm o to Thc hnh BLUESOFTS


Nguyn Duy Tun: 0904.210.337 2/12
Trung tm o to thc hnh Cng ty c phn BLUESOFTS
a ch: P1012, tng 10 CT1A-N2 ng Hm Nghi,
KT M nh 2, T Lim, H Ni
o to thc hnh Bluesofts in thoi/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net Mail: sales@bluesofts.net

Sau khi chn hin th tab Developer chng ta thy xut hin menu di y

To Macro trong mi trng VBA


Bc 1: Nhn ALT + F11 (menu Developer - > Visual Basic)
Bc 2: Ti mn hnh VBE, vo menu Insert -> Module
Bc 3: Son tho m lnh CODE trong module. V d to macro FillData
Sub FillData()
Dim I As Long
MsgBox "Ban se dien cac gi tri vao A1:A100."
For I = 1 To 100
Cells(I, 1).Value = I
Next I
End Sub

VBA TRONG EXCEL C BN Trung tm o to Thc hnh BLUESOFTS


Nguyn Duy Tun: 0904.210.337 3/12
Trung tm o to thc hnh Cng ty c phn BLUESOFTS
a ch: P1012, tng 10 CT1A-N2 ng Hm Nghi,
KT M nh 2, T Lim, H Ni
o to thc hnh Bluesofts in thoi/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net Mail: sales@bluesofts.net

Chy Macro: t con tr trong khi Sub..End Sub (trong thn mt macro). Nhn F5
hoc chn nt Run Macro

To Macro bng chc nng Record Macro (4 bc)


V d: To macro nh dng d mu , c ch 14, Bold, Tahoma, nn mu vng.
Hy chun b k cc thao tc s lm mt cch chnh xc, khng c php lm sai.
Bc 1: Chn i tng (bi en). V d A3:D12. Vng chn ny c vai tr nh vng
mu.
Bc 2: Vo menu Developer->Record Macro.
Khi ca s Record Macro hin ln. t tn macro, hy dng cc k t A-Z ri vi n 0-9
(nu dng s) vit lin nhau, khng du cch, khng cc k t l, k t ton hc.
+ Macro Name: t tn macro l DinhDang.
+ Shortcut key: nhn D, th ta c th dng phm tt CTRL+SHIFT+D chy macro ny.
+ Store macro in: Ni lu macro, ngm nh trong chnh tp tinh Excel ang to.
+ Description: m t macro ny dng lm g, ngi ta ra n. Khng c vit ch c
du v mi trng VBA khng lu c chui unicode.
+ Ok: Cui cng chn nt OK Excel bt u ghi cc lnh m bn lm. Hy tht cn
thn t y. Khng lm sai, lm tha ng tc no v tt c cc thao tc u c Excel lu li
vo macro DinhDang.

VBA TRONG EXCEL C BN Trung tm o to Thc hnh BLUESOFTS


Nguyn Duy Tun: 0904.210.337 4/12
Trung tm o to thc hnh Cng ty c phn BLUESOFTS
a ch: P1012, tng 10 CT1A-N2 ng Hm Nghi,
KT M nh 2, T Lim, H Ni
o to thc hnh Bluesofts in thoi/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net Mail: sales@bluesofts.net

Bc 3: Thc hin cc thao tc nh dng. Thc hin cc thao tc nh dng ch , 14,


Bold, Tahoma, nn vng.
Bc 4: Dng ch ghi macro. Vo menu Developer->Stop Recording

Chy Macro
Bn hy chn mt vng d liu cn thc hin cc thao tc nh dng nh l lm trn.
Vo menu Developer-> Macro (Phm tt ALT+F8). Chn macro DinhDang bn s thy
ton b cc thao tc th cng trc y c t ng lm.

VBA TRONG EXCEL C BN Trung tm o to Thc hnh BLUESOFTS


Nguyn Duy Tun: 0904.210.337 5/12
Trung tm o to thc hnh Cng ty c phn BLUESOFTS
a ch: P1012, tng 10 CT1A-N2 ng Hm Nghi,
KT M nh 2, T Lim, H Ni
o to thc hnh Bluesofts in thoi/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net Mail: sales@bluesofts.net

Xem v sa Macro
Vo menu Developer-> Macro (Phm tt ALT+F8). Chn macro DinhDang, chn Edit.

VBA TRONG EXCEL C BN Trung tm o to Thc hnh BLUESOFTS


Nguyn Duy Tun: 0904.210.337 6/12
Trung tm o to thc hnh Cng ty c phn BLUESOFTS
a ch: P1012, tng 10 CT1A-N2 ng Hm Nghi,
KT M nh 2, T Lim, H Ni
o to thc hnh Bluesofts in thoi/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net Mail: sales@bluesofts.net

Ca s VBA/VBE hin ra v chng ta c th chnh sa li code VBA theo . Tuy nhin


bn phi thn trng v bn cn c kin thc c bn v VBA.
o qua mn hnh VBA <->Excel nhn ALT+F11
Xa Macro
Xa macro bn c th thc hin trong ca s Macro hoc vo mi trng VBA xa.
Vo menu Developer-> Macro (Phm tt ALT+F8). Chn macro DinhDang, chn
Delete.
Gn macro ln nt lnh, menu

VBA TRONG EXCEL C BN Trung tm o to Thc hnh BLUESOFTS


Nguyn Duy Tun: 0904.210.337 7/12
Trung tm o to thc hnh Cng ty c phn BLUESOFTS
a ch: P1012, tng 10 CT1A-N2 ng Hm Nghi,
KT M nh 2, T Lim, H Ni
o to thc hnh Bluesofts in thoi/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net Mail: sales@bluesofts.net

Nhp chut phi trn nt lnh, chn Assign Macro, ca s Macro hin ra, chn macro
DinhDang.

Lu tp tin cha Macro


Vo menu File->Save As Lu tp tin vi kiu xls hoc xlsm. Nu lu xlsx theo ch
ngm nh ca Excel 2007 tr ln th macro s mt v loi file ny theo quy nh khng cha
macro.

VBA TRONG EXCEL C BN Trung tm o to Thc hnh BLUESOFTS


Nguyn Duy Tun: 0904.210.337 8/12
Trung tm o to thc hnh Cng ty c phn BLUESOFTS
a ch: P1012, tng 10 CT1A-N2 ng Hm Nghi,
KT M nh 2, T Lim, H Ni
o to thc hnh Bluesofts in thoi/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net Mail: sales@bluesofts.net

Copy Macro, cc hm t to vo tp tin Excel


Gi x c cc hm c vit di y, hy copy vo trong tp tin Excel chy.
Function GetXlVersion() As String
GetXlVersion = Val(Application.Version)
End Function

Function TienThue(Slg, Dgia, TyleThue) As Double


TienThue = Slg * Dgia * TyleThue
End Function

Sub FillData()
Dim I As Long
MsgBox "Ban se dien cac gi tri vao A1:A100."
For I = 1 To 100
Cells(I, 1).Value = I
Next I
End Sub
Function ThueTNCN(Luong As Double, Optional Socon As Integer) As Double
Dim GiamTruNuoiCon As Double, MucLuong As Double, ThucLuong As Double
MucLuong = 9
GiamTruNuoiCon = 3.6
ThucLuong = Luong / 10 ^ 6 - MucLuong - Socon * GiamTruNuoiCon
Select Case ThucLuong
Case Is <= 0
ThueTNCN = 0
Case Is <= 5
ThueTNCN = ThucLuong * 0.05
Case Is <= 10
ThueTNCN = 5 * 0.05 + (ThucLuong - 5) * 0.1
Case Is <= 18
ThueTNCN = 5 * 0.05 + 5 * 0.1 + (ThucLuong - 10) * 0.15
Case Is <= 32
ThueTNCN = 5 * 0.05 + 5 * 0.1 + 8 * 0.15 + (ThucLuong - 18) * 0.2
Case Is <= 52
ThueTNCN = 5 * 0.05 + 5 * 0.1 + 8 * 0.15 + 14 * 0.2 + (ThucLuong - 32) * 0.25
Case Is <= 80
ThueTNCN = 5 * 0.05 + 5 * 0.1 + 8 * 0.15 + 14 * 0.2 + 20 * 0.25 + (ThucLuong - 52) * 0.3
Case Else
ThueTNCN = 5 * 0.05 + 5 * 0.1 + 8 * 0.15 + 14 * 0.2 + 20 * 0.25 + 28 * 0.3 + (ThucLuong -
80) * 0.35
End Select
ThueTNCN = ThueTNCN * 10 ^ 6
End Function

VBA TRONG EXCEL C BN Trung tm o to Thc hnh BLUESOFTS


Nguyn Duy Tun: 0904.210.337 9/12
Trung tm o to thc hnh Cng ty c phn BLUESOFTS
a ch: P1012, tng 10 CT1A-N2 ng Hm Nghi,
KT M nh 2, T Lim, H Ni
o to thc hnh Bluesofts in thoi/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net Mail: sales@bluesofts.net

Khi copy hm t to vo module trong VBA chng ta c th dng chng nh nhng


hm Excel trn sheet.

VBA TRONG EXCEL C BN Trung tm o to Thc hnh BLUESOFTS


Nguyn Duy Tun: 0904.210.337 10/12
Trung tm o to thc hnh Cng ty c phn BLUESOFTS
a ch: P1012, tng 10 CT1A-N2 ng Hm Nghi,
KT M nh 2, T Lim, H Ni
o to thc hnh Bluesofts in thoi/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net Mail: sales@bluesofts.net

Ci t Add-ins trong Excel


Vo menu File->Options ta c mn hnh

Chn Add-ins, ca s bn phi chn nt Go. Ti ca s Add-ins, chn nt Browse


tm ti th mc cha tp tin xla, xll, xlam

VBA TRONG EXCEL C BN Trung tm o to Thc hnh BLUESOFTS


Nguyn Duy Tun: 0904.210.337 11/12
Trung tm o to thc hnh Cng ty c phn BLUESOFTS
a ch: P1012, tng 10 CT1A-N2 ng Hm Nghi,
KT M nh 2, T Lim, H Ni
o to thc hnh Bluesofts in thoi/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net Mail: sales@bluesofts.net

Sau khi ci xong Add-in AccHelper c s thnh ch chng ta c th dng cc hm


VND, USD c s tin thnh ch ting Vit hoc Anh.

BI TP:
1. To macro k bng theo mu bn chn
2. Gn macro ln menu.
3. M tp tin Thuong theo doanh so.xlsx. Copy cc hm t to trong tp tin thuong tho
doanh so.txt v m bo chy c hm NhanThuong. Lu tnh tp tin c nh
dng lu c macro.

VBA TRONG EXCEL C BN Trung tm o to Thc hnh BLUESOFTS


Nguyn Duy Tun: 0904.210.337 12/12

You might also like