excel hacks
Post on 02-Aug-2015
218 Views
Preview:
TRANSCRIPT
Excel Hacks
CCáácc ttuuyyệệtt cchhiiêêuuttrroonngg EExxcceell
11
Nguyên bản: EXCEL HACKS
Tác giả: David – Raina Hawley
Lược dịch và bổ sung: Ptm0412 – Ttphong2007 – BNTT
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
2
CCáácc ttuuyyệệtt cchhiiêêuu ttrroonngg EExxcceell
PPHHẦẦNN 11:: CChhưươơnngg 11 vvàà CChhưươơnngg 22
Chương 1. GIẢM BỚT NHỮNG CỰC NHỌC KHI LÀM VIỆC VỚI BẢNG TÍNH ................................ 4
1. Tùy biến cửa sổ làm việc của bảng tính ...............................................................................................10
2. Nhập dữ liệu đồng thời vào nhiều Sheet .............................................................................................13
3. Ngăn chận người sử dụng thực hiện một số hành động nào đó nhất định ........................16
4. Ngăn chặn các nhắc nhở không cần thiết ...........................................................................................20
5. Ẩn Sheet sao cho người khác không thể dùng lệnh Unhide để hiện ra ................................23
6. Tự thiết kế một bảng tính mẫu (template) .........................................................................................24
7. Tạo chỉ mục cho các Sheet trong Workbook .....................................................................................28
8. Giới hạn vùng cuộn của bảng tính .........................................................................................................32
9. Khóa và bảo vệ những ô có chứa công thức ......................................................................................35
10. Sử dụng định dạng theo điều kiện để tìm dữ liệu trùng ..............................................................39
11. Tìm dữ liệu xuất hiện hai hoặc nhiều lần bằng công cụ Conditional Formating ...............41
12. Tạo riêng một thanh công cụ cho riêng một bảng tính cụ thể .................................................42
13. Sao chép công thức giữ nguyên tham chiếu tương đối (giống như sao chép tham chiếu tuyệt đối) ...................................................................................................................................44
14. Gỡ bỏ những liên kết ma ............................................................................................................................45
15. Giảm kích thước file Excel bị phình to bất thường ..........................................................................47
16. Cứu dữ liệu từ một bảng tính bị lỗi ........................................................................................................50
MỤC LỤC
3
Chương 2. NHỮNG THỦ THUẬT VỚI CÁC TÍNH NĂNG CÓ SẴN TRONG EXCEL ......................54
17. Sử dụng Data Validation khi danh sách nguồn nằm trong một Sheet khác ........................55
18. Điều khiển Conditional Formating bằng checkbox ........................................................................57
19. Đánh dấu những ô chứa công thức bằng Conditional Formatting .........................................60
20. Đếm hoặc cộng những ô đã được định dạng có điều kiện .........................................................61
21. Tô màu dòng xen kẽ .....................................................................................................................................64
22. Tạo hiệu ứng 3D trong các bảng tính hay các ô ...............................................................................66
23. Bật, tắt chức năng Conditional Formatting bằng một checkbox .............................................71
24. Dùng nhiều List cho một Combobox ....................................................................................................72
25. Tạo một list xác thực thay đổi theo sự lựa chọn từ một list khác ..............................................74
26. Sử dụng chức năng thay thế (Replace) để gỡ bỏ các ký tự không mong muốn ................77
27. Chuyển đổi con số dạng văn bản sang số thực ................................................................................78
28. Trích xuất dữ liệu số trong một chuỗi bằng VBA .............................................................................79
29. Tùy biến chú thích của ô bảng tính ........................................................................................................82
30. Sắp xếp theo thứ tự dựa theo nhiều hơn ba cột ..............................................................................85
31. Sắp xếp ngẫu nhiên ......................................................................................................................................86
32. Thao tác trên dữ liệu với Advanced Filter ............................................................................................87
33. Tạo các định dạng số cho riêng bạn ......................................................................................................93
34. Tăng thêm số lần Undo cho Excel ...........................................................................................................99
35. Tự tạo danh sách để fill ............................................................................................................................. 100
36. Làm nổi các Subtotal của Excel ............................................................................................................. 102
37. Chuyển đổi các hàm và công thức trong Excel thành giá trị ................................................... 105
38. Thêm dữ liệu vào danh sách Validation một cách tự động ...................................................... 107
39. Ngày tháng trong Excel ............................................................................................................................ 109
40. Cho phép sử dụng tính năng Group and Outline trên bảng tính bị khoá ......................... 112
41. Bẫy lỗi để trống dữ liệu ............................................................................................................................. 114
42. Giảm danh sách xổ xuống của Validation sau khi chọn một ................................................... 116
43. Thêm các danh sách có sẵn và cả danh sách tự tạo vào menu chuột phải ....................... 117
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
4
CChhưươơnngg 11
GGIIẢẢMM BBỚỚTT NNHHỮỮNNGG CCỰỰCC NNHHỌỌCC KKHHII LLÀÀMM VVIIỆỆCC VVỚỚII BBẢẢNNGG TTÍÍNNHH
Trong quá trình thực hiện một bảng tính, chúng ta có thể mắc phải vô số lỗi, hoặc có thể mắc phải những sai lầm ngớ ngẩn, và thường không để ý tới những cái có thể giúp chúng ta xử lý bảng tính nhanh hơn, gọn gàng hơn...
Trước khi nói đến các Tuyệt chiêu của Excel, xin nói sơ qua một chút về một số thủ thuật và quy tắc cơ bản, những điều sẽ giúp các bạn thực hiện những Tuyệt chiêu được nói đến trong các phần sau cách dễ dàng hơn.
Excel là một phần mềm bảng tính rất mạnh, và bạn có thể làm được những điều không thể tin nổi với nó. Nhưng không may, có nhiều người thiết kế bảng tính của mình với quá nhiều sự "lo xa", cẩn thận quá mức cần thiết, và làm cho nó trở nên phức tạp hơn là nó đáng bị như vậy. Phần mở đầu này sẽ mách cho bạn một số thủ thuật và quy tắc mà nếu bạn làm theo, bạn sẽ thấy chúng rất hiệu quả.
Quy tắc 80/20 Có lẽ việc quan trọng nhất khi thực hiện một bảng tính là dành một thời gian để nghiên cứu, xem xét cách bố trí dữ liệu, tính trước những việc mình cần làm. Và đừng bao giờ nghĩ rằng sau khi hoàn thành, tôi sẽ không cần phải thêm vào đó các dữ liệu hoặc các công thức khác, vì bạn sẽ luôn làm ngược lại.
Điều này có nghĩa rằng, bạn nên dành khoảng 80% thời gian để lên kế hoạch cho một bảng tính và khoảng 20% thời gian để thực hiện bảng tính đó.
Chương 1 – GIẢM BỚT NHỮNG CỰC NHỌC KHI LÀM VIỆC VỚI BẢNG TÍNH
5
Cho dù rằng, việc này có vẻ không cần thiết với những bảng tính nhỏ, nhưng bảo đảm rằng, nếu bạn quan tâm đến điều tôi vừa nói ở trên, thì về lâu về dài, bạn sẽ tránh được những cực nhọc khi phải cứ phải sửa đi sửa lại bảng tính của mình, và dễ dàng thực hiện được những bảng tính lớn sau khi đã dành cho nó một thời gian để lên kế hoạch thực hiện. Nên nhớ rằng, các bảng tính phải luôn mang lại cho người dùng những thông tin chính xác, chứ không phải là thông tin chỉ chính xác trong một trường hợp nào đó.
Những mẹo nhỏ về cấu trúc một bảng tính Một trong những lỗi mà chúng ta hay mắc phải khi tạo một bảng tính, là chúng ta không thiết lập và trình bày dữ liệu theo cái cách mà Excel và các tính năng của nó mong đợi. Sau đây là một số lỗi phổ biến chúng ta hay mắc phải khi thiết lập một bảng tính:
– Bố trí dữ liệu trong nhiều bảng tính (Workbook) khác nhau – Bố trí dữ liệu trong nhiều trang tính (Worksheet) khác nhau – Bố trí dữ liệu trong nhiều bảng (Table) khác nhau – Có những hàng trống và cột trống trong khối dữ liệu (database) – Bỏ trống những ô có dữ liệu giống nhau (cùng chung một ngày, cùng chung một
đơn vị tính, v.v...)
Ba điểm đầu tiên trên đây chỉ muốn nói đến một điều: Bạn nên luôn luôn cố gắng để giữ các mối liên quan giữa các dữ liệu được liên tục trong cùng một bảng dữ liệu. Tôi đã thấy rất nhiều các bảng tính không được trình bày theo cái quy tắc rất đơn giản này, và chính vì vậy, các bảng tính đó không thể tận dụng được tối đa các tính năng mạnh mẽ của Excel như PivotTable, SubTotal... Bạn chỉ có thể sử dụng các tính năng này khi bạn gom hết dữ liệu của bạn vào trong một bảng thật đơn giản.
Không phải ngẫu nhiên mà Excel có 1.048.567 hàng (65.536 hàng trong Excel 2003 trở về trước) mà lại chỉ có 16.384 cột (256 cột trong Excel 2003 trở về trước). Điều này có ý nói rằng, bạn nên thiết lập dữ liệu của mình với các tiêu đề cột nằm ở hàng trên cùng, và các dữ liệu có liên quan thì nằm liên tục ở bên dưới tiêu đề của nó.
Nếu như bạn có những dữ liệu được lặp lại hai lần hoặc nhiều lần trong các hàng của cùng một cột (các ngày tháng, các loại đơn vị tính chẳng hạn), bạn hãy chống lại sự cám dỗ bỏ trống các ô đó.
Hãy cố gắng sắp xếp (sort) dữ liệu của bạn bất cứ khi nào có thể. Excel có rất nhiều những công cụ để tìm kiếm và tham chiếu công thức, và một số không nhỏ trong đó, đòi hỏi dữ liệu phải được sắp xếp theo một thứ tự hợp lý. Việc phân loại cũng sẽ giúp ích đáng kể cho tốc độ xử lý của một số các hàm.
Những mẹo nhỏ khi định dạng Ngoài việc thiết kế cấu trúc của bảng tính cho hợp lý, việc định dạng cho nó cũng là một vấn đề cần bàn đến. Mặc dù một bảng tính nên được định dạng sao cho dễ đọc và dễ theo dõi, nhưng chúng ta ít khi nghĩ đến việc sử dụng thời gian cho có hiệu quả. Hãy luôn luôn định dạng thật đơn giản. Rất nhiều người lãng phí thời gian vào việc định dạng một bảng tính mặc dù không nhất thiết phải làm như vậy, và chính điều này làm ảnh hưởng đến hiệu quả công việc.
6
www.giaip
Vkínhnh
MhàAD
Cũnhđừtứngsốnó
ChvàngVthch
phapexcel.c
Việc thường ích thước, vhưng nó lại hất mà bạn n
Một gợi ý nữàng này sẽ
Advanced FiMAX, v.v...
ũng đừng qhững dữ liệừng thay đổức khắc rằnggười khác kố, nhưng thậó sau này. C
hỉ định dạnào trong cácgay cả khi b
Và tồi tệ hơnheo kiểu texhứa công thứ
Hình 1 - Chọn
com
xuyên áp dvà cho dù b
có thể là mnên áp dụng
ữa, là nên bẽ được dùnilter, hoặc d)
quan tâm đếu kiểu số, vổi nó. Nếu bg đó là dữ likhi tham chật ra nó là teChỉ có tiêu đ
ng các ô thec ô đã được bạn nghĩ rằnn nữa, bất kxt, cũng sẽ bức lại bị địn
Center Across S
dụng những ảng tính củ
một nỗi sợ hg cho một b
bỏ trống vàng cho nhữdùng làm vù
ến việc canvà canh tráibạn thay đổiệu kiểu số h
hiếu đến mộext. Nếu bạnđề của bảng
eo kiểu textđịnh dạng t
ng cái bạn nkỳ ô nào chbị định dạngnh dạng the
Selection thay v
định dạng ủa bạn có thhãi cho ngưbảng tính, là
ài hàng đầu ững tính năùng điều ki
nh lề cho dữ cho nhữngổi kiểu canhhay dữ liệu ột ô, vì nhiền thay đổi k
g tính là đượ
t khi thật sựtrước theo knhập vào là
hứa công thứg thành kiểuo kiểu text,
vì Merge Cells
phức tạp chhể trông giốười khác. Mà màu đen, m
tiên ở trênăng nâng cện cho các
ữ liệu. Theog dữ liệu kiểh lề, bạn sẽ
kiểu text; vều khi họ sẽkiểu canh lềợc hưởng ng
ự cần thiết. kiểu text sẽdữ liệu kiểức tham chiu text. Nói cphải không
CÁC TUY
ho bảng tínhống như mộtột trong nhmàu trắng v
n cùng (ít nhcao hơn về
công thức
o mặc địnhểu text. Và có thể khôn
và nó còn cóẽ tưởng rằng mặc định, b
goại lệ mà th
Bởi vì tất cbị chuyển tểu số hay dữiếu đến mộchung, bạn
g.
Trộn cálà một công thứthể chạyđược trtrộn ô, năng Cenằm Alignmetên ở dưmở ra htab AligBạn sử của khuCenter A
Hoặc bạclick rồishortcutFormat Ctrl+1.
YỆT CHIÊU C
h còn làm ct tác phẩm
hững kiểu phvà màu xám
hất là 3 hànề sau, chẳnxử lý dữ li
h, Excel canđó là điều t
ng xác địnhó thể gây nhg dữ liệu trobạn sẽ bị nhhôi.
cả những dữthành dữ liệữ liệu kiểu nt ô đã đượcđâu có muố
ác ô (merge vấn đề. Cức hoặc may được với ộn. Cho nêbạn hãy
enter acrosstrong H
ent, nhấn vưới cùng bhộp thoại nment đượcdụng thanh
ung HorizonAcross Sele
ạn cũng cói chọn Formt menu → Cells)
CỦA EXCEL
cho nó tăngnghệ thuật,hối màu tốt
m.
ng). Nhữngng hạn nhưệu (DSUM,
nh phải chotốt nhất rồi,
h được ngayhầm lẫn choong ô đó làhức đầu với
ữ liệu nhậpệu kiểu text,ngày tháng.c định dạngốn những ô
cells) cũngCó một sốacro khôngnhững ô đãên, thay vìdùng chứcs selection,Home →vào cái mũiên phải, sẽFormat vớic chọn sẵn.h trượt dọctal để chọn
ection.
ó thể right-mat Cells từ
(Excel2003:hay nhấn
L
g , t
g ư ,
o ,
y o à i
p , .
g ô
g ố g ã ì c ,
→ i ẽ i . c n
-ừ :
n
Chương 1
NMmtri
Vhàthbộcụth
Đtíncầđộ20
MtínkhOfTo
– GIẢM BỚ
hững mẹoMột sai lầm mảng dữ liệu
iệu, để chắc
Ví dụ, giả sửàm tìm kiếmhêm dữ liệu ộ các hàng cụ thể hơn, làhêm dữ liệu
ó là một thónh trở nên ìần tham chiộng được cậ003 trở về trư
Một vấn đề nnh toán rất huyên là hãffice ở góc ools → Option
ỚT NHỮNG C
o nhỏ khi drất lớn khi
u. Điều nàyc chắn khôn
ử bạn có mộm của Exce
vào mảng của các cột à A1:H1048vào trong m
ói quen vô ì ạch, thậm ếu ra khỏi cập nhật tronước) hoặc sử
nữa thường chậm khi d
ãy chuyển đtrái phía tr
ns → Calcula
H
CỰC NHỌC
dùng công sử dụng cô
y làm cho Eng bỏ sót mộ
t mảng dữ lel để trích ranày, nên đểtrong mảng
8567, và bạmảng.
cùng tai hạchí là khôn
công thức, mng tham chiử dụng các N
xảy ra với dữ liệu đượcđổi chế độrên của bản
ations), rồi ch
Hình 2 - Chọn M
KHI LÀM V
thức ng thức là c
Excel phải kột dữ liệu nà
liệu từ A1 đa những dữể chắc ăn, bg này. Khi đạn nghĩ rằng
i mà bạn phng chạy nổimà lại bảo điếu của côngName động.
những bảngc cập nhật. tính toán củ
ng tính, rồi họn Manual
Manual Caculatio
IỆC VỚI BẢN
cho nó thamkiểm tra hànào.
đến H1000, ữ liệu cần thbạn tạo thamđó, tham chig làm như v
hải luôn tráni. Bạn vẫn đảm được ng thức, bằn.
g tính lớn, mĐể giải quủa Excel thchọn Exce
:
on với Excel 200
NG TÍNH
m chiếu đếnng ngàn ô, n
và bạn quyhiết. Bởi vì m chiếu troniếu của bạn
vậy thì bạn s
nh xa nó. Bcó thể loại những dữ li
ng cách dùng
mà cấu hìnhuyết vấn đề hành dạng Ml Options →
07
n toàn bộ cánếu không n
yết định sẽ dbạn còn ph
ng công thứcó thể sẽ là
sẽ không lo
Bởi nó sẽ làmbỏ những pệu mới thêmg Table (Lis
h máy lại nhnày, bạn th
Manual: Nh→ Formulas
ác cột trongnói là hàng
dùng nhữnghải bổ sungức đến toànà A:H, hoặclắng gì khi
m cho bảngphần khôngm vào sẽ tựst trong Excel
hỏ, là Excelhường đượchấn vào nút (Excel2003:
7
g g
g g n c i
g g ự l
l c t :
8
www.giaip
Tutínchcậkh
Vchhocômkhrằbạ
Ctốnhmnó
Exđềcáth
phapexcel.c
uy nhiên, lờnh thì bao ghế độ tính toập nhật. Nếuhông phải lú
Vậy bạn thử hạy chậm lạoàn toàn vàông thức ch
mà làm tiếp?hông ngần nằng cần phảiạn nên suy n
ông thức mốt khi tham hững dãy dữ
mảng tham có dừng hẳn
xcel có nhiềề cập đến trác ô. Ngoài hức trên nhữ
com
H
ời khuyên đgiờ cũng có oán Manualu muốn có úc nào bạn c
cân nhắc xeại, bạn sẽ sào cái thắngho nó chạy n? Hầu như ngại đặt bải đặt bảng tnghĩ đến việ
mảng là một chiếu đến ữ liệu lớn, thiếu đến mluôn, và bạ
ều hàm chuong chiêu thra, trong E
ững bảng dữ
Hình 3 - Chọn M
đó thì khôngnhững công
l, có thể bạnđược thôngcũng nhớ đi
em: Nếu nhsửa lại cần g tay? Nghĩnhanh hơn,chúng tôi kảng tính củaính của mìnệc thiết kế l
trong nhữnnhững ô riê
thì hãy sử dụmột dãy dữ liạn bắt buộc p
uyên xử lý nhứ 79: Trán
Excel Help cữ liệu lớn để
Manual Caculatio
g hay cho lg thức tính n sẽ chỉ có đg tin chính iều này!
hư cần thắngthắng chânĩa là, khi b, hay là đặt không bao ga họ trong cnh trong chếlại bảng tính
ng nguyên nêng lẻ. Nhưụng chúng ciệu lớn, hiệuphải dùng c
những dữ liệnh lỗi #VALcó một số vể trích ra kế
on với Excel 200
lắm, mà chỉtoán, nếu bđược nhữngxác, bạn ph
g chân bị kẹn, hay là gỡảng tính củnó vào chế
giờ làm điềchế độ tínhế độ tính toáh.
nhân của vấưng nếu bạncàng ít càngu suất của b
chế độ tính t
ệu lớn thay UE! khi tínhví dụ rất haết quả dựa th
CÁC TUY
03
ỉ là mang tíạn đang chạ
g thông tin chải nhấn F9
ẹt và làm chỡ bỏ cái thắủa bạn chạyế độ tính toều này, nhưh toán Manuán Manual t
ấn đề trên. Cn dùng chúg tốt. Khi cóbảng tính sẽtoán bằng ta
cho công thh tổng (SUM
ay sẽ giúp bheo những t
YỆT CHIÊU C
ính đối phóạy một bảngcũ mèm, ch
9. Nhưng, ch
ho chiếc xe hắng chân rồy chậm, bạnoán bằng tayưng rất nhiềual. Nếu nhthì mới làm
Chúng là múng để thamó một số lượẽ bị ảnh hưởay.
hức mảng, mM) hoặc đếmbạn cách để tiêu chuẩn.
CỦA EXCEL
ó. Một bảngg tính trong
hưa hề đượchắc chắn là
hơi của bạnồi tin tưởngn sẽ sửa lạiy rồi cứ thếều người đãhư bạn thấy
m việc được,
ột lựa chọnm chiếu đếnợng lớn cácởng, đôi khi
mà sẽ đượcm (COUNT)
dùng công
L
g g c à
n g i ế ã y ,
n n c i
c ) g
Chương 1 – GIẢM BỚT NHỮNG CỰC NHỌC KHI LÀM VIỆC VỚI BẢNG TÍNH
9
Hoặc bạn có thể sử dụng PivotTable, sẽ được đề cập đến trong phần thứ 4 của loạt bài này. Mặc dù PivotTable thì có vẻ phức tạp khi bạn sử dụng nó lần đầu tiên, nhưng chúng tôi thành thật khuyên bạn hãy học cách sử dụng nó. Một khi bạn đã làm chủ được PivotTable, ngày nào đó bạn sẽ tự hỏi rằng làm sao tôi có thể sống mà không có PivotTable!
Trước khi kết thúc phần mở đầu, xin nói điều này: Nếu bạn chẳng nhớ được gì (vì tôi nói nhiều quá), bạn chỉ cần nhớ một chuyện thôi: Excel sẽ chạy tốt hơn nếu tất cả các dữ liệu của bạn được xếp liên tục với nhau trong cùng một bảng. Nó sẽ giúp cho bạn thực hành các chiêu sau đây một cách dễ dàng hơn.
------------------------------------------------------------
Trong các bài, sẽ có một số biểu tượng sau:
Áp dụng cho tất cả các phiên bản của Excel
Chỉ áp dụng cho Excel 2007
Chỉ áp dụng cho những phiên bản trước Excel 2007
Chỉ áp dụng cho Excel 2003 và Excel XP
Chỉ áp dụng cho Excel 2000
Những chiêu dễ, dành cho mọi người
Những chiêu tương đối khó, dành cho những ai có trình độ khá trở lên
Những chiêu khó, dành cho những ai đã sử dụng thành thạo Excel
Các mẹo giúp cho bạn làm việc với Excel nhanh hơn
Các chú ý, cảnh báo
10
www.giaip
ĐmTrch
Đ
TừAlch
N
phapexcel.c
ôi khi làm màn hình của
rong bài nàyhức.
ầu tiên, bạn
ừ cửa sổ làmll (Excel2003họn thì hãy
Nếu chọn kiể
CCHHIIÊÊUU 11
com
TTùùyy
Excel hiển tthành
việc trong a bạn để làmy sẽ mô tả c
n hãy mở tất
Để mở nhiều chọn các tập → Open...)
m việc của 3: Window →bỏ chọn, sa
ểu sắp xếp T
yy bbiiếếnn ccửử
cho phép hithị và sắp xếh một tập tin
Excel, bạn m cho nó dễcách thực h
t cả các bản
bảng tính cùntin bảng tính
một bảng t→ Arrange). Nau đó chọn k
Tiled (lát gạ
Hình
ửửaa ssổổ llààmm
iển thị đồng ếp chúng. Sa Workspace (
có thể cầnễ dàng sử dụhiện tổ chức
ng tính mà b
ng một lúc, bạcần mở → n
tính đang mNếu tùy chọkiểu sắp xếp
ch) thì các c
4 - Sắp xếp các
T
mm vviiệệcc ccủủ
thời nhiều bau khi thiết lậ(không gian
n phải có nhụng hơn ha
c cửa sổ làm
bạn cần làm
ạn vào Office →nhấn nút Open
mở nào đó, cọn Windowp và nhấp nú
cửa sổ làm
c cửa sổ kiểu Til
CÁC TUY
Tùy biến cửa s
ủủaa bbảảnngg
bảng tính vàập các tùy blàm việc) .xlw
hiều hơn may xem dữ lim việc một c
m việc.
→ Open…, gn để mở các tậ
chọn Windows of active
út OK.
việc của bả
led
YỆT CHIÊU C
sổ làm việc củ
ttíínnhh
à cho phép tùbiến, chúng tw để sử dụng
một Workboiệu từ nhiềucách gọn gà
giữ phím Ctrl tập tin (Excel20
ows → ViewWorkbook
ảng tính như
CỦA EXCEL
ủa bảng tính
ùy biến cáchta có thể lưug lại sau này.
ok mở trênu bảng tính.àng và có tổ
trong khi 003: File
→ Arrangeđang được
ư hình 4:
L
h
h u
n . ổ
e c
Chương 1
Tùy biến cửa
N
N
– GIẢM BỚ
a sổ làm việc
Nếu chọn kiể
Nếu chọn kiể
ỚT NHỮNG C
c của bảng tín
ểu sắp xếp H
ểu Vertical (
CỰC NHỌC
nh
Horizontal (n
Hình 5 -
(thẳng đứng
Hình 6
KHI LÀM V
nằm ngang)
- Sắp xếp các cử
g) thì các bả
6 - Sắp xếp các c
IỆC VỚI BẢN
) thì các bản
ửa sổ kiểu Horiz
ảng tính đượ
cửa sổ kiểu Vert
NG TÍNH
ng tính sẽ x
zontal
ợc sắp xếp n
tical
ếp chồng lê
nằm cạnh nh
ên nhau:
hau:
11
12
www.giaip
N
Kch
Đbư(Elư
MhaMbả
Đtạchbạ
Nkhbảmkh
phapexcel.c
Nếu chọn kiể
Khi các cửa huyển dữ liệ
ể sử dụng lước thực h
Excel2003: Filưu và nhấn n
Muốn chuyểnai lần lên t
Maximize trêảng tính sau
ể sử dụng lạo thì giao dhỉnh hay cậạn lưu lại kh
Nếu mỗi ngàhuyên bạn nảng tính đó
mở tập tin .xhông cần ph
com
ểu Cascade
sổ bảng tínệu giữa các
lại các thiết hiện như sa
e → Save Wnút OK. Tập
n đổi một bthanh Title ên cửa sổ bảu khi đã hoà
lại không gidiện làm việập nhật thônhi bạn ra lện
ày, bạn đều pnên dành mtùy thuộc v
xlw cho kiểhải tốn thời
e (thác nước
Hình 7
nh đã đượccửa sổ.
lập này sauau: Chọn ng
Workspace…)p tin Worksp
ảng tính nà(tiêu đề)
ảng tính hiệàn tất công v
ian làm việệc được bạnng tin trongnh đóng Wo
phải thực hmột ít thời gvào yêu cầuểu không gigian sắp xế
c) thì các bả
7 - Sắp xếp các c
c sắp xếp g
u này, bạn cgăn View →→ nhập tênpace sẽ có p
o đó về chếcủa cửa sổện hành để pviệc với cửa
c đã thiết lận thiết lập t
g các bảng torkspace.
hiện các côngian để thiế
u tao tác và xian làm việcếp, tổ chức c
T
ảng tính sẽ x
cửa sổ kiểu Casc
gọn gàng, b
có thể lưu t→ tại nhómn cho Workphần mở rộn
ế độ toàn màổ bảng tínhphóng to cửa sổ đó.
ập trước đótrước kia sẽtính của Wo
ng việc lặp đết lập các kxử lý số liệuc phù hợp vcác bảng tín
CÁC TUY
Tùy biến cửa s
xếp đè lên n
cade
bạn sẽ rất d
thành một tậm Window ckspace tại hộng là .xlw
àn hình thì h đó. Bạn cửa sổ hoặc n
, bạn chỉ cầẽ được khôiorkspace sẽ
đi lặp lại trêkiểu không u của chúngvới nhu cầu
nh ở các lần
YỆT CHIÊU C
sổ làm việc củ
nhau:
dễ dàng tha
ập tin Workchọn Save ộp File Nam
bạn chỉ cầncũng có th
nhấn nút Clo
ần mở tập tii phục. Tất ẽ được Exce
ên nhiều bảngian làm vig. Sau đó, bu sử dụng c
n sử dụng sa
CỦA EXCEL
ủa bảng tính
ao tác và di
kspace. CácWorkspace
me, chọn nơi
n kích chuộtể nhấn nútose để đóng
in .xlw vừacả các hiệuel nhắc nhở
ng tính. Tôiiệc cho cácbạn chỉ việccủa bạn màau.
L
h
i
c e i
t t g
a u ở
i c c à
Chương 1
Nhập dữ liệu
Nnhnh
GrĐbàliệnhnh
Đhonếtê
Hình
– GIẢM BỚ
u đồng thời v
Nhưng phải nhiều Sheet mhau trong ph
roup các Sể nhóm cácàn phím vàoệu đồng thờhập vào cáchỉ).
ể thoát khỏoặc click chếu bạn chỉ mên Sheet đó.
8 - Khi có nhiều
CCHHIIÊÊUU 22
ỚT NHỮNG C
vào nhiều Sh
NNhhậậpp
Thông thkhác nhađồng thờdùng vài
nói đến cônmột lúc chắhạm vi Wor
heet lại bằc Sheet lại, o, rồi vừa nời. Khi bạn c Sheet còn
ỏi tình trạnghuột phải lêmuốn gỡ mộ
Khi có 2 ha[Group] (trotrạng groupthường thì bviệc đã xonghàng loạt và
u Sheet đang đ
CỰC NHỌC
heet
p ddữữ lliiệệuu
hường ngườau. Bạn có thời. Nhưng cũi dòng lệnh V
ng cụ Groupắc có nhiều rkbook.
ằng tay các bạn chỉnhấn Ctrl, vgõ bất kỳ c
n lại trong n
g group, bạnên tên mộtột trong số
y nhiều Sheetong ngoặc vuôp các Sheets. Tbạn không đểg. Chính vì thào các Sheet, p
ược group, tha
KHI LÀM V
đđồồnngg tthh
ời dùng Excelhể dùng cônng có một cá
VBA.
p cái đã nhỉngười chưa
ỉ việc click vừa nhấn vàcái gì vào Snhóm. Điệp
n chỉ việc hSheet trongcác Sheet ra
t group với nông). Nhìn vàorừ khi bạn có c
ể ý đến dấu hihế tôi khuyên phải ungroup
nh tiêu đề của
IỆC VỚI BẢN
hhờờii vvààoo nn
l có những dng cụ Group ách khác nha
ỉ? Công cụa dùng đến.
chọn Sheetào tên nhữnSheet hiện hp vụ hoàn t
hoặc click cg nhóm bấta khỏi nhóm
hau, trên thao đó bạn có thcặp mắt sắc nệu này, bạn sbạn ngay khi chúng ngay.
Excel sẽ có chữ
NG TÍNH
nnhhiiềềuu SShh
dữ liệu muốncác Sheet lạanh chóng v
Group dùnNó dùng để
t thứ nhất, nng Sheet kháhành, dữ liệtất nhanh ch
chọn một Sht kỳ, chọn Um, hãy giữ C
nh tiêu đề củhể biết bạn vẫhư chim ưng hẽ quên và khôthực hiện xo
[Group] ngay s
hheeeett
n nhập vào ại để có thể nvà linh hoạt h
ng để nhập dể kết nối cá
nơi bạn sẽ nác mà bạn ệu đó cũng hóng (nghe
heet khác nUngroup ShCtrl trong kh
a Windows sẽn còn đang trohoặc bén như ông ungroup ng thao tác n
sau tên của bản
nhiều Sheetnhập dữ liệuhơn nếu bạn
dữ liệu vàoác Sheet với
nhập liệu từmuốn nhậpsẽ tự động
e giống 007
ngoài nhóm,heets. Hoặchi click vào
ẽ có chữ ong tình dao cạo, khi công
nhập liệu
ng tính
13
t u n
o i
ừ p g 7
, c o
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
14 Nhập dữ liệu đồng thời vào nhiều Sheet
Dù phương pháp này là dễ nhất, nhưng có nghĩa là bạn phải nhớ và nhớ group và ungoup khi cần, nếu không bạn sẽ vô tình ghi đè lên dữ liệu ở những Sheet mà bạn không nhìn thấy trên màn hình hiện thời. Thí dụ như bạn chỉ muốn ghi cùng lúc dữ liệu vào một vùng nào đó của các bảng tính, còn ngoài vùng đó thì dữ liệu các Sheet phải khác nhau. Thế nhưng khi các Sheet đã group rồi thì nó có thèm quan tâm bạn đang nhập liệu ở vùng nào đâu?
Group các Sheet lại một cách tự động Bạn có thể giải quyết vấn đề trên bằng cách dùng một đoạn code VBA hết sức đơn giản. Để đoạn code làm việc được, nó phải được đặt trong các sự kiện của riêng Sheet nào bạn muốn. Để vào trang soạn thảo code của Sheet nào, thì click phải chuột vào tên Sheet đó và chọn View Code. Bạn có thể chọn một trong các sự kiện của Sheet, những sự kiện chỉ liên quan đến Sheet đó như đổi ô chọn, thay đổi nội dung một ô, kích hoạt Sheet, thoát khỏi Sheet, … để thực thi đoạn code VBA của mình.
Thường thì bạn được đưa thẳng đến trang soạn thảo code riêng của Sheet nếu bạn chọn View Code như trên hướng dẫn. Bạn có thể kiểm tra lại quả thực nó thuộc về Sheet bạn chọn hay không bằng cách nhìn vào cửa sổ VBA Project bên trái, nếu bạn thấy dạng thư mục This Workbook – Sheetname và một Sheet đang chọn thì đúng; nếu không bạn phải tìm đúng Sheet bạn cần và double-click nó.
Trước tiên bạn phải đặt Name cho vùng ô bạn muốn nhập dữ liệu trùng trong các Sheet, giả sử là MyRange. Sau đó gõ đoạn code này vào khung soạn thảo bên phải:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Range("MyRange"), Target) Is Nothing Then
Sheets(Array("Sheet5", "Sheet3", "Sheet1")).Select Else
Me.Select End If
End Sub
Trong đoạn code trên, Sheet5 được ghi đầu tiên trong mảng Array, vì bạn muốn nó là Sheet mà bạn sẽ gõ dữ liệu nhập vào. Bạn có thể chọn những Sheet khác để group chúng lại bên dưới Sheet5. Sau khi gõ code xong, hoặc nhấn nút View Object, hoặc nhấn nút View Microsoft Excel, hoặc nhấn Alt+Q, Alt+F11 hoặc đóng hẳn cửa sổ VBA trở về màn hình Excel. Lưu bảng tính lại.
Cần nhắc lại rằng đoạn code trên phải nằm trong Sheet được khai báo đầu tiên của Array, là Sheet mà bạn sẽ nhập dữ liệu từ bàn phím.
Khi bạn đã hoàn tất, mỗi khi bạn click chọn một ô nào đó trong Sheet5, đoạn code sẽ kiểm tra xem ô bạn chọn có nằm trong vùng đã đặt tên MyRange không. Nếu đúng, code sẽ group các Sheet lại với nhau để bạn nhập dữ liệu hàng loạt Sheet. Nếu không phải, nó ungroup chúng ra bằng cách đơn giản là kích hoạt Sheet hiện hành. Dùng đoạn code trên sẽ
Chương 1 – GIẢM BỚT NHỮNG CỰC NHỌC KHI LÀM VIỆC VỚI BẢNG TÍNH
Nhập dữ liệu đồng thời vào nhiều Sheet 15
tiện lợi ở chỗ nó giải phóng bạn khỏi cái việc phải nhớ group khi bắt đầu và ungroup khi kết thúc nhập liệu trong vùng chọn.
Bây giờ nếu bạn muốn những dữ liệu như nhau được nhập vào các Sheet chọn, nhưng ở những vị trí khác nhau, hãy dùng đoạn code khác:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Range("MyRange"), Target) Is Nothing Then
With Range("MyRange") .Copy Destination:=Sheets("Sheet3").Range("A1") .Copy Destination:=Sheets("Sheet1").Range("D10")
End With End If
End Sub
Đoạn code này cũng phải được đặt trong khung soạn thảo của riêng Sheet5.
Đoạn code thứ hai hoạt động khác với đoạn code thứ nhất. Khi bạn thay đổi nội dung của một ô nào đó, code sẽ xác định xem ô hiện hành có nằm trong vùng MyRange hay không, nếu phải thì copy nguyên vùng MyRange (của Sheet5) và paste vào đồng thời ô A1 của Sheet1 và D10 của Sheet2. Ngược lại thì không làm gì cả.
Hình 9 - Đoạn code này phải được đặt trong khung soạn thảo của riêng Sheet5
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
16 Ngăn chận người sử dụngthực hiện một số hành động nào đó nhất định
NNggăănn cchhậậnn nnggưườờii ssửử ddụụnngg tthhựựcc hhiiệệnn mmộộtt ssốố hhàànnhh đđộộnngg nnààoo đđóó nnhhấấtt đđịịnnhh
Mặc dù Excel có hỗ trợ việc bảo vệ cho bảng tính (Protect Sheet, Protect Workbook), nhưng công cụ thô sơ này không bao gồm việc chỉ cho phép người sửdụng một số đặc quyền hạn chế - trừ phi bạn làm theo những chiêu sau đây.
Bạn có thể quản lý việc tương tác với các bảng tính của bạn bằng cách giám sát và đáp ứng các sự kiện. Các sự kiện (event), là những hành động xảy ra khi bạn làm việc với các bảng tính hoặc các Sheet. Những sự kiện này thường bao gồm việc mở (open) một bảng tính, lưu (save) nó, và đóng (close) nó. Bạn có thể bảo Excel chạy những mã Visual Basic (macro) một cách tự động khi xảy ra bất kỳ một trong những sự kiện như thế.
Người sử dụng có thể vượt qua tất cả những mã bảo vệ bởi Visual Basic bẳng cách vô hiệu hóa việc thực thi các macro: Nhấn nút Office → Excel Opions → Trust Center →Trust Center Setting → Macro Settings (Excel2003: Tools → Macro → Security). Nếu đặt mức độ an toàn là Disable all macros with notification (Excel2003: mức Medium), mỗi khi mở một bảng tính có chứa macro, Excel sẽ xuất hiện một hộp thông báo và cho phép người sử dụng có cơ hội để tắt các macro. Nếu đặt mức độ an toàn là Disable all macros without notification (Excel2003: mức High), Excel sẽ ngăn không cho chạy tất cả các macro có trong bảng tính. Nói cách khác, khi cần phải dùng các macro có trong bảng tính, người sử dụng sẽ chọn một mức an toàn thích hợp để cho phép sử dụng các macro.
Ngăn chận việc lưu lại bảng tính với một tên khác Bạn có thể thiết lập thuộc tính Read only cho bất kỳ một bảng tính nào, bằng cách nhấn Office → Save, nhấn nút Tools, chọn General Options (Excel2003: File → Save As → Tools → General Options) và kích hoạt hộp kiểm Read only recommended. Việc này ngăn chận người sử dụng lưu lại những thay đổi trên bảng tính, trừ phi họ lưu lại bảng tính với một tên khác hoặc lưu vào một nơi khác.
Tuy nhiên, có thể điều bạn muốn là không cho lưu lại bảng tính của bạn với tên khác, cũng không cho lưu vào một nơi khác. Nói cách khác, bạn muốn người khác chỉ có thể lưu lại bảng tính này với chính tên gốc của nó, chứ không được sao chép nó. Điều này đặc biệt hữu dụng khi có nhiều người cùng sử dụng chung một bảng tính, và bạn không muốn trong ổ cứng của mình đầy dẫy những bản sao của bảng tính này, cho dù là với một tên khác, hay ở một thư mục khác.
Sự kiện Before Save mà tôi sắp nói đến đã có từ thời Excel 97. Đúng như tên gọi của nó, sự kiện này chỉ xuất hiện ngay trước khi bảng tính được lưu, cho phép bạn can thiệp kịp thời việc lưu lại bảng tính, đưa ra một cảnh báo, và không cho Excel lưu bảng tính.
Trước khi tự thực hiện điều này vào bảng tính, hãy chắn chắn rằng bạn đã lưu lại bảng tính của bạn. Bởi vì việc đưa đoạn code sau đây vào môt bảng tính chưa được lưu, có thể sẽ gây cho bạn nhiều rắc rối.
CCHHIIÊÊUU 33
Chương 1
Ngăn chận nthực hiện m
ĐAl(Em
Bvề
ThBkhm
– GIẢM BỚ
người sử dụnmột số hành đ
ể đưa đoạnlt+F11), và
Excel2003: nhục View Code
ạn hãy nhậpề Excel, rồi
PrivatBoolea
Dim If S
lWWCIC
End End Su
hử một tí. Bây giờ bạn hông thể lưu
macro.
ỚT NHỮNG C
ng động nào đó
n code sau và nhấp đúphấn phải chuộe, như minh h
Hình
Nếu bạn sử vào trong EDevelope ta
p đoạn codlưu lại bảng
te Sub Workan) lReply AsSaveAsUI =Reply = MsWorkbook asWorkbook?"Cancel = (lf Cancel =Cancel = Tr If ub
Bạn nhấn Ctnhấn F12
u lại bảng t
CỰC NHỌC
nhất định
vào bảng típ chuột vàột vào biểu tưhọa dưới đây
h 10 - Chọn Vie
dụng Excel 20Excel Options,ab in the Ribbo
de sau đây vg tính:
kbook_Befo
s Long = True ThensgBox("Sors another , vbQuestilReply = v= False Thrue
trl+S (hoặc (hoặc gọi l
tính này dướ
KHI LÀM V
ính, bạn hãyào mục Thượng Excel ởy).
ew Vode để mở
007, mà trên R, nhấn chọn ton.
vào cửa sổ V
oreSave(By
n rry, you a _ name." ion + vbOKvbCancel) hen Me.Sav
gọi lệnh Salệnh Save aới bất kỳ m
IỆC VỚI BẢN
y chọn DevhisWorkbookở ngay bên trá
của sổ VBA cho
Ribbon của bạntab Popular, r
VBE. Sau k
yVal SaveAs
re not all& "Do you KCancel)
ve
ave) xem. Bas), bạn sẽ
một tên nào k
NG TÍNH
velope → Vik trong khái menu File t
o This Workboo
n không có mụrồi đánh dấu
khi nhập xo
sUI As Boo
lowed to s wish to s
ảng tính củagặp một cảkhác, trừ ph
sual Basic hung Projectrên thanh m
ok
ục Develope, bvào tùy chọn
ong, nhấn A
olean, Can
save this _save this _
a bạn lưu bìảnh báo, nóhi bạn vô h
(hoặc nhấnct Explorerenu, và chọn
bạn hãy n Show
Alt+Q để trở
cel As
_ _
ình thường.ói rằng bạniệu hóa các
17
n r n
ở
. n c
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
18 Ngăn chận người sử dụngthực hiện một số hành động nào đó nhất định
Nói thêm, khi bạn lưu một bảng tính có chứa macro hoặc code trong Excel 2007, bạn sẽ được nhắc nhở rằng bạn phải lưu file ở dạng cho phép macro hoạt động (macro-enable Workbook), có phần mở rộng là *.xlsm, chứ không thể lưu ở dạng bình thường (*.xlsx).
Ngăn chận việc in một bảng tính Đôi khi bạn phải rời bàn làm việc đi đâu đó mà quên tắt máy (chuyện này là chuyện thường), cho dù bạn đã làm công việc ngăn chận việc có ai đó chép bảng tính của bạn ra ngoài, như đã nói ở trên, có thể bạn còn lo xa hơn, muốn rằng bảng tính này cũng sẽ không bị in ra khi bạn vắng mặt. Nếu thật sự bạn muốn như vậy, bạn hãy dùng sự kiện Before Print. Hãy nhập đoạn code sau trong cửa sổ VBE:
Private Sub Workbook_BeforePrint(Cancel As Boolean) Cancel = True MsgBox "Sorry, you cannot Print from this Workbook", vbInformation
End Sub
Nhấn Ctrl+Q để quay về Excel và lưu lại. Từ bây giờ, nếu có ai có muốn ra lệnh in bảng tính này, sẽ không in được và sẽ thấy một thông báo ngăn cản. Dòng lệnh MsgBox ở đoạn code trên chỉ là một tùy chọn, nhưng bạn nên sử dụng nó, vì ít nhất thì nó cũng để lại một thông tin gì đó, để người khác sẽ không tưởng lầm rằng máy in của họ bị hư, hoặc là chương trình Excel có lỗi!
Nếu bạn chỉ muốn ngăn chận in một phần nào đó trong bảng tính, ví dụ không cho in Sheet1 và Sheet2, bạn sử dụng đoạn code sau:
Private Sub Workbook_BeforePrint(Cancel As Boolean) Select Case ActiveSheet.Name
Case "Sheet1", "Sheet2" Cancel = True MsgBox "Sorry, you cannot print this Sheet from this Workbook", _ vbInformation
End Select End Sub
Dĩ nhiên bạn có thể thêm vào bất kỳ Sheet nào có trong bảng tính của bạn. Chỉ việc nhập tên của nó vào trong hàng có lệnh Case, và tách biệt Sheet này với Sheet khác bằng dấu phẩy, và nhớ nhập tên Sheet trong một cặp dấu nháy kép. Trong trường hợp bạn chỉ muốn ngăn chận không cho in một Sheet mà thôi, bạn chỉ cần nhập tên của Sheet đó (trong cặp nháy kép) sau chữ Case, và không cần gõ dấu phẩy.
Ngăn chận việc chèn thêm Sheet vào một bảng tính Excel có chức năng Protect Workbook, không cho phép thay đổi cấu trúc của bảng tính như thêm, xóa, di chuyển, hay đổi tên các Sheet. Tuy nhiên, có thể bạn chỉ muốn ngăn
Chương 1 – GIẢM BỚT NHỮNG CỰC NHỌC KHI LÀM VIỆC VỚI BẢNG TÍNH
Ngăn chận người sử dụng thực hiện một số hành động nào đó nhất định
19
chận việc thêm Sheet thôi, còn những việc khác thì vẫn cho phép. Đoạn code sau đây giúp bạn làm việc đó:
Private Sub Workbook_NewSheet(ByVal Sh As Object) Application.DisplayAlerts = False MsgBox "Sorry, you cannot add any more sheets to this Workbook", _ vbInformation Sh.Delete Application.DisplayAlerts = True
End Sub
Khi có ai đó chèn thêm một Sheet mới vào trong bảng tính, trước tiên Excel sẽ xuất hiện hộp cảnh cáo: “Xin lỗi, bạn không thể thêm bất kỳ Sheet nào vào trong bảng tính này”, rồi ngay lập tức, Excel sẽ xóa cái Sheet mới thêm vào khi nút OK trong hộp cảnh báo được nhấn. Công dụng của dòng lệnh Application.DisplayAlerts = False là không hiển thị hộp cảnh báo xác nhận việc xóa một Sheet nào đó trong Excel.
Một cách khác để ngăn chận việc chèn thêm Sheet vào bảng tính là bạn chọn Review trên thanh Ribbon, chọn lệnh Protect Workbook trong nhóm Changes, rồi chọn lệnh Protect Structure and Windows (Excel2003: Tools → Protection → Protect Workbook... đánh dấu kiểm vào tùy chọn Structure) và nhấn OK (có thể đặt password nếu thích). Tuy nhiên, như đã nói ở đầu bài, việc này sẽ ngăn chận hết mọi thao tác với các Sheet trong bảng tính.
Hình 11 - Protect Structure and Windows để ngăn chận việc chèn thêm Sheet
20
www.giaip
Cchbả
ThLỗxómW
KVch
Vkhlạ
ChAlNph
phapexcel.c
ác kiểu cảnho macro hoảng tính. Sa
hông báo kỗi này phát óa tất cả cá
macro và nhấWorkbook sa
Khi bạn ghi mVào lúc mở húng rỗng h
Việc xóa cáchông xóa cáạnh. Do vậy
họn ngăn Dlt+F11 (Exce
Nếu không thhím Ctrl+R.
CCHHIIÊÊUU 44
com
NNggăănn
Excel luôcủa bạn.
nh báo mà tôoạt động ha
au đây là mộ
kích hoạt Msinh do bạn
ác mã lệnh ấn Delete đau đó Excel
Bạn chỉ nhận macro with no
Nếu mức an tosẽ tự động kíc
Nếu mức an tcác macro tự đ
một macro, một bảng t
hay đang chứ
c macro củaác module –, bạn cần ph
Developer →el2003: Toolshấy cửa sổ P
Hình 12
n cchhặặnn ccáá
ôn luôn cảnh Bài này sẽ h
ôi đề cập troay không, hột số loại cả
Macro tronn đã từng thmacro bằngể xóa (Excevẫn cảnh b
được thông botification (Ex
oàn được thiếtch hoạt mà kh
toàn là Disablđộng bị khóa l
Excel chèntính, Excelứa các mã l
a bảng tính– giống nhưhải xóa đi c
→ chọn núts → Macro →Project thì b
2 - Gọi Visual Ba
áácc nnhhắắcc nn
báo hoặc nhướng dẫn bạ
ong chiêu nhoặc là các ảnh báo của
ng khi tronhực hiện ghg cách vào
el2003: Tools báo bạn là tr
báo kích hoạt xcel2003: mức
ết lập là Enableông có tiếng k
le all macros lại không được
n một modukiểm tra xe
lệnh.
h sẽ xóa tất ư việc uốngác module n
t Visual Bas→ Visual Basbạn vào Vie
asic từ tab Deve
Ngă
nnhhởở kkhhôô
hắc nhở bạn ạn cách loại b
này chính làthông báo Excel:
ng Workbohi macro tro
ngăn Deve→ Macro →
rong Workb
macro khi thMedium).
e all macors (Ekêu cảnh báo.
without notifc phép thực th
ule vào để cem bảng tín
cả các mã g cạn lon sữnày theo hư
sic tại nhómic Editor (VBw và chọn P
eloper trong Ex
CÁC TUY
ăn chặn các n
ônngg ccầầnn tt
xác nhận cábỏ các thông
à các câu hỏvề các hàn
ook khôngong Workboeloper → ch→ Macros), nhbook có chứ
iết lập mức a
Excel2003: mứ
fication (Excelhi.
hứa các lệnnh có chứa
lệnh chứa ữa và bỏ lạiướng dẫn sau
m Code hoBE) và chọn VProject Exp
cel 2007
YỆT CHIÊU C
nhắc nhở khô
tthhiiếếtt
ác hành độngg báo hoặc nh
ỏi mà Excelnh động xóa
g có macro ook, và mặchọn Macro →hưng trong ứa macro.
n toàn là Disa
ức Low) thì các
2003: mức Hi
nh của bạn vmodule nào
bên trong i vỏ hộp sữu:
oặc nhấn tổView → Projelorer hoặc n
CỦA EXCEL
ông cần thiết
g và thao táchắc nhở.
l hỏi bạn cóa một trang
c dù bạn đã→ chọn cáccác lần mở
able all
c macro
gh) thì
và các hàm.o không và
module màa vào lại tủ
ổ hợp phímect Explorer).nhấn tổ hợp
L
t
c
ó g
ã c ở
. à
à ủ
m .
p
Chương 1 – GIẢM BỚT NHỮNG CỰC NHỌC KHI LÀM VIỆC VỚI BẢNG TÍNH
Ngăn chặn các nhắc nhở không cần thiết 21
Nhấp chuột lên các ký hiệu (+) để xem các thành phần bị ẩn của các nhánh con trong cửa sổ Project và hãy tìm đến các module.
Bạn nhấp phải chuột lên từng module và chọn lệnh Remove Module từ thực đơn ngữ cảnh. Nếu được hỏi có xuất module ra thành tập tin thì hãy chọn No. Nhấn tổ hợp Alt+Q để đóng cửa sổ VBE.
Thông báo nhắc nhở lưu trữ trong khi không có sự thay đổi nào Bạn có thể nhận thấy rằng đôi khi bạn chỉ mở một bảng tính và xem một số thông tin trong đó mà Excel cũng nhắc nhở bạn lưu lại các thay đổi trong Personal Macro Workbook mặc dù bạn không hề thay đổi gì trong đó. Có thể bạn đã biết hoặc chưa, bạn đã có sử dụng một hàm volatile (là hàm trong đó có sử dụng phương thức volatile) trong Personal Macro Workbook của mình.
Một Personal Macro Workbook là một bảng tính ẩn được tạo ở lần đầu tiên bạn ghi macro (Excel2003: Tools → Macro → Record NewMacro) với tùy chọn Personal Macro Workbook tại Store Macro in. Macro này sẽ được mở mỗi khi bạn sử dụng Excel. Một hàm volatile sẽ làm bảng tính tự động tính toán lại mỗi khi bạn thực hiện một thao tác nào đó trong Excel, bao gồm cả việc mở và đóng bảng tính hoặc ứng dụng Excel. Hai trong số các hàm volatile phổ biến là hàm TODAY() và NOW().
Vì thế, mặc dù bạn chắc chắn là mình không có thay đổi gì trong bảng tính nhưng các hàm volatile này vẫn đang hoạt động âm thầm. Điều này được tính như là một sự thay đổi và Excel sẽ cảnh
báo việc lưu trữ mặc dù không tồn tại bất kỳ sự thay đổi nào trong bảng tính.
Nếu bạn muốn Excel dừng việc thông báo lưu trữ các thay đổi mà bạn không hề thực hiện, bạn có một vài cách thực hiện. Cách dễ thấy nhất là ta không lưu các hàm volatile trong Personal Macro Workbook và nên xóa bỏ tất cả các hàm volatile đang có trong đó.
Hoặc, nếu bạn cần các hàm volatile nhưng không muốn Excel lưu lại các thay đổi không nhìn thấy này bạn có thể thêm đoạn code sau vào Workbook module của Personal Macro Workbook để đánh lừa nó là bảng tính đã được lưu rồi.
Private Sub Workbook_BeforeClose(Cancel As Boolean) Me.Saved = True
End Sub
Để mở Personal Macro Workbook bạn vào View → Unhide trong nhóm Window (Excel2003: Window → Unhide), chọn Personal.xls từ hộp thoại Unhide View → Unhide và nhấp nút OK.
Hình 13 - Hộp thoại Record Macro
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
22 Ngăn chặn các nhắc nhở không cần thiết
Nhấn tổ hợp phím Alt+F11 để vào cửa sổ VBE, sau đó nhấp phải chuột lên ThisWorkbook từ Personal.xls trong cửa sổ Project rồi chọn View Code và nhập đoạn mã trên vào. Sau khi nhập xong, bạn nhấn tổ hợp phím Alt+Q để đóng của sổ VBE lại.
Tất nhiên, nếu bạn có sử dụng hàm volatile để tính toán lại bảng tính và bạn muốn lưu các thay đổi này thì bạn dùng đoạn mã sau thay cho đoạn mã nêu trên.
Private Sub Workbook_BeforeClose(Cancel As Boolean) Me.Save
End Sub
Đoạn mã trên sẽ lưu lại Personal Macro Workbook một cách tự động mỗi khi nó được mở.
Dừng các cảnh báo của Excel về các macro đã ghi Một trong số nhiều hạn chế của việc ghi macro là không tự thêm vào các lệnh loại bỏ các thông báo khi thực thi.
Ví dụ như bạn ghi một macro xóa một Worksheet và khi thực thi macro này bạn sẽ nhận được thông báo xác nhận việc xóa Worksheet. Muốn tắt cảnh báo này, bạn làm như hướng dẫn sau:
Chọn ngăn Developer → Macros tại nhóm Code hoặc nhấn Alt+F8 (Excel2003: Tools → Macro → Macros) để gọi hộp thoại Macro. Tại Macro in chọn All Open Workbooks, chọn tên macro mà bạn vừa ghi và nhấn nút Edit. Đặt con trỏ lên trước dòng lệnh đầu tiên của thủ tục và nhập vào dòng lệnh sau:
Application.DisplayAlerts = False
Tại sau dòng lệnh cuối cùng, bạn thêm vào:
Application.DisplayAlerts = True
Macro của bạn sau khi thêm 2 dòng lệnh trên sẽ giống như sau:
Sub MyMacro() ' ' MyMacro Macro ' Deletes the Active Worksheet ' Application.DisplayAlerts = False ActiveSheet.Delete Application.DisplayAlerts = True
End Sub
Lưu ý rằng, bạn đã bật chức năng cảnh báo của Excel lại tại dòng lệnh cuối cùng của macro. Nếu bỏ dòng lệnh này, bạn sẽ không bao giờ nhận được các cảnh báo nữa và điều này có thể gây nguy hại vì có thể bạn vô tình thực hiện một thao tác nhầm lẫn nghiêm trọng nào đó mà không hề nhận được cảnh báo để xác nhận hành động.
Chương 1
Ẩn Sheet sao
NDnhchhơW
Hì
BbạFo
VTokh
TìdấCh
NcóSh
Đ
– GIẢM BỚ
o cho người k
Những thứ bata Validathững thông họn View →ơn nếu bạn
Window (Exce
nh 14 - Sử dụn
ạn cũng có ạn không thorm. Thay v
Vào Developools → Macrhông thấy th
ìm tên file vấu, mở khuhọn tab Alp
Nhấn Alt+Q đó thể thấy đheet → Unhid
ể thấy trở lạ
CCHHIIÊÊUU 55
ỚT NHỮNG C
khác không t
ẨẨnn SShhUUnnhhiidd
Đôi khi bdùng đọcliệu, công
bạn không mion, Combotin nhạy cả
→ Hide tronglàm cách kel2003: Form
g lệnh Hide tro
thể dùng chể khoá nhữvì vậy, bạn h
per → Visuaro → Visual hì chọn View
và bấm vàoung Propertyphabetic, tìm
để trở về trađược bằng cde).
ại, bạn phải
CỰC NHỌC
thể dùng lện
hheeeett ssaaooddee đđểể hhiiệệ
bạn có nhữngc được. Bạn mg thức, nhữn
muốn ngườiobox, nhữngảm và nhữn
g mục chọn khác để ngườmat → Sheet →
ong Excel 2007
chức năng kững ô chứa hãy thiết lập
l Basic hoặBasic Editor
w → Project
o dấu cộng đy bằng cách
m dòng Visib
ang tính Exccách thông
i vào chỗ cũ
KHI LÀM V
h Unhide để
cchhoo nnggưưệệnn rraa
g thông tin tmuốn có mộg chi tiết vụn
i khác thấy g tên biến
ng thứ khácWindow (Exời dùng khô→ Unhide).
khoá bảng tdữ liệu kết p trạng thái
c nhấn Alt+r), và nhìn t Explorer.
để hiện ra ch vào menuble và chọn
cel, lưu sự tthường trê
ũ, chọn lại 1
IỆC VỚI BẢN
hiện ra
ưườờii kkhháácc
rên một Sheet khu vực (có
n vặt và khôn
được có thvà giá trị b. Mặc dù bạxcel2003: Forông thể chọ
Hình 15 -
ính, nhưng nối với nhữ
i cho Sheet d
+F11 để vàobên trái tro
các tên Sheu View → P2- xlsShee
thay đổi nàyn menu Vie
- xlSheetVi
NG TÍNH
cc kkhhôônngg t
et nào đó vàó thể là một Sng muốn cho
hể là những biến dùng lạn có thể dấrmat → Sheeọn View → U
Sử dụng lệnh H
nó vẫn đượững control dạng xlVery
o trang soạnong khung
et. Chọn tênProperty WietVeryHidde
y. Sheet củaew → Unhid
isible.
tthhểể ddùùnn
à bạn không Sheet) ghi chéo ai nhìn thấy
vùng làm dlàm const tấu Sheet đó
et → Hide), nUnhide trong
Hide trong Exce
ợc nhìn thấytạo bởi tha
yHidden.
n thảo VBEProject Ex
n Sheet nàondow (hoặc
en.
a bạn sẽ chẳde (Excel200
nngg llệệnnhh
muốn ngườiép những dữ
y.
dữ liệu chorong VBA,
ó bằng cáchnhưng sẽ tốtg mục chọn
el 2003
y. Hơn nữaanh công cụ
E (Excel2003:xplorer, nếu
o bạn muốnc nhấn F4).
ẳng bao giờ3: Format →
23
i ữ
o , h t n
a ụ
: u
n .
ờ →
24
www.giaip
KđểNeđó
Nthvi
Vtrúnộxónh
phapexcel.c
Không biết làể tạo một bew), và chọnó sửa lại bản
Nếu bạn đã từhấy sự hữu iệc thiết kế v
Và, trong cônúc giống nhội dung và lóa luôn cả những thao tá
CCHHIIÊÊUU 66
com
TTựự tthhi
Nếu nhưcủa mìnhtính đã ccông thứTemplate
à, có khi nàbảng tính mn ra một kiểng tính này
Hình 16 - Chọn
ừng thấy, đdụng của nvà trình bày
ng việc, nếhau, tôi nghlưu lại với tnhững công ác xóa...
iiếếtt kkếế mm
ư bạn thườngh, bạn có thểcó sẵn tiêu đức; đồng thờies của Excel.
ào bạn sử dmới, thì bạnểu bảng tínhthành cái c
n một bảng tính
đã từng sử dnó, nhờ nó my.
ếu như bạn hĩ rằng việc tên khác, phthức mà bạ
mmộộtt bbảảnngg
g xuyên phải ể tự thiết kế rđề, một số cội còn có thể t
dụng các Ten nhấn vào h đã được tủa mình?
h đã được thiết
dụng những mà chúng t
cứ phải thưbạn thường
hải không? Nạn đã mất hà
Tự th
gg ttíínnhh mm
thực hiện cùra một bảng ột, một số hàtạo ra một hộ
mplate khônút Office, thiết kế sẵn
kế sẵn trong th
bảng tính đta tiết kiệm
ường xuyêng làm là mởNhưng cáchàng giờ để n
CÁC TUY
hiết kế một b
mẫẫuu ((tteemm
ùng một kiểutính mẫu cho
àng nào đó, ộp thoại riên
ông? Nghĩa chọn lệnh trong thư v
hư viện Templat
đã đươc thiếm được bao
n thiết kế nhở một bảng th làm này, đnghĩ ra, rồi
YỆT CHIÊU C
bảng tính mẫ
mmppllaattee))
u trình bày cho riêng bạn, thậm chí là g vào trong
là thay vì nNew (Excel2
viện các Tem
tes của Excel
ết kế sẵn nànhiêu là thờ
hững bảng tính đã có, xđôi khi do sphải mất th
CỦA EXCEL
ẫu (template)
ho bảng tínhlà một bảngcả Name vàThư viện các
nhấn Ctrl+N2003: File →mplate, sau
ày, ắt bạn sẽời gian cho
tính có cấuxóa đi phầnsơ ý, bạn sẽhời gian cho
L
)
h g à c
N → u
ẽ o
u n ẽ o
Chương 1
Tự thiết kế m
VExcôvàki
TạNbảcá
V
BkhNvàthph
– GIẢM BỚ
một bảng tín
Vậy, có bao gxcel không?ông, một bảào trong Thiệm được ba
ạo một bảNhững Tempảng tính, baác công thức
Ví dụ, đây là
ạn cũng cóhông có gì k
Name, thiết kào. Bạn hãyhôi. Hoặc bạhần trình bà
ỚT NHỮNG C
h mẫu (temp
giờ bạn ngh? Để mỗi khảng báo giá,hư viện riênao nhiêu là
ng tính mẫplate cho phao gồm phầnc, và cả các
Template B
Hìn
ó thể tạo ra khó. Bạn mkế công thứy xóa hết cáạn có thể mày. Sau đó, b
CỰC NHỌC
plate)
hĩ đến chuyệhi cần một , v.v...) thì b
ng của bạn, thời gian. C
ẫu hép bạn có sn tiêu đề củ
c Name (nếu
BillingStatem
nh 17 - Templat
một cái gimở một bảngức, v.v... nhác Sheet kh
mở một bảngbạn nhấn F1
KHI LÀM V
ện sẽ làm mloại bảng tíbạn chỉ việclấy một cá
Chiêu thứ 6
sẵn một "dựủa bảng tínhu có)...
ment1 có sẵ
te BillingStatem
ống vậy, sag tính mới,
hư bình thườhông cần thig tính đã có12 (Save as
IỆC VỚI BẢN
một cái giốnính nào đó c vào trong
ái mẫu ra rồnày sẽ giúp
ự án" (projeh, một số hà
ẵn trong Ex
ment1 có sẵn tr
au đó lưu lạtạo ra một ờng bạn vẫniết, chỉ giữó sẵn, xóa h
s...) rồi chọn
NG TÍNH
ng như nhữn(một bảng l
g Thư viện Tồi chỉ việc np bạn thực h
ct), có nghĩàng và cột v
cel 2007:
rong Excel 2007
ại thành mộcái sườn: t
n làm, nhưnlại những S
hết những dn Excel Tem
ng Templatelương, một Templates, nhập số liệu
hiện điều tôi
ĩa là bạn sẽ với các tiêu
7
ột Templatetô màu, địnng khoan nhSheet đã đưdữ liệu thô,
mplate.
e có sẵn củabảng chấmthậm chí làu vào? Tiếti vừa nói.
có sẵn môtu đề của nó,
e. Việc nàynh dạng, đặthập dữ liệuược thiết kế, chỉ giữ lại
25
a m à t
t ,
y t u ế i
26
www.giaip
Btín
MTeTetô
phapexcel.c
ạn hãy đặt cnh mẫu này
Mỗi khi cần emplate nhưemplates... ởôi đã trình b
com
Hình 1
cho nó một y vào Thư m
sử dụng mư ở trên, bạở cửa sổ Neày ở trên, sẽ
Hì
8 - Chọn loại fi
cái tên dễ nmục chứa cá
một bảng tíạn nhấn nútew Workbooẽ hiện ra. B
nh 19 - Chọn M
le khi lưu là Exc
nhớ, rồi nhấc Template
ính có cấu t Office → Nok. Các bảnạn chỉ việc
My Template để
Tự th
cel Template tro
ấn Save. Theđã được tạo
trúc y hệt New (Excel20ng tính mẫuchọn mẫu b
ể mở các bảng tí
CÁC TUY
hiết kế một b
ong hộp thoại S
eo mặc địnho ra khi bạn
bảng tính b003: File → Nu mà bạn đãbạn cần, rồi
ính mẫu đã lưu
YỆT CHIÊU C
bảng tính mẫ
Save
h thì Excel n cài đặt Exc
bạn vừa lưNew), rồi chã tạo ra và i nhấn OK.
u
CỦA EXCEL
ẫu (template)
sẽ lưu bảngcel 2007.
ưu với dạnghọn tiếp Mylưu lại như
L
)
g
g y ư
Chương 1
Tự thiết kế m
TạNmNbảchth
C
VnơWthmdựWđâ
Hình 20 - Nhấ
– GIẢM BỚ
một bảng tín
ạo một tabNhư bạn đã một cửa sổ NNhưng hiện gảng tính mẫho mỗi loại hế ?
:\Document
Với Owner làơi lưu các T
Workbook, Ehôi. Do đó,
mục C:\Docuự phòng ch
Windows, bạây), là có th
ấn Create New
Hình 21 - Ta
ỚT NHỮNG C
h mẫu (temp
b riêng trothấy ở hìnhNew sẽ mở giờ nó chỉ nẫu, thay vì mẫu không
ts and Settin
à tên của ATemplate n
Excel chỉ liệtkhi cài đặt uments and ho các Temạn chỉ việc chể sử dụng t
Folder để tạo t
ab "Báo cáo thu
CỰC NHỌC
plate)
ong cửa sổh trước, khi
ra. Để ý mnó mỗi một"nhét" tất cg? Ví dụ, ta
ngs\Owner\
Acount mà bnày, nhưng t kê những lại WindowSettings... V
mplate này,chép các bảiếp.
thư mục mới
uế" được thêm
KHI LÀM V
My Templi bạn nhấn một tí, bạn t tab My Te
cả vào một ab "Báo cáo
Khi bạntôi đã trchọn thưNew Fol
Một hộpnhóm bimột nhósẽ dùng nhấn OKlà xong
\Application
bạn đã tạo rkhông đượTemplate n
ws, có thể bVậy, điều l, cất giữ cản sao vào đ
vào trong hộp t
IỆC VỚI BẢN
lates My Templasẽ thấy cử
emplates thôchỗ, bạn có
o thuế", tab
n nhấn F12 đrình bày ởư mục lưu tder.
p thoại sẽ miểu mẫu mà
óm là "Báo để in ra cá
K, đặt tên crồi đó.
n Data\Micr
a khi sử dục. Khi chọn
nào nằm ở trbạn sẽ mất hlưu ý ở đây cẩn thận. Sđúng chỗ củ
thoại New
NG TÍNH
ates trong cửa sổ này cóôi. Giả sử bó muốn tạo "Báo giá",
để lưu lại vphần trên,
tự động, bạ
mở ra, và bạnà bạn muốncáo thuế" đ
ác báo cáo ncho Templat
rosoft\Temp
ụng Windown My Temprong cái đưhết tất cả nhlà, bạn nênau này, khủa nó (chính
cửa sổ New ó dạng nhữbạn đã tạo rthêm nhữnv.v... hay đ
với dạng Te, thì thay vạn hãy nhấn
n nhập một n. Ở đây, tôđể lưu nhữnnộp cho cơte, và nhấn
Tôi mở bạn xemhình 21)không, sổ New thêm mlà Báo Hay chứ
Một đichắc thừa. TấTemplatthư mụctự tạo rnày, đềđây:
plate
ws. Tôi đã thlate trong cờng dẫn ở thững gì nằmn tạo ra nhữhi có phải h là cái đườ
Workbook,ững cái tab.ra rất nhiềung tab riêngđại loại như
mplate nhưvì để Exceln nút Create
cái tên choôi tạo thêm
ng bảng tínhơ quan thuế,n Save. Vậy
thử ra chom nhé (xem). Bạn thấytrong cửanày, đã có
một tab mớicáo thuế.
ứ nhỉ!
iều lưu ý,là khôngất cả nhữngte và nhữngc mà bạn đãra trong bàiều nằm ở
hử thay đổicửa sổ Newtrên đây màm trong thưững bản sao
cài đặt lạiờng dẫn trên
27
, .
u g ư
ư l e
o m h ,
y
o m y a ó i .
, g g g ã i ở
i w à ư o i n
28
www.giaip
Sửtromtach
TạCnhcá
ChtấWcô
TạMsẽ
phapexcel.c
ử dụng mộtong bảng tí
muốn đến màay, tự động hí có thể dùn
ạo chỉ mụcách này rất hư tên là Indác siêu liên
họn Place iất. Phương
Worksheet kông tác bảo
ạo chỉ mụcMột cách thaẽ tự động tạ
CCHHIIÊÊUU 77
com
TTạạoo cchh
Nếu bạn Workshemột tranđể thuận
t chỉ mục cáính, vì chỉ à không lo tạo ra bởi mng các hàm
c thủ công dễ làm, bạn
dex. Sau đókết (hyperli
in This Docpháp này
không có sựtrì trang ch
c tự động bay thế khác ạo ra một b
hhỉỉ mmụụcc cc
đã tốn quá neet (trang tínng tính nào đn tiện cho việc
ác trang tínvới một cúbị nhầm lẫn
mã VBA, hm Macro4 – k
n chỉ cần chó, bạn nhập ink) đến các
ument và cphù hợp k
ự thay đổi thhỉ mục.
Hình
bằng cách là sử dụng
bảng chỉ m
cchhoo ccáácc SS
nhiều thời ginh), bạn sẽ cảđó. Khi đó, có
c điều hướng
nh sẽ cho phú nhấp chuộn. Bạn có thoặc là sử dụkhông trình
hèn mới mộvào tên củac Workshee
chọn tên Shkhi bảng tínhường xuyê
h 22 - Hộp thoạ
sử dụng VVBA để tự
mục liên kết
Tạo ch
SShheeeett ttrroo
ian trong mộảm thông đư lẽ ta nên lập
g trong bảng
hép bạn nhaột, Excel sẽhể tạo một cụng trình đ
h bày ở đây)
ột Worksheea các Workset tương ứng
heet muốn knh không cên, nếu khô
ại Insert Hypelin
VBA ự động tạo rđến tất cả
CÁC TUY
hỉ mục cho cá
oonngg WWoorr
ột Workbook ược sự khó kp một chỉ mụ
g tính.
anh chóng vẽ đưa bạn đchỉ mục troơn tùy chọn).
et và đặt chosheet có trong với tên mà
kết nối tới. có quá nhi
ông sẽ gây r
nk
ra các chỉ mcác Works
YỆT CHIÊU C
ác Sheet tron
rrkkbbooookk
(bảng tính) vkhăn trong vục các trang t
và dễ dàng đđến chính xong một vài n theo ngữ
o nó một cáng W orkbooà bạn nhập.
Nhấn nút Oiều Workshra nhiều kh
mục. Đoạn msheet mà bạ
CỦA EXCEL
ng Workbook
với rất nhiềuviệc tìm kiếmtính đang có
điều hướngxác nơi bạn
cách: bằngcảnh (thậm
ái tên, ví dụok và tạo
OK để hoànheet và tênhó khăn cho
mã sau đâyạn có trong
L
k
u m ó
g n g
m
ụ o
n n o
y g
Chương 1 – GIẢM BỚT NHỮNG CỰC NHỌC KHI LÀM VIỆC VỚI BẢNG TÍNH
Tạo chỉ mục cho các Sheet trong Workbook 29
Workbook. Bảng chỉ mục này sẽ được tạo lại mỗi khi Worksheet lưu chỉ mục được chọn. Đoạn mã này phải được đặt trong Private Module của Sheet chứa chỉ mục. Chèn một Worksheet mới vào Workbook và đặt tên cho nó là Index chẳng hạn. Nhấp chuột phải vào tên Worksheet vừa tạo và chọn ViewCode từ trình đơn ngữ cảnh hoặc nhấn tổ hợp phím Alt+F11.
Nhập đoạn mã VBA sau vào cửa sổ Code:
Private Sub Worksheet_Activate() Dim wSheet As Worksheet Dim lCount As Long lCount = 1 With Me
.Columns(1).ClearContents
.Cells(1, 1) = "INDEX" End With For Each wSheet In Worksheets
If wSheet.Name <> Me.Name Then lCount = lCount + 1 With wSheet
.Range("A1").Name = "Start" & wSheet.Index
.Hyperlinks.Add Anchor:=.Range("A1"), Address:="", _ SubAddress:= "Index", TextToDisplay:="Back to Index"
End With Me.Hyperlinks.Add Anchor:=Me.Cells(lCount, 1), Address:="", _ SubAddress:= "Start" & wSheet.Index, TextToDisplay:=wSheet.Name
End If Next wSheet
End Sub
Nhấn tổ hợp phím Alt+Q để thoát VBE và trở về cửa sổ bảng tính, sau đó lưu bảng tính lại. Để chạy đoạn mã vừa tạo, bạn dùng chuột chọn sang Worksheet khác trong Workbook và sau đó chọn lại Worksheet Index để kích hoạt sự kiện Worksheet_Activate.
Lưu ý rằng, đoạn mã sẽ các đặt tên (Name) cho các ô A1 ở mỗi Worksheet kèm theo số chỉ mục của Worksheet trong bảng tính (Worksheet đầu tiên có chỉ mục là 1, kế đó là 2, 3…. n). Điều này bảo đảm rằng ô A1 trên mỗi trang tính có một tên khác nhau. Nếu ô A1 trên Worksheet của bạn đã được đặt tên, bạn nên cân nhắc đến việc thay đổi ô A1 trong đoạn mã sang một địa chỉ khác phù hợp hơn.
Lưu ý thêm, nếu bạn có thiết lập Hyperlink base (siêu liên kết cơ sở) trong Workbook thì các hyperlink được tạo ra từ đoạn mã trên sẽ không thể hoạt động được, do chúng đã liên kết đến các Name trong Workbook hiện hành. Khi thuộc tính Hyperlink base được thiết lập thì các siêu liên kết sẽ trỏ đến Hyperlink base kết hợp với các Name.
Cách thêm thuộc tính Hyperlink base: Vào Office → Prepare → Properties → Document Properties → chọn Advanced Properties (Excel2003: File → Properties → Summary) và nhập vào khung Hyperlink Base. Ví dụ, nhập vào: http://www.giaiphapExcel.com/
30
www.giaip
ThCcávù
NTh
phapexcel.c
hêm lệnh gách thứ ba nác Worksheùng bảng tín
Nhấn Alt+F1hisWorkboo
PrivatByVal
Dim On E
com
Hình 2
Hình 24
gọi chỉ mụnày sẽ hướn
eet trong Wonh bất kỳ.
11 để mở cok:
te Sub WorkTarget As cCont As Error Resu
23 - Thêm thuộ
4 - Siêu liên kết
ục vào trìnng dẫn bạn orkbook và
cửa sổ VB
kbook_Shee Range, CaCommandBaume Next
ộc tính Hyperlin
t trước và sau kh
h đơn ngữthêm một lệbạn có thể
BE, sau đó
etBeforeRiancel As BrButton
Tạo ch
nk base vào bản
hi thêm Hyperl
ữ cảnh ệnh vào trìnchọn lệnh n
nhập đoạn
ghtClick(BBoolean)
CÁC TUY
hỉ mục cho cá
ng tính
ink base
nh đơn ngữ này bằng cá
n mã sau v
ByVal Sh A
YỆT CHIÊU C
ác Sheet tron
cảnh để gọch kích phả
vào cửa sổ
As Object,
CỦA EXCEL
ng Workbook
ọi danh sáchải chuột vào
ổ Code của
_
L
k
h o
a
Chương 1
Tạo chỉ mục
Đ
Ti
Đbạ
Nchlệdễ
– GIẢM BỚ
c cho các She
ApplOn ESet TypeWith
.
.End
End Sub
oạn mã này
iếp theo, bạ
Sub InAppl
End Su
oạn mã trênạn phải đặt n
Nhấn Alt+Q huột tại bất ệnh Sheet Inễ dàng.
ỚT NHỮNG C
eet trong Wor
lication.CError GoTo cCont = Ae:=msoConth cCont Caption = OnAction = With b
y sẽ gọi than
ạn vào Inser
ndexCode() lication.Cub
n sẽ thực thnó trong M
để đóng cửkỳ ô nào trdex giúp bạ
CỰC NHỌC
rkbook
CommandBaro 0 ApplicationtrolButton
"Sheet In= "IndexCo
nh lệnh Tab
rt → Module
CommandBar
hi mỗi khi odule thì Ex
ửa sổ VBE rong bất kỳạn điều hướ
KHI LÀM V
s("Cell").
n.CommandB, Temporar
ndex" ode"
bs của Work
Hình
e và nhập và
s("Workboo
bạn chọn lệxcel mới có
trở về bảnWorksheet
ớng đến bất
IỆC VỚI BẢN
.Controls(
Bars("Cellry:=True)
kbook như h
25
ào đoạn mã
ok Tabs").
ệnh “Sheetó thể thấy đư
ng tính Excenào thì tron
cứ Workshe
NG TÍNH
"Sheet Ind
l").Control
hình sau:
sau:
ShowPopup
Index” từ tược thủ tục
el. Kể từ lúng trình đơneet nào tron
dex").Dele
ls.Add _
trình đơn nnày.
úc này, bạnn ngữ cảnh
ng Workboo
ete
ngữ cảnh và
n nhấp phảisẽ có thêm
ok một cách
31
à
i m h
32
www.giaip
Cvàdụliệcum
Bđị
DấCdòxu→ch
phapexcel.c
ác bảng tínhà có số dònụng hết. Bạệu nhạy cảmuộn xuống d
mà xem.
ạn có thể dùịnh nghĩa m
ấu dòng vách dễ nhấtòng cuối cóuống để chọ→ Hide & Unhọn Hide.
CCHHIIÊÊUU 88
Hình 26 - Giới
com
GGiiớớii hh
Nếu bạnhoặc bạncó thể giớ
h tạo bởi Eng tối đa là ạn có thể giớm, bạn để ndòng 500.0
ùng cách đơmột vùng cho
à cột t là dấu nhữ
ó dữ liệu, nhọn đến cuối
nhide → Hid
hạn vùng cuộn
hhạạnn vvùùnngg
không muốn có dữ liệu ởới hạn vùng n
Excel 2007 c1.048.576 ới hạn chỉ c
ngoài vùng đ00 và đến l
ơn giản là do phép xem
ững dòng vhấn chọn dòi dòng cuối de Rows (Ex
n bảng tính bằn
gg ccuuộộnn cc
ốn thanh cuộở một vùng nnhìn được củ
có số cột tố(trước đó là
cho người dđó. Ngoài ralượt người
dấu (Hide) nm hoặc chỉ kí
và cột khôngòng dưới nócùng (1.04
xcel2003: For
ng cách ẩn các h
củủaa bbảảnngg
ộn kéo bảng nào đó mà khủa bảng tính
ối đa 16.38465.536). Nh
dùng xem tra nó còn hạkhác la làn
những dòngích hoạt vùn
g dùng đếnó, nhấn thêm8.576). Sau
rmat → Row
hàng và các cột
CÁC TUY
Giới hạn
gg ttíínnhh
tính lên xuốnhông muốn c
trong phạm
4 (Excel trướchưng thườnrong một phạn chế khi ang rằng kéo
g và cột muống có dữ liệ
n: Trên Sheem cùng lúc
u đó trong ta→ Hide), ho
YỆT CHIÊU C
vùng cuộn củ
ống hoặc quacho nguời dù vi bạn cho p
c đó là 256, tng thì bạn hhạm vi nào ai đó vô tình
mãi chẳng
ốn dấu hoặcệu.
et hiện hànhc Ctrl + Shifab Home, ch
oặc click ph
Làm tươvậy để cột khđến: tìmclick chbên, nhShift + sang pHide colu
Kết quả26: vùngbị trùm tăm tốquanh vcó thể kđược nữ
CỦA EXCEL
ủa bảng tính
a phải nhiều,ùng xem, bạnphép.
từ A đến IV),hiếm khi sửđó, còn dữ
h kéo thanhthấy cái gì
c bằng cách
h, xác địnhft + mũi tênhọn Format
hải chuột và
ơng tự nhưdấu nhữngông dùng
m cột cuối,họn cột kếhấn Ctrl +
mũi tênphải, chọnumns.
ả như hìnhg làm việc
một màuối chung
và chẳng aikéo đi đâua.
L
h
, n
, ử ữ h ì
h
h n t à
ư g g , ế + n n
h c u g i u
Chương 1
Giới hạn vùn
Mkhdù
Thnằ
Đ
Đ
Cu
Th
– GIẢM BỚ
ng cuộn của
Mặc dù khônhỏi vùng, bạù bạn có ng
hậm chí vớiằm ngoài vù
ể có thể thự
ầu code thê
Active
uối code thê
Active
hí dụ:
Sub MyActiRangSele
Hình 27
ỚT NHỮNG C
bảng tính
ng có vùng bạn cố chọn ó thấy cũng
i những đoạùng cho phé
ực thi các đo
êm dòng:
eSheet.Scro
êm dòng:
eSheet.Scro
yMacro( ) iveSheet.Sge("Z100")ection.Fon
7
CỰC NHỌC
XáBcóT
Nchtrtìmdụ
Qcólà
TtíntakíSh
Pr En
Bvù
bao quanh tmột ô nằm
g chỉ để thèm
ạn code VBép, hoặc chọ
oạn code trê
ollArea =
ollArea =
ScrollArea .Select nt.Bold = T
KHI LÀM V
ác định mộBằng cách sửó thể ấn địnhực hiện nh
Nhấn chuột họn View corong cửa sổm dòng Scrụ: $A$1:$H
Quay trở lại ó thể cuộn xà tối đa, khô
uy vậy, Exnh, nên lần
a phải viết ích hoạt Shheet mình m
rivate SubMe.Scrol
nd Sub
Bây giờ mỗiùng giới hạn
tăm tối nhưngoài vùng
m thôi.
A bạn tạo sọn nguyên c
ên bạn phải
""
"$A$1:$G$
= ""
True
IỆC VỚI BẢN
ột vùng sửử dụng Pro
nh vùng làmhư sau:
phải vào têode, hoặc nh
Project ExprollArea gõ
H$50 (hình 2
bảng tính vxuống đến dông cuộn đư
xcel không sau mở fil
một đoạn cheet. Vào
muốn, chọn
b WorksheelArea = "A
i khi kích hn như mong
ư cách trên, g cho phép c
sau này, troncột nguyên d
cho vào co
50"
NG TÍNH
ử dụng bằnoperty của Sm việc trong
ên Sheet trohấn Alt+F11plorer, rồi xvào địa chỉ
27).
và thử kéo tdòng 50 và ược nữa.
lưu tính ce lên phải scode thực hvùng soạn sự kiện Wo
t_ActivateA1:H50"
hoạt bảng tg muốn.
nhưng bạn cũng không
ng đó có câudòng, cũng
de 2 dòng l
ng PropertSheet trongg phạm vi m
ong tab Sh1, chọn đúnxuống khunỉ vùng mong
thanh cuộn,cuộn ngang
chất này khset Propertyhiện điều n
thảo codeorksheet_ac
e ()
tính, VBA
không thể nđược, kể cả
u lệnh seleckhông chọn
lệnh:
ty g VBA, bạnmong muốn.
eet Names,ng tên Sheetng Property,g muốn, thí
ta thấy chỉg đến cột H
hi lưu bảngy lại. Do đónày mỗi khie của đúngctivate:
sẽ ấn định
nào cuộn raả cột I, J, K
ct một vùngn được.
33
n .
, t , í
ỉ H
g ó i g
h
a K
g
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
34 Giới hạn vùng cuộn của bảng tính
ActiveSheet.ScrollArea = "$A$1:$G$50" Sheets("Daily Budget").Select ActiveSheet.ScrollArea = "" Range ("T500").Select Selection.Font.Bold = False ActiveSheet.ScrollArea = "$A$1:$H$25"
End Sub
Đoạn code trên chọn ô Z100 trong Sheet hiện hành và định dạng in đậm. Sau đó chọn ô T500 trong Sheet khác, định dạng in thường (không đậm). Trước khi thực hiện chọn và định dạng ở Sheet nào, phải set vùng cuộn Sheet đó là “”. Sau khi định dạng, set trả vùng giới hạn cuộn theo mong muốn.
Chỉ kích hoạt vùng dữ liệu hiện hành Phương pháp này linh hoạt hơn, tự động giới hạn vùng cuộn bảng tính vừa bằng vùng dữ liệu của bảng tính mà bạn đặt code sau:
Private Sub Worksheet_Activate() Me.ScrollArea =Me.UsedRange. Address
End Sub
Đoạn code trên sẽ chạy mỗi khi bạn kích hoạt bảng tính mà bạn đặt code. Dù vậy cũng có hạn chế là bạn không thể thêm dữ liệu vào dòng mới hoặc cột mới. Bạn có thể mở rộng vùng giới hạn ra thêm 5 dòng và 2 cột bằng đoạn code sau:
Private Sub Worksheet_Activate() With Me.UsedRange
Me.ScrollArea = .Resize(.Rows.Count + 5, .Columns.Count _ + 2).Address
End With End Sub
Còn nếu bạn muốn hơn nữa, nhập liệu thêm một cách thoải mái, thì dùng một đoạn code nhằm reset vùng cuộn bằng nguyên Sheet:
Sub ResetScrollArea() ActiveSheet.ScrollArea = ""
End Sub
Bạn có thể gán short key (phím tắt) cho đoạn code này bằng cách nhấn Alt+F8, chọn macro ResetScrollArea, nhấn nút Option, và gán một phím tắt thí dụ Ctrl+W.
Sau này mỗi khi bạn muốn nhập liệu, nhấn Ctrl+W trước khi nhập liệu. Khi nhập liệu xong, chỉ cần bạn kích hoạt một Sheet khác xong quay lại Sheet này, vùng cuộn lại bị giới hạn bởi đoạn code trên (Worksheet_Activate()).
Chương 1
Khóa và bảo
Kbảnhvệchtínth
CD
KhThcólệbả
ChđiPr
– GIẢM BỚ
o vệ những ô
Khi tạo một bảng tính chhững vào nhệ) bảng tínhhứa công thứnh của bạn.
hức thôi, còn
ó ba giải phata Validati
hóa các ô cheo mặc địnó tác dụng gệnh Protect ảo vệ:
họn toàn bộiểm của cộtrotection, bỏ
CCHHIIÊÊUU 99
ỚT NHỮNG C
ô có chứa côn
KKhhóóaa
Chiêu nàcấm họ tthức mà
bảng tính, tho mọi ngườhững ô có ch. Tuy nhiênức, mà nó k Đôi khi, bạn những ô c
háp để thựcon cho các
chứa công nh, tất cả cgì trừ phi bạcho bảng tí
ộ bảng tínht A và hàngỏ đánh dấu
CỰC NHỌC
ng thức
vvàà bbảảoo vv
ày giúp bạn thay đổi các ôkhông cần p
thường chúnời, có thể bchứa công thn, Protect bkhông cho cạn lại khôn
chứa dữ liệu
c hiện điều nô chứa côn
thức các ô trong ạn áp dụng ính, nhưng
h, bằng cáchg 1. Rồi nhở tùy chọn
Hình 28 - Gá
KHI LÀM V
vvệệ nnhhữữnn
cho phép ngô chứa công
phải bảo vệ to
ng ta sẽ phảbạn muốn rhức. Cách d
bảng tính khcan thiệp vàg muốn như
u thì không.
này: Khóa ng thức, và t
bảng tính đlệnh Protecchỉ những
h nhấn Ctrlhấn nút phảLocked, rồi
án thuộc tính Lo
IỆC VỚI BẢN
nngg ôô ccóó cch
gười khác th thức. Bạn cũoàn bộ trang
ải dùng đếnrằng, khôngdễ nhất là chông chỉ ngăào tất cả, nghư vậy, bạn c
những ô chự động bật
đều được khct bảng tínhô chứa côn
+A, hoặc nải chuột và i nhấn OK.
ock cho một ho
NG TÍNH
hhứứaa ccôônn
ay đổi các ôũng có thể bảg tính của bạn
n một số công ai có thể cũng phổ biếăn không chhĩa là khôngchỉ muốn b
hứa công thứtắt chức năn
hóa (lockedh. Đây là cáng thức thì
nhấn vào cáchọn Form
ặc nhiều ô
ngg tthhứứcc
ô có chứa dữảo vệ các ô cn.
ng thức, và can thiệp (ến nhất là Pho can thiệpg ai có thể lảo vệ các ô
ức, sử dụngng bảo vệ.
d), tuy nhiênách dễ nhất
mới bị khó
ái ô vuông nmat Cells, rồ
ữ liệu, nhưngcó chứa công
khi chia sẻ(xóa, sửa...)Protect (bảop vào các ôlàm gì bảngô chứa công
g chức năng
n, nó chẳngđể áp dụng
óa, và được
nằm ở giaoồi trong tab
35
g g
ẻ ) o ô g g
g
g g c
o b
36
www.giaip
Sa(EH
Trchchthth
VCeSh
phapexcel.c
au đó, bạnExcel2003: Ed
Hộp thoại Go
rong hộp thhọn thêm 4 họn), và nhấhì bạn đánhhấy) thì đánh
Việc cuối cùnells, rồi nhấheet (Excel2
com
n chọn đại dit → Go To…o To Special
hoại đó, bạnô nhỏ ở dưấn OK. Sau
h dấu vào tùh dấu vào tù
ng là Protecấn vào Prot003: Tools →
Hình 3
một ô nào… → Speciall sẽ mở ra.
n nhấn vào tưới (liệt kê đó, bạn mở
ùy chọn Loùy chọn Hid
Hìn
ct bảng tínhtect Sheet..
→ Protection →
30 - Chọn Prote
o đó, chọn ); hoặc nhấ
tùy chọn Focác loại cô
ở lại hộp thoocked, và nếdden, nhấn O
nh 29 - Hộp tho
h: Chọn Hom.; hoặc chọ→ Protect Wo
ect Sheet từ tab
Khóa
Home → ấn Ctrl+G ha
rmulas, và nông thức, moại Format Cếu bạn thícOK.
oại Go To Specia
me trên Ribbọn Review trorksheet):
b Review trên R
CÁC TUY
và bảo vệ nh
Find & Selay F5 rồi n
nếu cần thiếmặc định thìCells đã nói
ch ẩn luôn c
al
bon, nhấn vrên Ribbon
Ribbon
YỆT CHIÊU C
hững ô có chứ
ect → Go nhấn vào nú
ết thì chọn hì cả 4 ô nàyi ở trên, nhưcông thức (
vào Format tn, rồi nhấn v
CỦA EXCEL
ứa công thức
To Specialút Special....
hoặc khôngy đều đượcưng lần này(không cho
trong nhómvào Protect
L
c
l .
g c y o
m t
Chương 1
Khóa và bảo
bạch
Đtôtừ
Hình 32
– GIẢM BỚ
o vệ những ô
ạn vẫn có thhung nó khô
ể thực hiệnôi đã nói ở trừ menu Dat
- Hộp thoại Pro
ỚT NHỮNG C
ô có chứa côn
Hình
hể xóa côngông bảo vệ đ
n, bạn hãy crên. Rồi, vớta trên Ribb
otect Sheet
CỰC NHỌC
ng thức
h 31 - Chọn Prot
TrongSelecnhữngthiết.
Vậy lđược Hidde
Sử dụSử dụvào nthức. bạn, nô chứ
g thức, hoặcđược gì nhi
họn những ới những ô cbon (Excel2
KHI LÀM V
tect Sheet từ ta
g hộp thoạct locked ceg ô không
là xong. Từbảo vệ, có
en, bạn khôn
ụng Data Vụng Data V
những ô có cTuy nhiên,
nghĩa là tránứa công thứcc dán vào nhiều. Nhưng
ô chứa ô côchứa công t003: Data →
IỆC VỚI BẢN
b Home trên Ri
ại Protect Slls, chỉ cho khóa), và n
bây giờ, nh thể không ng lo những
ValidationValidation, cchứa công t phương phnh việc táy c, chứ thật rhững ô đó bcũng xin nó
ông thức bằthức đang đ→ Validation).
NG TÍNH
ibbon
Sheet, bỏ đphép Selec
nhập vào m
hững ô chứaxem thấy đ
g công thức
n chỉ là đơn gthức, nghĩa háp này chỉ máy sửa lạira, mặc dù đbất kỳ dữ liệói sơ qua về
ằng chức năđược chọn, b. Trong hộp
đánh dấu ởct unlocked một passwor
a công thứcđược nếu b này bị can
giản không là không chphòng ngừai cái gì đó trđã được “Vệu nào bạn ề phương ph
ăng Go To Sbạn gọi Datap thoại này
ở tùy chọncells (chọnrd, nếu cần
c của bạn sẽbạn đã chọn
thiệp nữa.
cho ghi đèho sửa cônga cho chínhrong những
Validation”,thích... Nói
háp này:
Specials màa Validationy, chọn tab
37
n n n
ẽ n
è g h g , i
à n b
38
www.giaip
vệđộ
Đkhphkh
Nm
Nthch
H
phapexcel.c
ệ bảng tính ộng tắt chức
ể bắt đầu, bhóa, còn nhháp thứ nhấhóa ở trong
PrivatIf T
MElse
MEnd
End Su
Nếu không cmuốn Passwo
Nếu bạn lo rằhể bảo vệ cáhọn tab Prop
Hình 33 - Hộp th
com
(Protect) mc năng bảo v
bạn hãy chắhững ô khôất. Sau đó, đó, rồi nhập
te Sub WorkTarget.LocMe.Protect e Me.Unprotec If ub
cần đến pasord là thứ g
ằng người tác code nàyperties, chọ
Tuy nhiên, pbạn được phcode sẽ chỉ nói thêm, cthôi, là ô đa
Vì lý do nàythì người đóđược tự độn
hoại Data Valid
mỗi khi bạn cvệ khi bạn c
ắc chắn rằngng cần bảobạn nhấn Ap vào trong
ksheet_Selcked = Tru Password:
ct Passwor
ssword, bạnì khác, bạn
ta có thể vàoy (không choọn Lock Proj
phương pháp hần nào việc bđể tham chiế
cho dù bạn chng có màu kh
, nếu một ngưó có thể xóa t
ng bật!
dation
SetticôngOK.
Kể ttrongsửa ngănphươthứcchứa
Tự đPhươ
chọn một ô chọn một ô
g những ô bo vệ thì khôAlt+F11, nhấg khung soạn
lectionChae Then :="Secret"
rd:="Secre
n không cầnsửa lại chữ
o trong khuo xem) bằnject for View
này cũng khôbảo vệ các côngếu đến ô đanghọn một dãy,
ác với những ô
ười nào đó chọtoàn bộ dãy ô
Khóa
ings, chọn Cg thức này:
từ đây, mỗig những ô lại công thứn không chơng pháp nc, cũng nhưa công thức
động bật tơng pháp nđã được khkhông bị kh
bạn muốn bảông bị khóaấn vào Shen thảo đoạn
ange(ByVal
t"
n dùng đoạữ Secret bằn
ung soạn thảng cách chọnwing, và nhậ
ông hoạt độngg thức. Từ khó
g "active" nganhưng trong ô còn lại).
ọn một dãy cáô này, bởi vì k
CÁC TUY
và bảo vệ nh
Custom cho=" " vào kh
i khi bạn nchứa công ức, sẽ có mho bạn nhậ
này không cư dán đè th.
ắt chức nănày, sẽ tự độhóa (lockedhóa.
ảo vệ (ô chứa, như tôi đet mà bạn m
n code sau đ
Target As
ạn Passwordg cái bạn m
ảo VBA để n Tools → Vập vào một
g hoàn hảo, móa Target đượcy tại thời điểmdãy đó, chỉ có
c ô (với ô "actkhi đó thì chức
YỆT CHIÊU C
hững ô có chứ
o khung Allohung Formu
nhập bất kỳ thức, hoặc
một cảnh báoập vào. Xincấm việc xóhứ gì đó và
ăng bảo vệộng bật chứ
d), nhưng nó
ứa công thứđã trình bàymuốn bảo vđây:
s Range)
d:="Secret"muốn.
xem passwVBAProject password.
mặc dù nó cũnc sử dụng tronm nó được chó một ô "activ
tive" không bịc năng Unpro
CỦA EXCEL
ứa công thức
ow, và nhậpla, rồi nhấn
thứ gì vàoc bạn muốno xuất hiện,n nhắc lại,
óa hẳn côngào những ô
ệ ức năng bảoó cũng sẽ tự
ức) đã đượcy ở phươngvệ các ô đã
", hoặc nếu
word, bạn cóProperties,
ng giúp ng đoạn
ọn (xin ve" mà
khóa), tect đã
L
c
p n
o n , ,
g ô
o ự
c g ã
u
ó ,
Chương 1
Sử dụng địnđể tìm dữ liệ
MbảcôEx
Vbằ(Hlự
Trth
=C
– GIẢM BỚ
nh dạng theoệu trùng
Mọi người thảng, và làmông việc nàxcel một ít.
Ví dụ như, bằng cách chH100). Điềuựa chọn. Sau
rong hộp thhức sau vào
COUNTIF($
CCHHIIÊÊUU 1100
ỚT NHỮNG C
o điều kiện
SSửử ddụụđđểể ttììmm
Định dạnphạm vi trùng lắpđiều kiệncho các p
hường xuyênm thủ công cày dễ dàng
bạn có một bhọn ô trên cùu này rất quu đó vào Fo
H
hoại Conditiohộp trống b
$A$1:$H$10
CỰC NHỌC
ụụnngg đđịịnnhhmm ddữữ lliiệệuu
ng theo điều cụ thể trên b
p dữ liệu tronn trong Excelphiên bản từ
n phải nhậncông việc nà
hơn, bạn c
bảng dữ liệùng bên trá
uan trọng, vrmat → chọ
Hình 34 - Lệnh
onal Formatbên cạnh:
00,A1)>1
Hình 35
KHI LÀM V
hh ddạạnngg tthhuu ttrrùùnngg
kiện của Excbảng tính, nhng một danhl 2007 đã đư
ừ Excel 2003 v
n diện sự trùày có thể mcó thể chế b
ệu là vùng $ái của bảngvì ta muốn ôọn Condition
định dạng theo
tting, bạn ch
- Hộp thoại Co
IỆC VỚI BẢN
hheeoo đđiiềềuu
cel thường đưhưng chúng t sách hoặc m
ược cải tiến, dvề trước.
ùng lắp dữ limất nhiều thờ
biến công c
$A$1:$H$1(A1) và kéo
ô A1 phải lànal Formatt
o điều kiện tron
họn Formul
nditional Form
NG TÍNH
uu kkiiệệnn
được sử dụng ta có thể cải
một bảng. Chdo vậy bài h
iệu trong mời gian và dcụ Định dạn
00. Với Exo chuột đếnà ô hiện hàning….
ng Excel 2003
as Is tại Co
atting
để xác định tiến nó để nh
hức năng địnướng dẫn nà
một danh sácdễ mắc lỗi. Đng theo điề
cel 2003, bn ô dưới cùnnh (active)
ndition 1 và
giá trị tronghận dạng sự
nh dạng theoày thích hợp
ch hoặc mộtĐể làm choều kiện của
bạn chọn nóng bên phảitrong vùng
à nhập công
39
g ựo p
t o a
ó i g
g
40
www.giaip
NPavù
Th
Trô nhth
Đtro
ChDu
Trch
phapexcel.c
Nhấn chọn natterns. Nhùng dữ liệu
heo bảng số
rong công tcần kiểm t
hư thế này, hể thì các cô
Ô A1 sÔ A2 s… Ô B1 sÔ B2 s…
ịnh dạng thong một vù
họn vùng duplicate Val
rong hộp thhọn định dạ
H
com
nút Format →ấn OK khi đang chọn.
ố liệu minh
thức định dạra trong vùExcel sẽ tự
ông thức địn
ẽ có công thẽ có công th
ẽ có công thẽ có công th
heo điều kiệng dữ liệu.
dữ liệu → vàlues…
hoại Duplicng tại hộp k
Hình 36 - Lệnh D
→ chọn màhoàn tất việ
họa thì hầu
ạng theo điềùng địa chỉự động nhậnnh dạng theo
hức là: =Chức là: =C
hức là: =Chức là: =C
ện trong ExCác bước th
ào ngăn Hom
cate Values,kế bên sau đ
Duplicate Value
àu và kiểu cệc định dạn
u hết các ô đ
ều kiện này,xác định. Bn biết địa co điều kiện
COUNTIF($ACOUNTIF($A
COUNTIF($ACOUNTIF($A
xcel 2007 đhực hiện nh
me → Cond
, bạn chọn đó nhấn OK
es của Condition
chữ tại ngănng. Nhấn tiế
đều có dữ liệ
, ta sử dụngBằng cách shỉ ô làm đitại các ô nh
A$1:$H$100A$1:$H$100
A$1:$H$100A$1:$H$100
đã có sẵn tínhư sau:
ditional Form
kiểu DupliK.
nal Formatting
CÁC TUY
Sử dụng
n Font và cếp OK để á
ệu trùng trừ
g tham chiếusử dụng địnều kiện tron
hư sau:
0,A1)>1 0,A2)>1
0,B1)>1 0,B2)>1
nh năng làm
matting → H
cate (hoặc
trong Excel 200
YỆT CHIÊU C
định dạng thđể tìm
chọn màu náp dụng địn
ừ hai ô H7 v
u tương đối nh dạng theng hàm CO
m nổi các g
Highlight Ce
Unique: du
07
CỦA EXCEL
heo điều kiệndữ liệu trùng
nền tại ngănnh dạng cho
và H49.
cho địa chỉo điều kiện
OUNTIF. Cụ
giá trị trùng
lls Rules →
uy nhất) và
L
ng
n o
ỉ n ụ
g
→
à
Chương 1 – GIẢM BỚT NHỮNG CỰC NHỌC KHI LÀM VIỆC VỚI BẢNG TÍNH
Tìm dữ liệu xuất hiện hai hoặc nhiều lần bằng công cụ Conditional Formating
41
TTììmm ddữữ lliiệệuu xxuuấấtt hhiiệệnn hhaaii hhooặặcc nnhhiiềềuu llầầnn bbằằnngg ccôônngg ccụụ CCoonnddiittiioonnaall FFoorrmmaattiinngg
Dù cho công cụ Conditional Formating đã cải tiến rất nhiều trong Excel 2007, giúp chúng ta tìm những dữ liệu trùng (Duplicate), nhưng nó vẫn chưa cung cấp những tính năng tìm ra những dữ liệu xuất hiện 2 lần hoặc nhiều hơn.
Nếu bạn muốn xác định những dữ liệu 2 lần hoặc nhiều hơn, bạn có thể dùng Conditional Formating với số lượng nhiều các điều kiện, trong giới hạn cho phép của bộ nhớ hệ thống (nhớ rằng trong Excel 2003 trở về trước, chỉ chấp nhận có 3 điều kiện). Sau đó bạn gán những định dạng màu sắc cho mỗi điều kiện.
Để thực hiện, chọn ô A1 là ô trên cùng bên trái của vùng dữ liệu, bấm Shift và click vào ô H100. Cần nhắc các bạn một lần nữa, là phải làm đúng trình tự để cho ô chọn (activecell) là ô A1.
Bây giờ vào tab Home → Conditional Formating → NewRule, trong mục Style chọn Use a Formula to determine which cells to format và click chọn Format values where this formula is true (Excel 2003: Format → Conditional Formating → Formula Is). Trong ô trống gõ công thức:
=COUNTIF($A$1:$H$100,A1)>3
Nhấn nút Format, chọn màu nền và màu chữ cho những ô chứa dữ liệu xuất hiện hơn 3 lần, và OK.
Nhấn New Rule (trong Excel 2003 chọn vào điều kiện thứ 2), làm tiếp một điều kiện, lần này công thức là:
=COUNTIF($A$1:$H$100,A1)=3
Nhấn New Rule (trong Excel 2003 chọn vào điều kiện thứ 3), làm tiếp một điều kiện, lần này công thức là:
=COUNTIF($A$1:$H$100,A1)=2
Nhớ mỗi lần chọn một màu khác nhau.
Kết quả: bạn có những ô có màu khác nhau cho những dữ liệu xuất hiện 2 lần, 3 lần, và nhiều hơn.
Cần nhắc lại chuyện chọn đúng vùng chọn sao cho ô A1 là ô hiện hành, để Excel hiểu đúng điều kiện trong công thức COUNTIF.
Conditional Formatting trong Excel 2003 bị giới hạn bởi 3 điều kiện, trong khi đó Excel 2007 chỉ bị giới hạn bởi bộ nhớ hệ thống.
CCHHIIÊÊUU 1111
Hình 37 - Hộp thoại New Formatting Rule
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
42 Tạo riêng một thanh công cụcho riêng một bảng tính cụ thể
TTạạoo rriiêênngg mmộộtt tthhaannhh ccôônngg ccụụ cchhoo rriiêênngg mmộộtt bbảảnngg ttíínnhh ccụụ tthhểể
Bạn đã từng tạo ra thanh công cụ riêng cho mình? Bạn có thấy rằng, thanh công cụ này luôn luôn được nạp vào Excel, và luôn hiển thị, với bất kỳ bảng tính nào, với bất kỳ người sử dụng nào? Có bao giờ, bạn muốn rằng, thanh công cụ tự tạo này chỉ được hiển thị với một bảng tính cụ thể nào đó mà thôi không?
Ví dụ, bạn tự tạo ra một thanh công cụ có chứa những nút dùng để hỗ trợ việc nhập công thức và xử lý bảng (những dấu =, +, -, *, /, những nút dùng để xóa hàng, xóa cột, v.v...), tạm gọi là thanh công cụ A, phục vụ riêng cho bảng tính B. Và bạn muốn, làm thế nào để chỉ khi bạn mở bảng tính B, thì mới thấy thanh công cụ A của bạn, còn mở bảng tính khác, thì chỉ thấy những thanh công cụ mặc định của Excel? Thậm chí trong cùng một cửa sổ Excel, nhưng khi bạn kích hoạt bảng tính B, thì mới thấy thanh công cụ A, còn khi nhấn Ctrl+Tab để chuyển sang bảng tính khác, thì thanh công cụ A này sẽ biến mất?
Thiết nghĩ, chắc hẳn đã có lúc bạn muốn điều tôi vừa nói. Vì nó giúp cho thanh công cụ của Excel luôn gọn gàng, ngăn nắp (luôn là thanh công cụ mặc định của Excel), nếu không
phải là bạn, mà là người khác, thì không có gì bỡ ngỡ với thanh công cụ lạ hoắc; hoặc là, chỉ khi nào mở bảng tính B ra, thì mới cần đến thanh công cụ A, còn bình thường thì chẳng cần...
Việc này, không có gì khó. Bạn chỉ cần chèn một đoạn code đơn giản vào trong Private module của bảng tính. Trước hết, bạn hãy tạo cho riêng mình một thanh công cụ. Đặt tên cho nó là MyCustomToolbar chẳng hạn. Tiếp theo, bạn nhấn Alt+F11 để mở cửa sổ Microsoft Visual Basic, nhấn đúp vào This Workbook trong khung Project. Bạn cũng có thể làm nhanh việc này bằng cách nhấn nút phải chuột vào cái biểu tượng Excel bé tí nằm ngay bên
trái menu File, rồi chọn View Code, cửa sổ VBA cũng sẽ mở ra với This Workbook được chọn sẵn.
Nhập vào hai đoạn code sau đây:
Option Explicit -------------------------------------------------------------------- Private Sub Workbook_Activate()
On Error Resume Next With Application.CommandBars("MyCustomToolbar")
.Enabled = True
CCHHIIÊÊUU 1122
Hình 38 - Nhấn phải chuột vào biểu tượng Excel nhỏở bên trái menu File rồi chọn View Code
Chương 1 – GIẢM BỚT NHỮNG CỰC NHỌC KHI LÀM VIỆC VỚI BẢNG TÍNH
Tạo riêng một thanh công cụ cho riêng một bảng tính cụ thể
43
.Visible = True End With On Error GoTo 0
End Sub -------------------------------------------------------------------- Private Sub Workbook_Deactivate()
On Error Resume Next Application.CommandBars("MyCustomToolbar").Enabled = False On Error GoTo 0
End Sub
Bạn có thể thay thế MyCustomToolbar bằng cái tên mà bạn đã đặt cho thanh công cụ tự tạo của bạn. Sau đó bạn nhấn Alt+Q để trở về Excel.
Để thử, bạn hãy mở thêm một bảng tính nữa, Book2.xls chẳng hạn. Bạn sẽ thấy, khi nào bạn chọn bảng tính mà có đoạn code ở trên, thì bạn mới thấy MyCustomToolbar, còn nếu chọn Book2 (chuyển đổi qua lại giữa các bảng tính bằng Ctrl+Tab), MyCustomToolbar biến mất! Chọn lại bảng tính ban đầu, MyCustomToolbar xuất hiện lại. Vậy là thành công rồi!
Được voi đòi tiên. Bây giờ, giả sử bạn muốn rằng, trong cùng một bảng tính, nhưng chỉ có Sheet1 thì mới thấy MyCustomToolbar, còn Sheet khác thì không?
Được thôi. Bạn có thể viết thêm một Level nữa cho đoạn code trên. Hãy bảo đảm là bạn đang chọn bảng tính có chứa code (tốt nhất là bạn đóng cái Book2). Quay trở lại cửa sổ VBA, bạn hãy nhấn phải chuột vào Sheet nào mà bạn muốn thấy MyCustomToolbar, rồi chọn View Code (hoặc nhấn đúp vào tên Sheet đó cũng được). Ở đây tôi giả sử bạn chọn Sheet1.
Nhập vào hai đoạn code sau đây:
Option Explicit -------------------------------------------------------------------- Private Sub Worksheet_Deactivate()
On Error Resume Next Application.CommandBars("MyCustomToolbar").Enabled = False On Error GoTo 0
End Sub -------------------------------------------------------------------- Private Sub Worksheet_Activate()
On Error Resume Next With Application.CommandBars("MyCustomToolbar")
.Enabled = True
.Visible = True End With On Error GoTo 0
End Sub
Rồi nhấn Alt+Q để quay lại Excel. Bây giờ, bạn hãy dùng chuột hoặc nhấn Ctrl+PgUp / Ctrl+PgDn để chọn qua lại các Sheet và xem thử cái gì xuất hiện trên màn hình.
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
44 Sao chép công thức giữ nguyên tham chiếu tương đối (giống như sao chép tham chiếu tuyệt đối)
SSaaoo cchhéépp ccôônngg tthhứứcc ggiiữữ nngguuyyêênn tthhaamm cchhiiếếuu ttưươơnngg đđốốii ((ggiiốốnngg nnhhưư ssaaoo cchhéépp tthhaamm cchhiiếếuu ttuuyyệệtt đđốốii))
Trong Excel, một công thức có thể chứa những tham chiếu tương đối hoặc tuyệt đối. Khi một công thức có tham chiếu tương đối được sao chép, thì do tính chất, tham chiếu sẽ chạy theo đến chỗ mới. Chỉ có công thức có tham chiếu tuyệt đối mới giữ nguyên khi sao chép.
Xin nhắc lại một tí: Khi bạn muốn công thức, dù cho copy đi đâu, cũng tham chiếu đến một ô hay một vùng cố định nào đó, bạn phải dùng tham chiếu tuyệt đối bằng cách thêm dấu $ vào tham chiếu, thí dụ: $A$1. Bạn cũng có thể chỉ thêm dấu $ vào tiêu chí dòng hoặc chỉ tiêu chí cột để chỉ cố định một chiều khi copy công thức.
Nhưng đôi khi bạn muốn sao chép một công thức tham chiếu tương đối, giữ nguyên tham chiếu, nhưng lại không muốn chuyển thành tuyệt đối? Có hai cách để làm:
Cách 1 Tô đen công thức trong thanh công thức (formula bar) rồi copy, không copy ô, và tại ô đích cũng paste vào thanh công thức. Cách này dùng khi bạn chỉ sao chép một ô.
Cách 2 Khi bạn muốn sao chép cả một khối ô, thì dùng Find and replace:
– Trước tiên, tô chọn khối muốn copy.
– Nhấn Ctrl+H, là phím tắt của Home → Find & Select → Replace (Excel2003: Edit → Replace).
– Trong ô Find what: gõ dấu =; trong ô Replace with: gõ dấu & (hoặc dấu nháy đơn (‘), hoặc bất cứ ký tự nào không dùng trong công thức).
– Nhấn Replace All
– Để nguyên như vậy, nhấn Ctrl+C, qua vị trí cần chuyển đến, nhấn Ctrl+V.
– Để nguyên như vậy, chuyển ngược lại dấu & hoặc dấu nháy thành dấu = với công cụ Find and replace.
– Trở về vùng nguồn hồi nãy, cũng chuyển ngược dấu & thành dấu =.
Nghe thì nhiêu khê, nhưng vẫn nhanh hơn sửa từng tham chiếu tương đối thành tuyệt đối của cả một khối ô, rồi chuyển ngược lại.
CCHHIIÊÊUU 1133
Chương 1 – GIẢM BỚT NHỮNG CỰC NHỌC KHI LÀM VIỆC VỚI BẢNG TÍNH
Gỡ bỏ những liên kết ma 45
GGỡỡ bbỏỏ nnhhữữnngg lliiêênn kkếếtt mmaa
Bạn mở một bảng tính, nhận ngay một thông báo: "Update links", nhưng chẳng có link nào! Làm thế nào để Update một link khi nó không tồn tại?
Những liên kết ngoài (external links) là những liên kết tham chiếu đến một bảng tính khác, chúng có thể nằm trong các công thức, trong các Name, hoặc trong các đối tượng được chèn vào (các đồ thị, các hình...). Khi những liên kết này bị "gãy", phần lớn lý do là do việc di chuyển hoặc sao chép một Sheet đến một bảng tính khác. Và khi đó, chúng trở thành những "liên kết ma", nghĩa là thấy đường link, nhưng không biết chúng được dẫn đến từ đâu. Sau đây là một vài cách giúp bạn xử lý những liên kết ma này.
Đầu tiên, bạn cần xem lại liệu trong các công thức trong bảng tính của bạn có chứa bất kỳ một liên kết ngoài nào (mà không phải là liên kết ma) không. Nếu bạn không chắc rằng trong các công thức trong bảng tính của bạn có một liên kết ngoài, bạn hãy sử dụng công cụ tìm kiếm. Khi tìm ra rồi, bạn chỉ việc đơn giản là sửa lại cho nó chính xác, hoặc xóa hẳn chúng đi nếu không cần thiết. Bạn cũng có thể vào trang web này: http://www.microsoft.com/downloads/s...displaylang=vi để tải về công cụ Delete Links Wizard, là một công cụ được thiết kế để tìm và xóa tất cả những liên kết như liên kết đến các Name, liên kết đến các Name ẩn, đến các đồ thị, các query, các đối tượng... Tuy nhiên, công cụ này không tìm ra được những liên kết ma.
Cho dù bạn đã tin chắc rằng, không có một công thức nào có chứa liên kết, bạn vẫn cần phải chắc chắn là không có bất kỳ một liên kết ma nào đang núp ở đâu đó. Để làm việc này, tôi thường mở hộp thoại Name Manager, dò từng Name một, để chắc chắn rằng không có một Name nào chứa một tham chiếu đến một bảng tính khác.
Với Excel 2003, thay vì nhấn vào từng cái tên để xem tham chiếu của nó trong khung Refers to, bạn có thể sử dụng cách này, nhanh hơn: Chọn menu Insert → Name → Paste, rồi trong hộp thoại Paste Name, nhấn vào nút Paste Link. Excel sẽ tạo ra một danh sách các Name có trong bảng tính, cùng những tham chiếu của nó, ngay trong bảng tính, để bạn kiểm tra.
Excel 2007 thì dễ hơn, bạn có thể xem một lần tất cả các Name trong hộp thoại Define Name. Nhưng nếu bạn cũng muốn dán chúng ra ngoài bảng tính, bạn hãy chọn Formulas → Use in formula → Paste Name, rồi nhấn vào Paste List trong hộp thoại vừa xuất hiện.
Với tất cả phiên bản Excel, cách nhanh nhất để gọi hộp thoại Paste Name, là nhấn F3.
Nếu có bất kỳ một Name nào tham chiếu đến một vùng ngoài bảng tính, có thể bạn sẽ thấy chúng có chứa ít nhất một đường link giống cái đã hiển thị trong hộp thoại cảnh báo Update Link khi bạn mở bảng tính. Và bạn hãy tự quyết định là sửa lại đường link cho đúng, hoặc xóa Name đó đi.
Có một loại kiên kết khác nữa, nằm trong các biểu đồ. Khi bạn đã kiểm tra các công thức, các Name như tôi vừa trình bày, mà bảng tính của bạn vẫn đòi Update Link, bạn nên kiểm tra các biểu đồ (nếu có), nghĩa là kiểm tra vùng dữ liệu và nhãn X-asis của biểu đồ xem
CCHHIIÊÊUU 1144
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
46 Gỡ bỏ những liên kết ma
chúng có chứa một liên kết ngoài nào không. Nếu tìm thấy, hãy sửa lại đường link cho đúng.
Các liên kết ngoài còn có thể núp trong các đối tượng (object) như là các Text box, các hình vẽ, v.v... Các đối tượng này có thể được liên kết đến một bảng tính khác. Cách dễ nhất để chọn nhanh các đối tượng, là bạn đứng tại bất kỳ một ô nào trong bảng tính, chọn Home → Find & Select → Go to Special (Excel2003: Edit → Go to... → Special), hoặc nhấn F5, rồi kích hoạt tùy chọn Object và nhấn OK.
Các thao tác này sẽ chọn tất cả các đối tượng (object) có trong bảng tính. Bạn nên làm những việc sau đây trong một bản sao của file: Với tất cả các đối tượng đang được chọn, bạn có thể xóa, lưu bảng tính, đóng bảng tính, và mở ra lại xem thử có còn vấn đề gì nữa không.
Cuối cùng, nơi mà bạn phải tìm là trong những Sheet ẩn mà bạn đã tạo ra, dấu đi rồi quên phứt. Bạn hãy làm cho chúng hiện lên: View → Unhide (Excel2003: Format → Sheet → Unhide). Nếu mục Unhide này bị mờ đi, nghĩa là không có Sheet ẩn. Nếu bạn vẫn còn nghi ngờ rằng có những Sheet siêu ẩn, hãy đọc lại chiêu số 5 để tìm và buộc chúng hiện ra.
Thế là bạn đã xử xong những link có thực mà bị gãy. Bây giờ đến những link ma. Mở file bị lỗi lên, chọn Data → Edit links (Excel2003: Edit → Links). Đôi khi bạn chỉ cần nhấn chọn vào cái link ma, nhấn Change Source, và gán trở lại chính cái link đó. Nhưng thường thì bạn bị một thông báo lỗi rằng công thức nào đó bị lỗi, và không thực hiện được.
Nếu bạn làm cách dễ như vậy không xong thì áp dụng cách này: Mở cả 2 file lên, file lỗi và file được link đến. Từ một ô bất kỳ của file lỗi, đánh dấu bằng (=), rồi qua file kia chọn cũng một ô bất kỳ, rồi Enter. Bạn đã tạo được một link thiệt, link ngon. Lưu cả 2 bảng tính lại, nhưng đừng đóng. Vào bảng tính lỗi, lại chọn Data → Edit links (Excel2003: Edit → Links) → Change source, sửa mọi tham chiếu của link ma vào bảng tính kia. Lưu lại lần nữa rồi xoá ô chứa link bạn mới tạo. Cách này thường là có hiệu quả trừ ma, bây giờ Excel nhận ra rằng bạn đã xoá link đến bảng tính còn lại. Nhưng nếu vẫn chưa trừ tận gốc và vẫn bị lỗi, bạn làm bước tiếp theo, nhưng nhớ là làm trên một bản sao của file lỗi. Tuy nhiên, cách này sẽ xoá vĩnh viễn dữ liệu của bạn, nên tốt nhất là tạo một bản dự phòng trước. Mở file lỗi lên, delete một Sheet, lưu, đóng, rồi mở lên lại. Nếu không còn thông báo update link ma, thì 100% link ma nằm trong Sheet đó. Nếu không, delete tiếp một Sheet nữa để kiểm tra. Trước khi xoá Sheet cuối cùng, phải insert một Sheet trắng. Nhớ ghi lại những Sheet chứa link ma.
Tiếp theo, mở file backup hồi nãy lên, back up lần nữa, trở vào Sheet lỗi hồi nãy bạn đã ghi nhớ. Bây giờ chọn từng vùng 10 x 10 ô dữ liệu, xoá bằng lệnh Clear → Clear All. Mà khoan, bạn backup lần 2 chưa? Nếu chưa thì back up đi nhé. Bây giờ lại lưu, đóng, mở lên lại xem còn lỗi không. Nếu còn, chọn vùng 10 x 10 ô tiếp theo, lại xoá, lưu, đóng, mở lên xem thông báo update link. Đến khi nào mà không còn thông báo link ma thì nghĩa là link ma nằm trong vùng 10 x 10 ô mới xoá. Bạn tập trung tìm kiếm trong khu vực này, từng ô một, sẽ thấy lòi ra con ma.
Chương 1 – GIẢM BỚT NHỮNG CỰC NHỌC KHI LÀM VIỆC VỚI BẢNG TÍNH
Giảm kích thước file Excel bị phình to bất thường 47
GGiiảảmm kkíícchh tthhưướớcc ffiillee EExxcceell bbịị pphhììnnhh ttoo bbấấtt tthhưườờnngg
Bạn có bao giờ có một file Excel bị tăng kích thước đến mức báo động chả biết nguyên nhân? Có nhiều lý do làm cho bảng tính bị phình lên về kích thước file và có những cách để loại trừ. Những bí quyết sau đây có thể giúp bạn nếu bạn có một file Excel có kích thước lớn bất thường.
Có khi nào bạn bị bội thực do cố ăn mà chưa tiêu hoá kịp chưa? File Excel cũng thế. Nó bị phình ra là do bạn cố nhồi nhét đủ thứ vào bắt nó phải thực hiện, nó phải nuốt trọng chứ không kịp nhai, hậu quả là nó sẽ không làm việc như ý muốn. Tôi đã thử với một file Excel chuẩn với khá nhiều dữ liệu. Với dữ liệu thô, nó có kích thước 1,37 Mb. Rồi tôi cho vào một Pivot Table, sử dụng dữ liệu nguồn là bốn cột của vùng dữ liệu. Kích thước file tăng lên 2,4 Mb. Tôi thử thiết lập vài định dạng, và kích thước file lập tức bị nhân đôi.
Một trong những nguyên nhân chủ yếu làm tăng kích thước file ở những file Excel trước 2007, khi chưa có khái niệm table, là các bạn cứ thế định dạng màu, cỡ font, màu chữ, đóng khung,... cho cả cột hoặc cho cả dòng, nếu không nói là cả bảng tính; chứ không chỉ định dạng cho khu vực chứa dữ liệu.
Tôi từng thấy người hễ mở bảng tính mới lên, là lập tức Ctrl+A, tô trắng toàn bộ, đóng khung toàn bộ. Không những thế họ còn xác định vùng dữ liệu nguồn cho biểu đồ, cho Pivot table, . . . là cả nguyên cột. Có khi thấy cái thanh cuộn dọc và ngang của Excel trở nên nhỏ tí tị, kéo hoài không thấy hết mà dữ liệu thì trống trơn.
Để giải quyết bạn phải sửa, bỏ hết những định dạng thừa trong những dòng cột trống, bỏ cái thói quen xoá màu fill color bằng cách chọn fill trắng. Hãy chọn No Fill! Sau đó điều chỉnh dữ liệu nguồn của biểu đồ, của Pivot Table chỉ vừa với vùng có dữ liệu. Hãy làm như sau. Nhưng trước hết, hãy back up bảng tính lại.
Gỡ bỏ những định dạng trên những dòng cột thừa Bước đầu tiên là xác định bằng tay và mắt ô cuối cùng bên phải ở dưới, có chứa dữ liệu. Đừng có mà dùng phím Ctrl+ mũi tên xuống hoặc Ctrl + mũi tên qua phải, hoặc dùng Find → Select → Go To Special → Last Cells, cách này sẽ chỉ tới ô cuối cùng có định dạng, không phải ô cuối có dữ liệu. Khi đã xác định bằng mắt ô cuối chứa dữ liệu thì click chọn nguyên dòng kề dưới ô đó. Lúc này mới nhấn Ctrl + Shift + mũi tên xuống để chọn toàn bộ những dòng bên dưới vùng có dữ liệu. Sau đó dùng lệnh Clear → All để xoá vùng này.
Tương tự, khi xác định ô cuối có chứa dữ liệu xong, nhấn chọn nguyên cột liền kề bên phải, nhấn tiếp Ctrl + Shift + mũi tên qua phải để chọn toàn bộ cột bên phải. Sau đó lại dùng lệnh Clear → All để xoá vùng này. Không nên dùng lệnh xoá dòng hoặc cột, vì có thể có những công thức tham chiếu đến chúng.
Lưu bảng tính lại và thử xem kích thước file trong Property, bằng cách chọn Office button → Prepare → Properties → Document Properties → Advanced Properties (Excel2003: File → Properties… → General).
CCHHIIÊÊUU 1155
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
48 Giảm kích thước file Excel bị phình to bất thường
Xoá Macro Không phải là xoá hẳn Macro, mà chỉ gỡ chúng ra ngoài file Excel. Có một cách nhanh, không gây hại đó là Export tất cả các Module và UserForm vào đĩa cứng. Nhấn Alt+F11 vào cửa sổ VBA. nhấn chuột phải vào từng module, chọn Remove Module (tên module). Trong thông báo hiện ra nhấn Yes, và chọn một thư mục để lưu lại. Làm tiếp cho từng cái Form, đừng quên cả những Macro lưu trữ trong Sheet hoặc Workbook. Sau khi đã xoá xong, lưu bảng tính lại.
Sau đó, cũng trong cửa sổ VBA, vào menu File → Import File và Import hết những Module và Form hồi nãy. Làm như vậy, ta vẫn có thể sử dụng Form và Macro, nhưng mỗi cái như vậy sẽ tạo một file text, và ngăn chặn những thứ linh tinh mà Macro mang theo.
Điều chỉnh vùng dữ liệu nguồn Nếu sau khi làm những bước trên mà kích thước file của bạn không giảm được bao nhiêu, hãy kiểm tra dữ liệu nguồn của Pivot Table và Pivot Chart. Một vài người thường sử dụng nguyên cả cột dữ liệu để làm nguồn cho Pivot table, chỉ để phòng xa sau này có thêm dữ liệu cập nhật vào dù chỉ vài dòng. Nếu nhất thiết phải phòng xa như vậy, tốt hơn bạn dùng name động.
Làm sạch các Sheet Trong các Sheet của bạn có thể tồn tại những định dạng thừa, những style, những autoshape thấy được và không thấy được (có khi lên đến hàng trăm hoặc hàng ngàn). Để tìm ra những autoshape hoặc object ẩn bạn phải vào Option của Excel sửa lại.Với mỗi phiên bản của Excel, cách sửa có khác nhau chút ít:
Hình 39 - Chỉnh Option để Show All Object trong Excel 2007
Chương 1 – GIẢM BỚT NHỮNG CỰC NHỌC KHI LÀM VIỆC VỚI BẢNG TÍNH
Giảm kích thước file Excel bị phình to bất thường 49
Hình 40 - Chỉnh Option để Show All Object trong Excel 2003
Hoặc bạn có thể nhấn Ctrl+G → Special → Object để chọn một lúc nhiều object (hình 41).
Sau khi đã xác định được những autoshape hoặc object ẩn không cần thiết, bạn có thể xóa chúng. Trong một số trường hợp, bảng tính của bạn sẽ giảm kích thước đáng kể. Ngoài các autoshape hoặc object ẩn không cẩn thiết, còn có những cái không nhìn thấy trong Sheet, mà bạn có thể cần phải làm sạch đi.
Trước tiên, bạn hãy backup bảng tính. Unhide toàn bộ Sheet ẩn và cả Sheet siêu ẩn (xem lại chiêu số 5). Bây giờ bạn thử xoá lần lượt từng Sheet một (xoá hẳn), lưu lại, rồi vào Property xem lại kích thước.
Nếu sau khi xoá Sheet nào, mà kích thước file giảm đáng kể, thì Sheet đó chứa nhiều rác (không kể dữ liệu). Vậy, khi đã xác định Sheet chứa rác thì bạn phải làm gì?
Bạn hãy mở file backup hồi nãy lên, tạo một Sheet mới toanh, chọn vùng dữ liệu của Sheet chứa rác, dùng lệnh Cut (Ctrl+X) chứ đừng copy, rồi Paste vào Sheet mới.
Bằng cách cắt (Cut) thay vì Copy, Excel sẽ giữ nguyên tham chiếu cho bạn.
Cuối cùng, xóa hẳn Sheet chứa rác.
Hy vọng là sau bài này, các bạn sẽ biết cách xử lý những file có kích thước lớn lạ thường.
Hình 41 - Sử dụng Go To Special để chọn một lúc nhiều Object
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
50 Cứu dữ liệu từ một bảng tính bị lỗi
CCứứuu ddữữ lliiệệuu ttừừ mmộộtt bbảảnngg ttíínnhh bbịị llỗỗii
Khi bảng tính bị lỗi (corrupt), bị hư, nghĩa là bạn bị mất hết dữ liệu, mà nhiều khi sựmất mát này còn đau hơn là mất tiền. Chiêu này sẽ giúp bạn một vài cách để phục hồi lại phần nào dữ liệu trong những bảng tính bị lỗi.
Một bảng tính đôi khi gặp phải những lỗi mà bạn chẳng hiểu vì lý do gì. Điều này có thể đem lại cho bạn những vấn đề trầm trọng, nhất là khi bạn bị hư một bảng tính quan trọng mà bạn chưa hề sao lưu dự phòng. Do đó, bài học đầu tiên là: Luôn luôn sao lưu bảng tính của bạn vào một nơi khác. Nhưng trong thực tế thì không phải ai cũng nhớ điều này, và, có thể là bảng tính của bạn sẽ bị hư trước khi bạn nghĩ đến việc sao lưu! Tuy nhiên, bạn đừng thất vọng quá, vì cho dù bảng tính của bạn bị lỗi, đôi khi bạn vẫn có thể mở được nó ra và có thể làm được cái gì đó...
Khi bạn vẫn còn mở được bảng tính Khi bạn vẫn còn có thể mở được một bảng tính bị lỗi, thì trước khi làm bất cứ điều gì, bạn hãy sao lưu ngay ra một bản khác, nếu không, có thể bạn sẽ mất luôn nó. Vì nếu còn giữ được bản sao lưu, bạn có thể cầu cứu được một sự giúp đỡ chuyên nghiệp hơn, khi bạn không thể làm gì nữa. Và bạn hãy thử từng cách sau đây:
Đầu tiên, bạn hãy mở cái bảng tính bị lỗi đó ra, với phiên bản Excel cao nhất có thể, và lại nhấn lưu thêm một lần nữa, tuy nhiên điều này thì không cần thiết nếu như bạn đang dùng Excel 2007.
Nếu như bảng tính đã làm bằng cách trên đây không hoạt động, bạn hãy cố gắng mở lại lần nữa và lưu nó dưới dạng HTML (Single File Web Page) hoặc HTM (Web Page). Rồi đóng nó lại, và lại mở ra, nhưng lần này thì lưu lại với dạng bình thường (*.xls chẳng hạn).
Hình 42 - Lưu bảng tính ở dạng Single File Web Pages
CCHHIIÊÊUU 1166
Chương 1 – GIẢM BỚT NHỮNG CỰC NHỌC KHI LÀM VIỆC VỚI BẢNG TÍNH
Cứu dữ liệu từ một bảng tính bị lỗi 51
Khi lưu ở dạng HTML hoặc HTM, bảng tính của bạn sẽ bị mất những thứ sau đây
• Với những bảng tính tạo ra từ Excel 2007: − Những tính năng mới của Excel 2007 − Các PivotTable và các biểu đồ (chúng vẫn được lưu lại, nhưng sẽ mất hết
khi bạn mở ra và lưu lại với dạng bình thường của Excel) − Các VBA Project
• Với những bảng tính tạo ra từ những phiên bản trước Excel 2007 (Excel 2003, Excel XP,...): − Những định dạng số chưa dùng đến − Những style chưa dùng đến − Các thiết lập Data Consolidation − Các Seriano − Các công thức sử dụng ngôn ngữ tự nhiên, chúng sẽ được chuyển đổi thành
các tham chiếu dãy bình thường − Các hàm tự tạo − Các định dạng gạch ngang chữ (strikethrough), chỉ số trên (superscript),
chỉ số dưới (subscript) − Các thay đổi có thể hồi phục (bằng lệnh Undo) − Các thiết lập định dạng trang cho các biểu đồ đã được nhúng trong bảng
tính − Các danh sách cài đặt cho các ListBox và ComboBox − Các loại định dạng có điều kiện (Conditional Formatting)
Ngoài ra, các bảng tính được chia sẻ (shared Workbook) trong những phiên bản trước Excel 2007 sẽ không còn chia sẻ được nữa. Với các biểu đồ, những thiết lập cho Value (Y) axis crosses at category number trên tab Scale trong hộp thoại Format Axis sẽ không được lưu, nếu như tùy chọn Value (Y) axis crosses a maximum category được chọn; những thiết lập Vary colors by point trong hộp thoại Format Data Series cũng không được lưu nếu như biểu đồ chứa nhiều hơn một Data Serie.
Cuối cùng, nếu như bảng tính đó vẫn không hoạt động, hãy cố gắng mở lại bảng tính đó một lần nữa, và lần này thì lưu nó với dạng SYLK (loại tập tin có đuôi là *.slk – Symbolic Link). Nhưng hãy nhớ rằng, khi bạn lưu ở dạng này, thì chỉ có Sheet hiện hành (active Sheet) được lưu, do đó, nếu trong bảng tính có nhiều Sheet, bạn hãy làm thêm vài lần, với mỗi lần một Sheet, nhớ đặt tên cho nó sao cho dễ nhận biết. Rồi lại mở cái bảng tính *.slk đó ra, và lưu lại với dạng bình thường (*.xls chẳng hạn).
52
www.giaip
KhNWdữ
Btín
=
Cvềchbảcủ
NdotoExO
SadùđưEx
phapexcel.c
hi bạn khôNếu như bảnWord để mở ữ liệu trong
ạn hãy mở nh bị hư. Ví
'C:\Docume
opy liên kếề cái bảng tho những Shảng tính đã ủa Sheet khi
Nếu hai cáchownload phoolbar, Openxcel (có đếpenoffice.o
au khi đã doùng nó để mược phục hxcel không
com
ông còn mởng tính bị hư
nó. Nghe tbảng tính n
một bảng tíí dụ:
ents and Se
t này vào ntính đã bị hheet khác (nbị hư, bạn ci bạn nhấn E
h trên khônghiên bản minoffice.org ến 96% cá
org).
ownload phmở bảng tínhồi. Tuy nhi
tương thích
Hình 43 - Lưu
ở được bảnư của bạn kthì có vẻ bunày (dĩ nhiê
ính mới, và
ttings\BNTT
những ô kháhư, nó có bnếu cần thiếcứ tạo đại mEnter. Có th
g đem lại ciễn phí của khá giống E
ác công thứ
hiên bản minh bị hư củiên, những h với Openo
u bảng tính ở d
ng tính không thể muồn cười, nhên tất cả nhữ
à tạo cho nó
T\My Docum
ác (số lượngao nhiêu hàết). Nếu bạnmột Sheet vớhể bạn sẽ th
cho bạn điềubộ phần m
Excel, vì nóức trong E
ễn phí của a bạn. TronVBA code
office.org.
ạng SYLK (Sym
mở ra được hưng đôi khững định dạn
ó một Exten
ments\[Cho
g bao nhiêu àng, bao nhn không nhớới đường dẫ
hấy được gì
u gì, bạn hãmềm này vềó được tạo rExcel có th
Openofficeng khá nhiề thì không
CÁC TUY
Cứu dữ liệ
mbolic Link)
nữa, bạn hãhi, bạn có tng, công thứ
nal Link (liê
ookSheet.xls]
thì tùy thuhiêu cột...), ớ được bất kẫn chính xácđó...
ãy vào trang. Ngoại trừ
ra cùng một hể sử dụng
.org, bạn càều trường hợ
còn gì cả,
YỆT CHIÊU C
ệu từ một bả
ãy thử dùngthể copy đưức, v.v... th
ên kết ngoà
s]Sheet1'!A1
ộc vào trí nvà cũng làmkỳ tên Sheec, Excel sẽ
g web Openừ các tên trêt cấu trúc bả
trong bản
ài đặt nó vàợp, dữ liệu vì các VBA
CỦA EXCEL
ảng tính bị lỗi
g Microsoftược một vàihì mất hết).
i) đến bảng
1
nhớ của bạnm tương tựet nào tronghiển thị tên
noffice.org,ên menu vàảng tính vớing tính của
ào máy. Rồicủa bạn sẽ
A code của
L
i
t i
g
n ự g n
, à i a
i ẽ a
Chương 1 – GIẢM BỚT NHỮNG CỰC NHỌC KHI LÀM VIỆC VỚI BẢNG TÍNH
Cứu dữ liệu từ một bảng tính bị lỗi 53
Nếu số bạn quá đen, không thể dùng Openoffice.org để cứu dữ liệu, vẫn còn một cách nữa, nhưng bạn phải mất tiền. Một trong những chương trình có thể phục hồi khá tốt những bảng tính bị hư là Corrupt File Recovery. Bạn hãy tải và cài đặt phần mềm này, chạy chương trình ExcelFix, nhấn Select File, chọn bảng tính bị lỗi, và nhấn Diagnose để phục hồi. Bạn sẽ thấy thành quả của mình, và có thể lưu lại bảng tính, nếu như bạn đã trả tiền bản quyền, còn nếu chưa trả tiền bản quyền, thì bạn chỉ có thể xem chứ không thể lưu lại.
∗∗∗
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
54 Cứu dữ liệu từ một bảng tính bị lỗi
CChhưươơnngg 22
NNHHỮỮNNGG TTHHỦỦ TTHHUUẬẬTT VVỚỚII CCÁÁCC TTÍÍNNHH NNĂĂNNGG CCÓÓ SSẴẴNN TTRROONNGG EEXXCCEELL
Mặc dù Excel cung cấp cho chúng ta nhiều tính năng để quản lý và phân tích dữ liệu, nhưng giới hạn của các tính năng này thường làm cho chúng ta nhiều lúc phải bực mình. Các chiêu trong chương này sẽ cung cấp rất nhiều cách, mà nhờ đó, chẳng những bạn có thể thoát khỏi những giới hạn của các tính năng có sẵn của Excel, mà còn làm cho các tính năng này mạnh mẽ hơn nữa.
Chương 2
Sử dụng Dakhi danh sá
ChnằEx
CáCch
G(htroVa=M
Bch
– NHỮNG T
ta Validationch nguồn nằ
hiêu này sẽằm trong mxcel, cách th
ách 1: Sử dó lẽ cách nhho dãy mà b
Giả sử bạn đhoặc dãy) trong menu Dalidation). ChMyRange. N
ởi vì bạn đãho bất kỳ Sh
CCHHIIÊÊUU 1177
THỦ THUẬT
n ằm trong một
SSửử ddụụkkhhii ddaa
Sử dụng cho một những ddụng quy
ẽ giúp bạn một Sheet kh
hứ hai là sử
dụng Namehanh nhất vbạn sẽ dùng
đã đặt tên crong bất kỳ Data trên Rhọn List troNhấn OK.
ã sử dụng mheet nào.
Hì
T VỚI CÁC T
t Sheet khác
ụụnngg DDaattaaaannhh ssáácchh
Data Validadãy dữ liệu.
danh sách ngy tắc này. Tuy
làm cho Dhác. Cách thử dụng một h
e cho dãy nvà dễ nhất đ
làm quy tắ
cho dãy sẽSheet nào
Ribbon, bạnong danh s
một Name đ
ình 44 - Sử dụn
TÍNH NĂNG
aa VVaalliiddaatthh nngguuồồnn
ation là một Theo mặc đ
guồn nằm try nhiên, vẫn
ata Validatihứ nhất là lhàm để gọi
nguồn để vượt qua c nhập liệu.
dùng làm qmà bạn mu
n chọn Datasách các Al
để làm List,
ng Name làm dã
CÓ SẴN TR
ttiioonn nn nnằằmm ttrro
cách dễ nhấđịnh, Excel chrong cùng mcó cách để lá
ion có thểlợi dụng chra danh sác
rào cản Da.
quy tắc nhậuốn có một a Tools → Dlow, và tro
nên bạn có
ãy nguồn cho D
RONG EXCE
oonngg mmộộtt
ất để áp dụnhỉ cho phép D
một Sheet vớiách khỏi chuy
sử dụng nhhính việc đặch đó.
ata Validatio
ập liệu là Mdanh sách x
Data Validatng khung S
ó thể áp dụn
Data Validation
EL
tt SShheeeett
g một quy tắData Validati dãy dữ liệuyện đó.
hững danh sặt tên cho m
on của Exce
MyRange. Bxổ ra để nhtion (Excel20Source, bạn
ng Data Val
kkhháácc
ắc nhập liệution sử dụng
u sẽ được áp
sách nguồnmột dãy của
el là đặt tên
Bạn chọn ôhập liệu, rồi003: Data →n nhập vào
lidation này
55
u g p
n a
n
ô i
→ o
y
56
www.giaip
=I
H
NSh(c
=I
Ch("
Xbạtági
ƯĐ
TiDShvẫcô
Tinằbạch
Hình 45 - Sử
phapexcel.c
INDIRECT(
Hãy chắc chắ
Nếu tên Sheheet trong mchứ không p
INDIRECT(
hỗ khác nha), và một dấ
Xin mở một ạn nên tập tác dụng gì viờ gặp lỗi, k
Ưu điểm vàặt tên cho d
iện lợi của vata Validatheet, tên mớẫn muốn dùông thức.
iện lợi của ằm yên chỗạn lỡ tay xóho đúng...
ử dụng hàm IND
com
"Sheet1!$A
ắn rằng tùy
et của bạn một cặp nháphải Sheet1)
"'Sheet 1'!$
au so với côấu nháy đơn
ngoặc đơnthói quen luvới những tkhi bạn hay
Khuyết đidãy, và dùng
việc đặt têntion. Và đóới sẽ không
ùng công th
việc dùng ỗ đã chọn (Aóa mất vài
DIRECT để chỉ ra
A$1:$A$8").
chọn In-cell
có chứa kháy đơn ('). V), thì bạn sử
$A$1:$A$8"
ông thức hồn (') nữa trư
n: Nếu như uôn luôn bỏtên Sheet nđặt tên She
iểm của cảg hàm INDI
n cho dãy, làó chính là cg tự động c
hức này, bạn
INDIRECTA1:A8 tronhàng (hoặc
a dãy nguồn ch
l drop-down
hoảng trắngVí dụ, giả sửửa công thức
).
ồi nãy là có ước dấu chấm
có thể đượnó vào tron
như Sheet1, eet có khoản
ả hai cách đRECT, đều
à việc bạn thcái bất tiện cập nhật tron phải mở D
, là dãy dùng ví dụ trênc cột) ngay
o Data Validati
khi danh sá
CácHàmthamđại bạnthamchiếkhánàymà ngu
Giảnày$A$Valbướthaythì b
n đang được
g, hoặc có ử tên Sheetc trên lại nh
thêm một dm than (!).
c, khi gặp nng cặp dấu nDMHH... n
ng trắng, hay
đã nêu trêcó cái tiện
hay đổi tên của việc d
ong công thứData Valida
ng làm dann chẳng hạnchỗ chứa N
on
CÁC TUY
ách nguồn nằ
ch 2: Sử dụm INDIREm chiếu đếdiện cho m
n có thể sửm chiếu cụếu đến dữ ác. Bạn có ty để tham ch
bạn sẽ duồn cho quy
ả sử, dãy cy nằm ở $1:$A$8. lidation, bạớc như tôi đy vì gõ tên bạn nhập và
c kích hoạt,
dấu tiếng Vchứa danh
hư sau:
dấu nhấy đơ
những thamnháy đơn. Đnhưng nó sy là có bỏ d
ên lợi và cả cá
Sheet chẳndùng INDIRức dùng IN
ation ra và s
nh sách ngun). Còn nếu
Name, thì b
YỆT CHIÊU C
Sử dụng Datằm trong mộ
ụng hàm INCT() cho ến ô chứa dmột địa chử dụng ô đục bộ, cho d
liệu trong thể sử dụnghiếu đến nơdùng làm y tắc Data V
hứa danh sSheet1,
Để tạo mạn cũng lđã nói ở cácdãy vào troào đó công
và nhấn OK
Việt, bạn psách nguồn
ơn (') sau dấ
m chiếu đếnĐiều này, tusẽ giúp bạn dấu tiếng Vi
ái bất tiện.
ng có ảnh hưRECT, khi b
DIRECT, csửa lại tên S
uồn của bạnu bạn dùng
bạn phải điề
CỦA EXCEL
ta Validationột Sheet khác
NDIRECT phép bạn
dữ liệu textỉ ô. Và rồiđó như môtdù nó tham
một Sheetg tính năngơi chứa dãydanh sách
Validation.
sách nguồntrong dãymột Dala-làm nhữngch 1, nhưngong Source,thức:
K.
phải đặt tênn là Sheet 1
ấu nháy kép
n tên Sheet,uy chẳng có
không baoiệt...
ưởng gì đếnbạn đổi tênho nên nếuSheet trong
n luôn luông Name, màều chỉnh lại
L
nc
n t i t
m t g y h
n y -g g ,
n
p
, ó o
n n u g
n à i
Chương 2
Điều khiển C
Cđinhnh
DBTr
TrToSh
– NHỮNG T
Conditional F
onditional Fiều kiện nàohiều hơn khhững ô này,
ùng một Cạn muốn mrước tiên bạ
rong Excel oggle Buttoheet một cá
CCHHIIÊÊUU 1188
THỦ THUẬT
Formating bằ
ĐĐiiềềuu kk
Mặc dù Cmuốn bậbằng cácToggle B
Formating o đó. Điều hi dùng điều, khi có sự t
Checkbox hmột vùng dữ ạn phải gán
2007, vào on trong Coi. Ở đây, tô
Hình 46
Hình 47
T VỚI CÁC T
ằng checkbo
kkhhiiểểnn CCoo
Conditional Fật hay tắt nóch điều khiểnutton càng g
có từ đời Ekiện có thể
u kiện là côthay đổi giá
hoặc một Tliệu nào đólên Sheet m
tab Developontrol Toolbi làm luôn c
6 - Chọn công c
7 - Chọn công c
TÍNH NĂNG
ox
oonnddiittiioonn
Formating làó bằng ribbon bằng một cgiống hơn).
Excel 97, gáể là một điông thức, dtrị của ô kh
Toggle Butó chỉ hiện ramột Checkb
per, nhấn Inbox (Excel20cả 2 cái.
cụ Checkbox ho
cụ Checkbox ho
CÓ SẴN TR
nnaall FFoorrmm
à một trong nn hay menu checkbox giố
án định dạnều kiện về
dựa vào đó hác.
tton để xea lúc cần xemox hoặc mộ
nsert trong 003: View →
ặc Toggle Butto
ặc Toggle Butto
RONG EXCE
mmaattiinngg bb
những chiêuthì khá bực
ống như mộ
ng cho nhữgiá trị, nhưta có thể th
em và ẩn dm, xem xonột Toggle Bu
Controls →Toolbar → C
on trong Excel 2
on trong Excel 2
EL
bbằằnngg cchhee
u mạnh của Ebội. Bây giờ
t công tắc (h
ững ô nào thưng ta có thhay đổi địn
ữ liệu ng thì biến đutton.
→ chọn ChecControl Toolb
2007
2003
eecckkbbooxx
Excel, nhưngờ ta biến hoáhoặc một cái
hoả một sốhể tuỳ biếnh dạng cho
đi cho rảnh.
ckbox hoặcbox), vẽ lên
57
g á i
ố n o
.
c n
58
www.giaip
thkếFA
Sửa dòng
phapexcel.c
hoát ta khỏi ết quả. NếuALSE hiện l
Hình g Linked Cell tro
com
chế độ Desu bạn khônglên.
Hình 49 - Dùng
48 ong cửa sổ Prop
sign Mode. Vg thích thì đ
g một Checkbox
perties
Đ
Nhấn vào vừa vẽ, Property, sLinked CelCheckbox
Bây giờ kToggle, ôFALSE.
Bây giờ gtrong đó bcòn Field không cầnField 4, trFormatingdetermine Conditional gõ:
= $C$2 =
Nhấn vào Nhấn OK
Và nhấn núđịnh dạng ô
x hoặc một Tog
Điều khiển C
nút Designnhấn thêmsửa dòng Call thành $C$và Toggle
khi bạn clic C2 sẽ lần
giả sử vùngbạn chỉ muthứ 4 thì k
n thì dấu đirong 2007 b→ New Rwhich cellFormating →
FALSE
nút Formatvà OK. N
út Toggle hoC2 chữ trắ
gle Button để x
CÁC TUY
Conditional Fo
Mode, clickm nút Prop
aption thành$2 (cả 2007Button cũng
k chọn Chen lượt có
g dữ liệu củuốn 3 Fieldkhi nào cầni. Bạn đánhbạn vào tab
Rule, chọn tls to forma→ Formula is)
t, định dạngNhấn nút De
oặc click chắng luôn, để
xem và ẩn dữ li
YỆT CHIÊU C
ormating bằ
k chọn cái perty. Tronh View/ Hide
7 và 2003 nhg như nhau)
eckbox hoặcác giá trị
ủa bạn gồmds hiện thườn mới hiện h dấu chọn b Home → tiếp Use a at (Excel2003). Trong ô k
g font chữ esign một họn cái Cheể khỏi thấy
ệu
CỦA EXCEL
ng checkbox
control bạnng cửa sổe, sửa dònghư nhau, cả).
ặc nhấn nútị TRUE và
m 4 Fields,ờng xuyên,ra để xem,vùng chứa
Conditionalformula to
3: Fornat →kế bên, bạn
màu trắng.lần nữa để
eckbox xemchữ TRUE,
L
x
n ổ g ả
t à
, , , a l
o → n
. ể
m ,
Chương 2
Điều khiển C
TắDgitro
TưNBeth
Trsẽcô
=A
Ch
KsốFavà
Bth
– NHỮNG T
Conditional F
ắt mở địnhùng Conditiá trị đặc biong khoảng
ương tự nhNhưng lần n
eginNum vàhí dụ 1.000.
rong vùng dẽ được tô mông thức là:
AND($C8>=
họn cho nó
Kết quả: khi ố trong khoalse, các ô tà EndNum,
Hìn
ạn thấy đấyhể lầm tưởng
THỦ THUẬT
Formating bằ
h dạng màtional Formiệt cho trướ
g cho trước.
hư phần trêày ta đặt Nà $B$2 là E
dữ liệu B5:Bmàu. Vậy dù
=BeginNum
một định d
nhấn Buttoảng (100, 1trở lại bình nên khi tha
nh 50 - Dùng m
y, nếu bạn cg người ta s
T VỚI CÁC T
ằng checkbo
àu cho ô ating nhằm ớc. Excel 2Nhưng biện
n, ta tạo raName cho nóEndNum, vớ
B16, ta muốùng Condit
m, $C8<=En
dạng màu th
on hoặc clic1000) sẽ đư
thường. Đồay đổi 2 số n
ột Checkbox ho
chưa xem bàsử dụng cod
TÍNH NĂNG
ox
tô màu ô th2007 có nhin pháp để m
a một Checó là IsFill chới A2 là giới
ốn giá trị nàtional Form
ndNum, IsFi
heo ý muốn.
ck Checkboược tô màu,ồng thời, vìnày, kết quả
oặc Toggle Butt
ài này mà thde của VBA
CÓ SẴN TR
heo điều kiệiều định dạnmở tắt bằng
ckbox hoặc hẳng hạn. Ti hạn dưới,
ào nằm tronmating như t
ll)
ox thay đổi , các ô còn ì bạn đặt côả tô màu cũn
ton để tắt mở đ
hấy một fileA. Sự thực th
RONG EXCE
ện giúp ta dng khác nhcheckbox l
Toggle BuTa cũng đặtthí dụ 100,
ng khoảng Btrên, chọn v
trạng thái thlại không t
ông thức liêng thay đổi.
định dạng màu
e tương tự chì quá đơn g
EL
ễ tìm được hau cho giá là không có
utton link tt Name chovà B2 là gi
BeginNum vvùng C8:C
hành True, tô. Khi thayn quan đến .
cho ô
của người kgiản phải kh
những ô cótrị số nằmsẵn.
tới ô $C$2.o ô $A$2 làới hạn trên,
và EndNum18, lần này
các ô chứay đổi thànhBeginNum
khác, bạn cóhông?
59
ó m
. à ,
m y
a h
m
ó
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
60 Đánh dấu những ô chứa công thứcbằng Conditional Formatting
ĐĐáánnhh ddấấuu nnhhữữnngg ôô cchhứứaa ccôônngg tthhứứcc bbằằnngg CCoonnddiittiioonnaall FFoorrmmaattttiinngg
Khi một ô có chứa dữ liệu, bạn có thể muốn biết dữ liệu trong ô đơn thuần là dữliệu nhập vào, hay dữ liệu là kết quả của một công thức. Bạn có thể chỉ cần click chọn ô đó và xem trên thanh công thức. Bạn cũng có thể dùng phím tắt Ctrl + ~ đểchuyển qua lại giữa chế độ xem giá trị và xem công thức. Chiêu số 19 này sẽ giới thiệu với bạn một hàm tự tạo, kết hợp với Conditional Formatting để đánh dấu ô chứa công thức. Bằng cách này có thể giúp bạn tìm ra tất cả những ô chứa công thức trong số 10.000 ô mà không phải ngó từng ô một.
Mặc dù bạn có thể dùng một hàm có sẵn của Macro4 trong Conditional Formatting, như sau: trong hộp thoại Conditional Formatting, chọn sử dụng điều kiện định dạng bằng công thức, và gõ công thức: = CELL(“type”, A1); nhưng hạn chế của việc dùng hàm CELL() là công thức sẽ tự tính lại mỗi khi có sự thay đổi nhỏ xíu trong bảng tính, vì CELL() là một hàm thuộc loại volatile. Khi Excel tính lại CELL() cho 10.000 ô như trên sẽ khiến cho bạn bực mình vì chờ đợi. Do đó bạn hãy dùng tuyệt chiêu sau đây, đơn giản, dễ làm và không phải hàm loại volatile. Bạn hãy nhấn Alt+F11 để vào cửa sổ VBA, nhấn chuột phải vào This Workbook để insert vào một Module. Nhập đoạn code sau vào khung soạn thảo:
Function IsFormula (CheckCells As Range) IsFormula = CheckCells.HasFormula
End Function
Do tính chất của Property HasFormula, hàm bạn mới tạo sẽ trả về các giá trị luận lý TRUE, FALSE. Nghĩa là khi bạn gõ vào ô bất kỳ công thức = IsFormula(A1) sẽ cho kết quả TRUE nếu A1 chứa công thức và cho kết quả FALSE nếu A1 chứa giá trị.
Đóng cửa sổ VBA lại, trở về bảng tính. Bây giờ đánh dấu toàn bộ vùng dữ liệu của bạn (có thể chọn dư ra một số cột và dòng, phòng khi bạn cập nhật thêm dữ liệu) sao cho ô A1 là ô hiện hành. Bằng cách như chiêu số 18, bạn hãy vào được chỗ cần thiết để gõ công thức trong hộp thoại Conditional Formatting, và gõ vào:
=IsFormula(A1)
Sau đó định dạng tô màu hoặc đổi màu chữ cho khác những ô còn lại. Sau khi nhấn OK bạn sẽ được kết quả là tất cả những ô chứa công thức sẽ được tô màu. Bây giờ mỗi khi bạn sửa hoặc thêm một ô trở thành công thức, ô đó sẽ có màu. Ngược lại, nếu bạn sửa một công thức thành giá trị hoặc thêm giá trị vào một ô, ô đó sẽ không có màu.
Đôi khi bạn không thấy kết quả, vì anh Bill lanh chanh và chậm hiểu, anh ta cho rằng công thức sử dụng hàm của bạn là một text nên ảnh tự sửa thành : =“IsFormula(A1)”. Vậy bạn phải vào chỗ cũ sửa lại.
Cái Conditional Formatting và cái User Define Function này đơn giản mà thực sự hữu ích, bạn nhỉ!
CCHHIIÊÊUU 1199
Chương 2 – NHỮNG THỦ THUẬT VỚI CÁC TÍNH NĂNG CÓ SẴN TRONG EXCEL
Đếm hoặc cộng những ô đã được định dạng có điều kiện
61
ĐĐếếmm hhooặặcc ccộộnngg nnhhữữnngg ôô đđãã đđưượợcc đđịịnnhh ddạạnngg ccóó đđiiềềuu kkiiệệnn
Chúng ta thường hỏi: "Làm thế nào để tính toán với những ô đã được tô một màu cụ thể nào đó?" Câu hỏi này thường được nêu ra, bởi vì Excel không có một hàm bình thường nào để thưc hiện được nhiệm vụ này; tuy nhiên, nó có thể được thực hiện bằng một hàm tự tạo.
Vấn đề duy nhất xảy ra với việc sử dụng hàm tự tạo, là nó không thể lọc ra bất kỳmột loại định dạng nào đã được áp dụng bởi việc định dạng có điều kiện (conditional formatting). Tuy nhiên, suy nghĩ một tí, bạn vẫn có thể có được kết quả tương tự mà không phải cần đến một hàm tự tạo.
Giả sử rằng bạn có một danh sách dài những con số trong dãy $A$2:$A$100. Và bạn đã áp dụng định dạng có điều kiện cho dãy đó: đánh dấu những ô nào có giá trị nằm trong khoảng từ 10 đến 20. Bây giờ, bạn muốn lấy ra giá trị của những ô thỏa mãn điều kiện mà bạn đã thiết lập, và tính tổng của những ô đã được áp dụng định dạng đó.
Không có gì khó!
Bạn đừng để những kiểu định dạng đã được áp dụng chi phối bạn, nói cách khác, bạn không cần quan tâm những ô đó được định dạng kiểu gì. Bạn chỉ cần quan tâm đến điều kiện để áp dụng định dạng cho chúng (trong trường hợp này, là những ô có giá trị trong khoảng từ 10 đến 20).
Sau đây là một số chiêu để tính tổng theo một hoặc vài điều kiện:
Dùng hàm SUM với công thức mảng Bạn có thể dùng hàm SUMIF() để tính tổng của những ô thỏa mãn điều kiện nào đó, nhưng chỉ một điều kiện mà thôi! Nếu muốn có nhiều điều kiện, bạn phải dùng hàm SUMIFS() trong Excel 2007, hoặc là dùng một công thức mảng.
Ở đây tôi sẽ nói đến công thức mảng, vì nó có thể sử dụng trong hầu hết các phiên bản của Excel.
Với trường hợp đã ví dụ trong bài này, bạn sử dụng một công thức mảng giống như sau:
=SUM(IF($A$2:$A$100>10, IF($A$2:$A$100<20, $A$2:$A$100)))
Khi nhập một công thức mảng, bạn đừng nhấn Enter, hãy nhấn Ctrl+Shift+Enter.
Khi đó, Excel sẽ tự động thêm một cặp dấu ngoặc ở hai đầu công thức, giống như vầy:
{=SUM(IF($A$2:$A$100>10, IF($A$2:$A$100<20, $A$2:$A$100)))}
Nếu bạn tự gõ cặp dấu ngoặc { }, thì công thức sẽ không chạy. Bạn phải để Excel làm việc này cho bạn. Và bạn cũng nên biết điều này: sử dụng công thức mảng có thể làm cho Excel tính toán chậm hơn, nếu như có quá nhiều tham chiếu đến những dãy lớn.
CCHHIIÊÊUU 2200
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
62 Đếm hoặc cộng những ôđã được định dạng có điều kiện
Trên diễn đàn Giải pháp Excel có rất nhiều các bài viết về công thức mảng, bạn có thể tham khảo thêm. Hoặc nếu bạn giỏi tiếng Anh và thích nghiên cứu sâu hơn về công thức mảng, bạn hãy ghé thăm trang web này: http://www.ozgrid.com/Excel/arrays.htm.
Dùng thêm cột phụ Ngoài việc sử dụng công thức mảng, bạn có thể dùng một cột phụ để tham chiếu đến những ô bên cột A. Những tham chiếu này sẽ trả về những giá trị của cột A mà thỏa mãn điều kiện bạn đã đặt ra (ví dụ: > 10, < 20).
Để làm điều này, bạn theo các bước sau:
Chọn ô B2 và nhập vào đó công thức:
=IF(AND(A2>10, A2<20), A2, "")
Kéo công thức này xuống cho đến ô B100. Khi các công thức đã được điền vào, bạn sẽ có những giá trị nằm trong khoảng 10 đến 20 (xuất hiện trong cột B).
Để nhanh chóng "kéo" các công thức vào trong một cột xuống đến ô cùng hàng với ô cuối cùng đã được sử dụng của cột ngay bên cạnh, sau khi nhập công thức trong ô đầu tiên, hãy chọn ô đó, rồi nhấp đúp chuột (double click) vào cái Fill handle (là cái núm chút xíu nằm ở góc dưới bên phải của ô được chọn, mà bạn vẫn thường dùng để "kéo" công thức).
Bây giờ, bạn có thể chọn bất kỳ một ô nào mà bạn muốn xuất hiện tổng của những giá trị thỏa mãn điều kiện đã đề ra, và sử dụng một hàm SUM() bình thường (=SUM(B2:B100) chẳng hạn).
Bạn có thể ẩn (Hide) cột B đi nếu bạn muốn.
Dùng hàm DSUM Cách dùng cột phụ như tôi vừa nói, chắc chắn là chạy tốt rồi. Nhưng, Excel còn có một hàm cho phép bạn sử dụng hai hoặc nhiều điều kiện cho một dãy. Đó làm hàm DSUM().
Để thử nó, bạn dùng lại ví dụ ở trên: tính tổng của những giá trị trong dãy $A$2:$A$100 thỏa mãn điều kiện lớn hơn 10 và nhỏ hơn 20.
Bạn hãy chọn các ô C1:D2, đặt tên cho nó là SumCriteria. Rồi chọn ô C1, nhập vào đó công thức: =$A$1, tham chiếu đến ô đầu tiên của Sheet. Copy công thức đó sang ô D1, bạn sẽ có hai bản sao cho ô tiêu đề của cột A, và những ô này (C1, D1) sẽ được dùng như những ô tiêu đề của vùng điều kiện của hàm DSUM, vùng mà bạn đã đặt tên là SumCriteria (C1:D2).
Trong ô C2, nhập vào biểu thức >10. Trong ô D2, nhập vào biểu thức <20. Rồi tại ô mà bạn muốn có kết quả là tổng của những giá trị thỏa mãn điều kiện vừa nêu, nhập vào công thức sau:
=DSUM($A$1:$A$100, $A$1, SumCriteria)
Chương 2 – NHỮNG THỦ THUẬT VỚI CÁC TÍNH NĂNG CÓ SẴN TRONG EXCEL
Đếm hoặc cộng những ô đã được định dạng có điều kiện
63
DSUM là một hàm có hiệu quả nhất khi bạn làm việc với những ô thỏa mãn nhiều điều kiện; và không giống như mảng, các Hàm cơ sở dữ liệu được thiết kế riêng cho những trường hợp này. Thậm chí khi chúng tham chiếu đến những dữ liệu rất lớn, làm việc với những con số lớn, thì ảnh hưởng của chúng đến tốc độ tính toán là rất nhỏ so với việc dùng công thức mảng.
Dùng hàm SUMPRODUCT Cách này, tôi học được trên Giải pháp Excel.
Cũng với bài toán tính tổng của những giá trị trong dãy $A$2:$A$100 thỏa mãn điều kiện lớn hơn 10 và nhỏ hơn 20.
Bạn hãy chọn ô mà bạn muốn có kết quả là tổng của những giá trị thỏa mãn điều kiện vừa nêu, nhập vào công thức sau:
=SUMPRODUCT(($A$2:$A$100>10) * ($A$2:$A$100<20) * $A$2:$A$100)
Hoặc:
=SUMPRODUCT(--($A$2:$A$100>10), --($A$2:$A$100<20), $A$2:$A$100)
Diễn một cách bình dân, thì hàm SUMPRODUCT sẽ copy khối $A$2:$A$100 ra thành 3 mảng (trong bộ nhớ máy tính):
- Mảng thứ nhất, nếu giá trị trong một ô mà > 10, ô đó sẽ có giá trị là 1 (TRUE), còn không thì bẳng 0 (FALSE)
- Mảng thứ hai, cũng tương tự như vậy, nhưng áp dụng cho những ô có giá trị <20
- Mảng thứ 3 có giá trị trong mỗi ô bằng các giá trị tương ứng trong $A$2:$A$100
Tiếp theo, SUMPRODUCT sẽ nhân từng nhóm 3 giá trị tương ứng trong mỗi mảng với nhau.
Bạn sẽ thấy, chỉ khi nào giá trị trong mảng 1 và mảng 2 là 1, thì giá trị được nhân ra mới bằng giá trị tương ứng trong $A$2:$A$100; còn nếu có một giá trị nào đó trong mảng 1 hoặc mảng 2 mà bằng 0, thì kết quả của phép nhân này sẽ bẳng 0.
Nói cách khác, chỉ những giá trị nào trong $A$2:$A$100 thỏa mãn điều kiện >10 và <20 thì mới được lấy ra.
Cuối cùng, SUMPRODUCT sẽ cộng hết các kết quả của phép nhân ở trên (SUM là phép tính tổng, PRODUCT là phép tính nhân, SUMPRODUCT là tổng của các tích), và đó chính là kết quả mà ta muốn có.
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
64 Tô màu dòng xen kẽ
TTôô mmààuu ddòònngg xxeenn kkẽẽ
Ắt hẳn bạn đã từng thấy bảng tính Excel với những dòng tô màu cách nhau, thí dụdòng chẵn thì tô màu xám, dòng lẻ không tô hoặc tô màu khác.
Trình bày bảng tính tô màu cách dòng như vậy khiến cho bảng tính có vẻ Pro và làm cho người dùng dễ đọc dữ liệu. Bạn có thể định dạng từ từ bằng tay từng dòng, nếu bạn đủ kiên nhẫn, nhưng bạn biết rồi đấy, kiên nhẫn một lần thì chưa đủ. Bạn sẽ phải bực mình khi cần xoá dòng, chèn dòng, cập nhật dữ liệu.
May sao, sử dụng Conditional Formatting có thể giúp bạn thực hiện tô màu nhanh và loại bỏ hết những phiền toái trên sau khi tô màu.
Giả sử bạn có dữ liệu trong vùng A1:H57, và bạn dự trù sẽ cập nhật cho đến hết tháng sẽ khoảng 100 dòng. Vậy bạn đánh dấu chọn khối A1:H100 sao cho ô A1 là ô hiện hành. Dùng cách như chiêu 18, 19, để vào chỗ cần gõ công thức của chức năng Conditional Formatting, và gõ công thức sau:
= MOD(ROW(), 2)
Nhấn Format và chọn màu tô cho dòng lẻ.
Nguyên nhân tô dòng lẻ: Công thức trên sẽ cho các giá trị lần lượt là 1, 0, 1, 0, … đến hết dòng 100, tương ứng với TRUE, FALSE,… và Conditional Formatting sẽ chỉ tô dòng TRUE.
Cũng như vậy nếu bạn muốn tô màu cột cách cột, thì dùng công thức: =MOD(COLUMN(),2)
Nếu bạn có sử dụng ASAP Utilities, bạn cũng có thể làm được như sau:
Vào menu ASAP → Columns & Rows → Color Each n’th row or column in selection. Chọn Row hoặc Column tuỳ ý, chọn màu tuỳ ý, gõ 2 trong ô Steps, đánh dấu vào mục chọn Conditional Formatting.
Khi đó, công thức của Condition sẽ là: = MOD(ROW() - 1, 2*1) + 1 <= 1
Công thức trên có vẻ hơi phức tạp, nhưng nếu rút gọn là: = MOD(ROW() - 1, 2) = 0 thì hiệu quả vẫn tương tự. Sở dĩ nó phức tạp, là để có thể thay đổi phương pháp tô màu theo Step đã chọn.
Thí dụ khi chọn Step = 3, cách 2 dòng tô 1 dòng, nghĩa là chỉ tô màu cho những dòng có công thức là: MOD(ROW() - 1, 3) = 0
Mặc dù phương pháp này dễ thực hiện, nhưng không linh hoạt: Tất cả các dòng lẻ từ 1 đến 100 đều bị tô màu, dù có dữ liệu hay không. (nhớ lại, dữ liệu hiện tại của bạn chỉ đến dòng 57). Vậy có thể chỉ tô tự động đến hết dòng cuối có dữ liệu, còn những ô chưa có dữ liệu chỉ bị tô màu sau khi nhập liệu không? Hãy xem cách sau đây.
CCHHIIÊÊUU 2211
Hình 51 - Hộp thoại New Formatting Ruler với hàm MOD để tô màu cho những dòng lẻ
Chương 2
Tô màu dòn
TôVAxí
=A
Ý
– NHỮNG T
ng xen kẽ
ô màu độnVẫn giả sử bạA1 là ô hiện
íu xiu (chú ý
AND(MOD(
Ý nghĩa công
Bổ suBạn choạt.
Bạn s
THỦ THUẬT
ng ạn có dữ liệhành. Bạn
ý chỗ tham
(ROW(), 2),
g thức này l
ung: Tô màchỉ cần sửaThí dụ với
sẽ có kết quả
T VỚI CÁC T
ệu trong vùnsửa công tchiếu tuyệt
COUNTA($
à: Chỉ tô m
àu cách 2 da công thức các công th
ả như hình s
TÍNH NĂNG
ng A1:H57,thức trong Ct đối cột và
$A1:$H1))
àu những d
dòng tô 1, ASAP cho
hức như hình
Hìn
sau, dòng n
Hìn
CÓ SẴN TR
, bạn đánh dConditional tương đối d
òng lẻ và có
hoặc tô xephù hợp, k
h sau:
nh 52
nào không có
nh 53
RONG EXCE
dấu chọn khFormatting
dòng):
ó dữ liệu.
en kẽ 3 màkết hợp với
ó dữ liệu th
EL
hối A1:H10g đã nói ở t
àu trở lên i COUNTA
hì không tô m
0 sao cho ôtrên lại một
() cho linh
màu:
65
ô t
66
www.giaip
Hlê
TrtínFo
Trrằlự(h
phapexcel.c
Hãy bắt đầu vên trên giống
rong một bảnh). Dưới Cormat → Cells
rong hộp Liằng màu đượựa chọn nàyhình 54).
CCHHIIÊÊUU 2222
com
TTạạoo hh
Bất cứ khứng dụngđược tạonày một Excel 200lại để sử
với một ví dg như một n
ảng tính trốCell Options → Border).
ine, chọn được chọn là my). Bây giờ
hiiệệuu ứứnngg
hi nào bạn ng, chẳng hạn
o ra bởi cáchcách dễ dàn
07 đã đưa vàdụng vào bấ
dụ đơn giảnnút lệnh (bu
ống, bạn chọns ở tab Ho
Hoặc các b
ường dày nmàu đen (hoclick chọn
g 33DD ttrroonn
nhìn thấy mộn như Excel,
h định dạng ng bằng cáchào các styles cất cứ khi nào
n, chúng ta utton).
ọn ô D5. (Bome, chọn Fbạn có thể cl
nhất thứ 2 (boặc chọn au
n đường viề
Hình
Tạo hiệu
nngg ccáácc bbảả
ột hiệu ứng 3ắt hẳn bạn sđặc biệt. Chí
h định dạng mcủa ô, vì vậy bạn muốn.
sẽ tạo hiệu
Bạn chọn ô DFormat → Flick chuột p
bên phải, thutomatic nếuền bên phải
54
CÁC TUY
ứng 3D trong
ảảnngg ttíínnhh
3D trong mộtsẽ thấy một ính bạn cũngmột ô hoặc mbạn có thể tạ
ứng 3D cho
D5 bởi vì nFormat Cellsphải, chọn F
hứ 3 từ dướu bạn chưa và đường
YỆT CHIÊU C
g các bảng tí
hh hhaayy ccáácc
t chương trìnsự đánh lừa g có thể tạo
một dãy các ạo hiệu ứng 3
o một ô để n
nó không nằs → BorderFormat cells
ới đếm lên).thay đổi mviền bên d
CỦA EXCEL
ính hay các ô
cc ôô
nh hoặc mộtqua thị giác ra hiệu ứngô. Phiên bản3D và lưu nó
nó nhìn nổi
ằm rìa bảngr (Excel2003: → Border.
Chắc chắnặc định của
dưới ở bảng
L
ô
t c g n ó
i
g :
n a g
Chương 2
Tạo hiệu ứn
Qđư
Chchhivi
NtroCeviđưchÔ
– NHỮNG T
ng 3D trong c
uay trở lại vường viền c
họn tab Filhọn OK và tiện nổi lên giền và bóng
Nếu muốn vuong thì chọells → Formiền dày nhấược chọn làho đường vi E5 sẽ bị lõ
THỦ THUẬT
các bảng tính
với box Colcòn lại là đư
l (Excel2003thôi không cgiống như m đổ.
ui hơn và đọn ô E5 (vì mat → Formaất thứ 2 (thứà màu đen ciền ở bên p
õm xuống (h
Hìn
T VỚI CÁC T
h hay các ô
lor để chọn ường viền bê
3: Patterns) tchọn ô D5 nmột button
đa dạng hơnnó kế ô D
at Cells → Bứ 3 bên ph
cho đường vhải và bên
hình 57). Vi
nh 56
TÍNH NĂNG
màu trắng. ên trên và b
Hình
trong hộp thnữa (di chuy(hình 56). B
n, bạn tạo mD5 và sẽ sửBorder (Exceải từ dưới đviền ở trên vdưới ô. Chọiệc này trái
CÓ SẴN TR
Vẫn chọn đbên trái của
55
hoại Formayển con trỏBạn đã làm
một ô nhìn gdụng cho b
el2003: Formađếm lên) trvà bên trái.ọn tab Pattengược với ô
RONG EXCE
đường viền ô (hình 55)
at Cells và chuột sang
m tất cả điều
giống như làbài tập tiếpat → Cells → rong bảng l Chọn màu
erns và chọnô D5 là hiệu
H
EL
dày thứ 2, v.
chọn màu g ô khác). Ôu đó chỉ với
à bị lõm hop theo). Chọ
Border) và cline và chắcu trắng trongn màu xámu ứng nổi lê
ình 57
và chọn hai
xám. Click D5 sẽ xuấti các đường
oặc thụt vàoọn Home →chọn đườngc chắn màug bảng màu. Click OK.
ên.
67
i
k t g
o → g u u .
68
www.giaip
SửKbạcô(Ech
BnhK
phapexcel.c
ử dụng hiệKế tiếp, chúnạn có thể tạông cụ FormExcel2003: xehuột qua ô J
ây giờ chọnhấn chuột tr
Kết quả bạn s
com
Nếu bạn cảmchọn Home cho Style nàhiện tại mặcnày không ctrong các ph
ệu ứng 3D ng ta sẽ làmạo ra cho cmat Painter (em trên thanhJ5, sau đó nh
n vùng D5rái, chọn ô sẽ có như h
Nếu bạn mu→ NewTabmột bảng.
m thấy thích → Styles →
ày vào và clickc dù bạn có thcó trong các phhiên bản trước
cho một bm thí nghiệm
ác bảng ho(biểu tượngh Standard Tohả ra.
:J5 và clickD6, kéo chuình 59.
uốn lưu style cble Style. Với c
thú với Style → Cell Style →
k OK. Chú ý rằnhể kết hợp cáchiên bản trước
c thì bạn vào F
bảng dữ liệm với công coặc các sheeg cái chổi quoolbar). Tron
Hình
k chọn cônuột ngang s
Hình
của bảng này,ác phiên bản t
Tạo hiệu
của ô mà bạn→ NewCell Sty
ng các Styles c Styles này từc Excel 2007. Normat → Sty
ệu cụ này để thets của mìnuét ) dướng khi nhấn
58
g cụ Formasang phải và
59
, bạn chọn Hotrước Excel 20
CÁC TUY
ứng 3D trong
n đã tạo ra. Bạyle, bạn gõ têcủa ô chỉ được
ừ những WorkNếu bạn muốn
yle.
hấy được cánh. Chọn ô ới Clipboard n chuột trái,
at Painter mà kéo xuống
me → Styles007 thì bạn khô
YỆT CHIÊU C
g các bảng tí
ạn lưu lại bằnên mà bạn muc lưu lại ở Wobook khác. Lựn lưu một styl
ác loại hiệu D5 và E5, options trê
, click chọn
một lần nữag ô J15, sau
→ Format aông thể lưu st
CỦA EXCEL
ính hay các ô
ng cách uốn đặt orkbook ựa chọn e của ô
ứng 3D màclick chọn
n tab Homen ô F5 và rê
a. Cùng lúcu đó nhả ra.
s Table tyle của
L
ô
à n e ê
c .
Chương 2
Tạo hiệu ứn
Chràhơ
Bđểtínlà
Hngnh
Nđộm
– NHỮNG T
ng 3D trong c
húng ta đã àng, tuy nhiơn.
ạn cũng có ể tìm ra nhữnh trống để
à khiếu thẩm
Hãy luôn luôghiệp và dễhững ảnh hư
Nếu bạn muốộng, bạn có
mà bạn thích
THỦ THUẬT
các bảng tính
sử dụng miên, bạn có
thể sử dụngững sự kết tạo ra hiệu
m mỹ:
Hình 61 -
ôn nhớ rằngễ cảm nhậnưởng trái ng
ốn tạo ra đi ó thể kết hợ.
T VỚI CÁC T
h hay các ô
một đường vthể tạo ra m
g các đườnghợp có hiệuứng mà bạn
Hì
- Thí dụ dùng đ
g hiệu ứng 3n hơn, nhưngược. Nên n
xa hơn và ợp 3D với đ
TÍNH NĂNG
viền dày đểmột sự tinh
g khác để tạu quả là bạn muốn. Bạ
nh 60 - Thí dụ d
ường kẻ không
3D có thể làng khi chúnnhớ, sử dụng
cung cấp nđịnh dạng có
CÓ SẴN TR
ể chắc rằng tế hơn bằn
ạo ra nhữngạn nên thử vạn chỉ bị giớ
dùng màu khác
g liền nét cho nh
àm cho bảnng được sửg mọi thứ c
những hiệu ứó điều kiện
RONG EXCE
hiệu ứng đng cách sử d
g hiệu ứng hvà kiểm traới hạn bởi sự
c
hững đường kẻ
ng tính dễ đử dụng quá
ó mức độ.
ứng 3D mộn để tự động
EL
được thấy mdụng một đư
hay hơn. Cáa sai sót trênự tưởng tượ
ngang
đọc, nhìn cómức chúng
ột cách tự độg cung cấp
một cách rõường mảnh
ách dễ nhấtn một bảngợng và có lẽ
ó vẻ chuyêng có thể có
ộng và sinhnhiều style
69
õ h
t g ẽ
n ó
h e
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
70 Tạo hiệu ứng 3D trong các bảng tính hay các ô
Bổ sung Bạn có thể dùng chính hiệu ứng 3D cho một ô (đã thực hiện ở trên) để dùng như một button thực thụ, nếu bạn kết hợp với VBA. Giả sử bạn muốn bảng tính của bạn có một button (nổi, đương nhiên), khi nhấn vào nó sẽ chìm xuống và thực thi một macro nào đó. Khi nhấn một lần nữa thì nút này sẽ nổi lên và thực hiện một macro khác hoặc dừng thực hiện macro thứ nhất. Dùng công cụ ghi macro để ghi lại quá trình lập hiệu ứng 3D cho một ô D5, ta được một đoạn code trong module, sửa lại chút đỉnh với một biến Public IsRun để tuỳ trường hợp gán Border thích hợp:
Sub Change1() With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = IIf(IsRun, 2, 0) End With With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = IIf(IsRun, 2, 0) End With With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = IIf(IsRun, 0, 2) End With With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = IIf(IsRun, 0, 2) End With
End Sub
Bây giờ dựa vào sự kiện SelectionChange của Sheet, ta làm cho ô D5 thay đổi border như sau:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$D$5" Then
If Target = "Run" Then Target = "Stop" IsRun = False
Else Target = "Run" IsRun = True
End If Change1 Cells(1, 1).Select
End If End Sub
Thí dụ này chỉ là minh hoạ, không có đoạn code nào được thực thi, nhưng ô D5 đã trở thành một nút nhấn thực sự.
Chương 2 – NHỮNG THỦ THUẬT VỚI CÁC TÍNH NĂNG CÓ SẴN TRONG EXCEL
Bật, tắt chức năng Conditional Formatting bằng một checkbox
71
BBậậtt,, ttắắtt cchhứứcc nnăănngg CCoonnddiittiioonnaall FFoorrmmaattttiinngg bbằằnngg mmộộtt cchheecckkbbooxx
Bạn thường dùng Data Validation để giới hạn dữ liệu nhập vào, hoặc dùng Conditional Formatting để cảnh báo khi nhập dữ liệu trùng. Nhưng đôi khi bạn muốn tắt chúc năng cảnh báo của Conditional Formatting. Có một cách đơn giản để bật tắt chức năng này bằng cách sử dụng một checkbox (xem Chiêu số 18), nhưng ở đây là Conditional Formatting tô màu dữ liệu nhập trùng.
Trong thí dụ dưới đây, bạn sẽ dùng Conditional Formatting để đánh dấu (tô màu) những ô có dữ liệu xuất hiện nhiều hơn một lần trong vùng dữ liệu. Giả sử trong vùng A1:A100 bạn đã thiết lập Conditional Formatting với công thức như sau:
=COUNTIF($A$1:$A$100, $A1) > 1
Bây giờ bạn muốn tuỳ ý bật tắt cái Conditional Formatting này. Trước tiên bạn cùng công cu Form hoặc Control Toolbox, vẽ một cái Checkbox lên Sheet. Thiết lập Property Cell Link cho cái checkbox này là một ô nào đó, thí dụ K1. Ta vào Name box đặt luôn tên cho ô này là IsCheck.
Bây giờ click chọn vùng dữ liệu A1:A100 sao cho ô A1 là ô hiện hành. Thiết lập Conditional Formatting cho vùng này với công thức sau:
=AND(COUNTIF($A$1:$A$100, $A1) >1, IsCheck)
Nhấn nút Format để tô màu theo ý muốn, rồi OK.
Sau khi hoàn thành, khi bạn check vào cái checkbox, ô K1 sẽ thành TRUE, và những ô có dữ liệu trùng sẽ bị tô màu. Trái lại, khi bạn uncheck cái checkbox, ô K1 sẽ có giá trị FALSE, và chẳng có ô nào bị tô màu nữa. Cũng như chiêu số 18, bạn hoàn toàn có thể dùng cái toggle Button làm một cái công tắc bật tắt y như cái checkbox.
Chắc cũng cần nói lại cách mà công tắc này hoạt động: Do công thức của bạn là AND(điều kiện 1, điều kiện 2), nên chỉ cần một trong 2 điều kiện không thoả (=FALSE), nguyên điều kiện chung sẽ False, Conditional Formatting không hoạt động; vì Conditional Formatting chỉ có tác dụng khi điều kiện chung là TRUE.
CCHHIIÊÊUU 2233
Hình 62
72
www.giaip
Exmch
Ncoop
TrchC
BTomch
Nth
phapexcel.c
xcel cung cmột ô. Tronghọn một ngà
Nếu bạn cầnombobox. Nption button
rong thí dụ hủ nhật đến1:C7.
ây giờ bạnoolbars → Fo
một cái Grouhỗ thích hợp
Nhấn chuột phành Numbe
CCHHIIÊÊUU 2244
com
DDùùnngg
Khi làm vcác optio
ấp cho bạn g đó có cônày trong tuầ
n chọn lựa Nhưng, thayn.
sau, bạn hãn thứ hai v
Một cách nhnắm cái fill click vào fillC1.
n vào Deveorms) và nhấupbox bao qp.
phải vào cáer, Weekday
g nnhhiiềềuu LL
việc với nhiềon button để
những cáchg cụ comboần, một thán
trong 3 day vì vậy, b
ãy tạo mộtào vùng B
hanh nhất đểhandle của ô handle của B
eloper → Coấn icon Optquanh 3 cái
ác Option, cy, Month; v
LLiisstt cchhoo mm
ều danh sáchể điều khiển v
h để chọn mobox, từ danng trong năm
anh sách kạn dùng ch
bảng tính, 1:B7, và đi
ể điền 21 ô nà A1 và kéo xu1. Cuối cùng g
ontrols →tion Button.i Option ch
chọn Edit Tà sửa Group
Hình
mmộộtt CCoomm
h, bạn có thểviệc lựa chọn
một thứ tronnh sách xổm, hoặc một
khác nhau, hiêu sau đâ
điền số từ iền tháng từ
ày là hãy gõ 1uống A7. Tiếp gõ Jan vào ô C
Insert → F Vẽ 3 cái O
ho đẹp. Sau
Text, sửa cápbox1 thành
63
CÁC TUY
Dùng nhiều
mmbboobbooxx
ể kết hợp mộmột danh sá
ng một danhxuống của t sản phẩm
bạn sẽ nghây: kết hợp
1 đến 7 vàoừ tháng 1 đ
vào A1. Trontheo, gõ Sun
C1, double-clic
Form ControOption Buttođó vẽ một
ác từ Optionh Select Lis
YỆT CHIÊU C
u List cho mộ
ột combox vớách.
h sách để nhcombobox,trong danh
hĩ rằng bạnmột combo
o vùng A1:Ađến tháng 7
ng khi nhấn gday vào B2, d
ck vào fill han
ols (Excel20on lên Sheet cái Combo
n1, Option 2st (hình 63)
CỦA EXCEL
ột Combobox
ới một nhóm
hập liệu vào, bạn có thểsách.
n cần 3 cáiobox với 3
A7, điền từ7 vào vùng
giữ Ctrl, double-dle của
003: View →et. Vẽ thêmobox ở một
2, Option 3.
L
x
m
o ể
i 3
ừ g
→ m t
3
Chương 2
Dùng nhiều
Nvà
BổCthph
Tath
=C
V
Sử
=A
K
BâHcô
=I
K
=I$F
Tafo
– NHỮNG T
u List cho một
Nhấn chuột pào ô Cell Lin
ổ sung ó một vấn đ
hí dụ số từ 1hải làm gì?
a hãy làm thức sau vào
COUNTA(IN
Với công thứ
ửa tiếp số 7
ADDRESS(
Kết quả hoàn
ây giờ là cáHiện Name Mông thức củ
INDIRECT(
Kế đó thay $
INDIRECT(F$1) & ":" &
a có thể đàormat nó thà
Hìn
THỦ THUẬT
t Combobox
phải vào mộnk.
đề là 3 list 1 đến 10, th
ừ từ nhé, trô G1:
NDIRECT(A
ức trên, G1 s
chết trong
(1, $F$1) &
n toàn mỹ m
ách GPE: dMyRange ca D6:
ADDRESS
G$1 bằng c
ADDRESS& ADDRESS
àng hoàng xành chữ trắn
nh 64
T VỚI CÁC T
ột Option b
không phảihứ trong tuần
rước tiên là
ADDRESS(
sẽ có các gi
công thức ô
":" & ADDR
mãn. Ô D6 s
dấu (bỏ) cáủa ta là =IN
(1, $F$1) &
công thức củ
(1, $F$1) &S(100, $F$1
xoá ô D6 vàng là OK.
TÍNH NĂNG
bất kỳ, chọn
Ở ô D6
=ADDR
Vào Decông th
=INDIR
Nhấn controlink là
Bây githay đcác giVà list
i lúc nào cũn từ Chủ nh
cách dùng
1, $F$1) &
iá trị là 10, 7
ô D6 thành
RESS($G$1
ẽ lần lượt là
ác ô phụ NDIRECT($
& ":" &ADDR
ủa G1:
& ":" & AD1))), $F$1))
à ô G1. Chỉ
CÓ SẴN TR
n Format Co
6 gõ công th
RESS(1, $F
efine Namehức là:
RECT($D$6
chuột phải l, trong Inp$G$8.
iờ khi bạn ổi các giá tiá trị $A$1t trong comb
ũng dài bằnghật đến thứ
ô phụ (tác
":" &ADDRE
7, 12 tương
$G$1 cho đ
1,$F$1)
à $A$1:$A$
$D$6), sửa b
RESS($G$1
DDRESS(CO
ỉ còn một ô
RONG EXCE
ontrol, trong
hức:
F$1) & ":" &
, đặt mới m
6)
vào cái coput Range
chọn một ttrị từ 1 đến
1:$A$7, $Bbobox cũng
g nhau (bằnbảy, tháng
giả cũng dù
ESS(100, $
ứng với F1
động:
$10, $B$1:$
bước thứ nh
, $F$1))
OUNTA(IND
ô F1 là link
EL
g tab Contro
& ADDRESS
một name My
ombobox, vgõ MyRang
trong các opn 3, ô D6 thB$1:$B$7, $g đổi theo.
ng 7 trong ttừ 1 đến 12
ùng 2 ô phụ
$F$1)))
1 là 1, 2, 3.
$B$7, $C$1
hất là thay
DIRECT(AD
k cell của 3
ol, gõ $F$1
S(7, $F$1)
yRange, có
vào Formatge, và Cell
ption, ô F1hay đổi với$C$1:$S$7.
thí dụ trên),2. Vậy ta sẽ
ụ). Gõ công
:$S$12
$D$6 bằng
DDRESS(1,
options, ta
73
ó
t l
i .
, ẽ
g
g
a
74
www.giaip
TrShCVBRa
TạC
Sa
Bư→hộ
=O
phapexcel.c
rước tiên, cheet mới và
CorrespondinVùng A10:A
2:B17 bạn ain, Hot, Co
ại ô C1 nhậCan, Sofa, Sh
BạnA2:AUnivà d
au khi nhập
ước tiếp the→ Define Namộp Name bạ
OFFSET($A
CCHHIIÊÊUU 2255
com
TTạạoo mmtthhaayy đđ
chúng ta cầnà đặt tên là Lng List. Vù
A13 nhập vànhập vào c
old, Warm,
ập vào tiêu đhower và Ca
n có thể dùng A17 → Data que Records O
dán vào vùng C
p xong bạn c
eo là chúng mes → Namạn nhập vào
A$2,0,0,CO
mmộộtt lliisstt xxđđổổii tthheeoo
n chuẩn bịList và tại ô ùng A2:A5 ào từ Showecác từ sau:Trip, Journ
đề Validatioar. Đây là d
chức năng Ad→ Sort & Fil
Only → FilterC2:C5.
có danh sách
ta sẽ định nme Manager
từ Objects.
OUNTA($A$
xxáácc tthhựựccoo ssựự llựựaa cc
một số dữA1 nhập vàbạn nhập v
er. Vùng A1 Tin, Steel,
ney, Bonnet,
on List. Kếdanh sách ch
dvanced Filterter → Advan
r the List in Pla
h như hình
Hình
nghĩa một sr → chọn Ne. Tại hộp Re
$2:$A$20), 1
thay
cc cchhọọnn ttừừ
liệu để thựào tiêu đề Ovào từ Can.14:A17 nhậ, Opener, L, và Boot.
đó, bạn nhậhứa các từ d
r để lọc ra dannced (Excel200ace ➝ OK. Sa
sau:
65
số Name choew (Excel200efer to bạn n
1)
CÁC TUY
y đổi theo sự
mmộộtt lliisstt
ực hành bài Objects. Tại. Vùng A2:ập vào từ CaLid, Bed, Se
ập vào các tduy nhất từ
nh sách duy nh03: Data → Fau đó chép da
o các List tr03: Insert → nhập vào cô
YỆT CHIÊU C
Tạo mộtự lựa chọn từ m
tt kkhháácc
này. Bạn h ô B1 nhập :A9 nhập var. Sau đó, eat, Lounge
từ sau tại cávùng A2:A
hất này bằng Filter → Advaanh sách kết q
rên. Bạn vàName → De
ông thức sau
CỦA EXCEL
t list xác thựcmột list khác
hãy tạo mộtvào tiêu đề
vào từ Sofa.trong vùng
e, Cushion,
ác ô C2:C5:A17.
cách chọn vùanced Filter) →quả lọc duy nh
ào Formulasfine). Trongu:
L
cc
t ề .
g
:
ng → hất
s g
Chương 2
Tạo một listthay đổi the
NAd=$
BNaC
=OC
Titê
Tisa
Đ
– NHỮNG T
t xác thực eo sự lựa chọ
Nhấn nút OKdd) để tạo N$C$2:$C$5
ạn chèn thêame Managorrespondin
OFFSET(INOUNTIF(Ob
iếp tục nhấnên là Val1Ce
iếp tục nhấau khi hoàn
ây là danh s
Hìn
THỦ THUẬT
n từ một list
K sau khi nhName mới. T. Nhấn Clos
êm một Sheer → chọn NngList và tại
NDIRECT(Abjects, Val1
n New (hoặcell và tại Ref
n New để thtất.
sách các Na
nh 66 – Xemda
Hình 67
T VỚI CÁC T
khác
hập xong côTrong hộp se để đóng h
eet mới có têNew (Excel2i Refer to nh
ADDRESS(M1Cell), 1)
c Add trong Efer to nhập
hêm Name
ame mà bạn
nh sách các Nam
TÍNH NĂNG
ông thức trêName nhậphộp thoại lạ
ên là “Shee003: Insert →hập vào côn
MATCH(Val
Excel 2003) đvào =$D$6
mới với tên
n đã tạo:
me trong hộp t
CÓ SẴN TR
ên. Tiếp thep vào tên làại.
et1”. Vào Fo→ Name → Dng thức sau:
l1Cell, Obje
để thêm Namvà nhấn OK
n là Val2Ce
thoại Name Ma
Chúng tathiết, bâynăng Data
Chọn ô $DData → tạValidationthoại DatValidation →
Chọn loạSource nh
=ValList
Đánh dấunhấn OK đ
RONG EXCE
eo, bạn nhấà ValList và
ormular → cefine). Tron
ects, 0) + 1
me mới. TroK.
ell và Refer
nager (Excel 20
a đã chuẩn y giờ đã đa Validation
D$6 trên Shại nhóm Datn → chọn ngta Validatio→ Settings).
ại List tại hhập vào:
u chọn In-cđể hoàn tất
EL
ấn New (Exceà tại Refer t
chọn Definng hộp Name
1, 2, , , "Lis
ong hộp Na
to là =$E$
007)
bị xong cến lúc áp n.
heet1, sau đta Tools bạngăn Settingson (Excel200
hộp Allow
cell dropdow (hình 67).
el2003: nhấno nhập vào
e Names →e, nhập vào
sts")), 0, 0,
ame bạn đặt
$6 nhấn OK
ác thứ cầndụng chức
đó vào ngănn chọn Datas trong hộp03: Data →
và tại hộp
wn, sau đó
75
n o
→ o
,
t
K
n c
n a p →
p
ó
76
www.giaip
ChLi
=C
Đ
Bsá
phapexcel.c
họn ô E6, sst tại Allow
Correspond
ánh dấu chọ
ạn thử chọnách tại ô E6
com
sau đó vào w và nhập và
dingList
ọn vào In-ce
Trong quá trìnsource currennày xuất hiện
n một tên trtùy theo đố
ngăn Settinào trong hộp
ell dropdow
nh thiết lập Datly evaluates t là do ô D6 đa
rong danh sối tượng mà
ngs trong hp Source:
wn và nhấn O
Hình
ata Validationto an error. Dong rỗng.
sách tại ô Dà bạn đang c
Hình
thay
hộp thoại Da
OK.
68
n cho ô E6, bạno you want to
D6 và xem schọn tại D6
69
CÁC TUY
y đổi theo sự
ata Validatio
n sẽ nhận đượccontinue?”. B
sự thay đổi như hình sa
YỆT CHIÊU C
Tạo mộtự lựa chọn từ m
on như trên
c thông báo lỗBạn hãy chọn Y
tương ứng au:
CỦA EXCEL
t list xác thựcmột list khác
n. Bạn chọn
ỗi: “The Yes. Lỗi
trong danh
L
cc
n
h
Chương 2 – NHỮNG THỦ THUẬT VỚI CÁC TÍNH NĂNG CÓ SẴN TRONG EXCEL
Sử dụng chức năng thay thế (Replace) để gỡ bỏ các ký tự không mong muốn
77
SSửử ddụụnngg cchhứứcc nnăănngg tthhaayy tthhếế ((RReeppllaaccee)) đđểể ggỡỡ bbỏỏ ccáácc kkýý ttựự kkhhôônngg mmoonngg mmuuốốnn
Khi nhập dữ liệu hay khi sao chép và dán dữ liệu từ nguồn khác vào Excel thì các ký tự không mong muốn sẽ xuất hiện trong toàn bộ bảng tính của bạn. Sử dụng chiêu này bạn có thể khắc phục được những rắc rối khi gỡ bỏ các ký tự không mong muốn bằng tay. Chức năng thay thế (replace) trong Excel có thể giúp bạn gỡbỏ các ký tự không mong muốn trong bảng tính, nhưng phải qua một vài bước phụ.
Bạn có thể thay thế những ký tự không mong muốn bằng chuỗi rỗng tựa như nó chưa hề tồn tại. Muốn vậy bạn cần biết mã của từng ký tự mà bạn muốn gỡ bỏ. Tất cả các ký tự đều mang một mã riêng và Excel sẽ cho bạn biết nó là gì khi bạn sử dụng hàm CODE.
Hàm CODE sẽ trả về một mã số cho ký tự đầu tiên trong một chuỗi. Mã này tương đương ký tự mà máy tính của bạn đã thiết lập.
Để thực hiện điều này, chọn một trong các ô có chứa những ký tự không mong muốn. Từ thanh công thức, bôi đen ký tự và sao chép ký tự đó.
Tiếp theo chọn ô trống bất kỳ (A1 chẳng hạn) và dán ký tự đó vào ô đã chọn (A1). Tại ô khác, nhập công thức sau:
=CODE($A$1)
Công thức này trả về mã của ký tự không mong muốn.
Sau đó, bạn chọn toàn bộ dữ liệu của bạn, chọn Home → Editing → Find & Select → Replace (Excel2003: Edit → Replace…), ở khung Find what: nhấn phím Alt và gõ số 0 kèm theo code đã đưa ra bởi công thức trên.
Để nhập mã code của một ký tự kèm theo phím Alt, bạn phải dùng bàn phím số (Numeric Keyboard). Bạn không thể dùng dãy phím số dàn hàng ngang ở phía trên. Với bàn phím laptop, bạn phải sử dụng phím Fn để bật bàn phím số và nhập code bằng những phím này.
Nếu mã số là 163 thì nhấn Alt và nhấn 0163 (hoặc bạn có thể để con trỏ chuột tại ô có ký tự không mong muốn, sao chép ký tự đó và dán vào ô Find what cũng được). Bỏ trống khung Replace With và nhấn Replace all.
Việc làm này sẽ xóa bỏ tất cả những ký tự không mong muốn rất nhanh qua việc dò tìm mã ký tự. Lặp lại các bước ở trên cho mỗi ký tự không mong muốn tiếp theo.
CCHHIIÊÊUU 2266
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
78 Chuyển đổi con số dạng văn bản sang số thực
CChhuuyyểểnn đđổổii ccoonn ssốố ddạạnngg vvăănn bbảảnn ssaanngg ssốố tthhựựcc
Đôi khi, nội dung trong một ô trông có vẻ như là một con số, nhưng bạn không thểthực hiện các phép tính với nó. Đây là trường hợp những “con số “ đang được định dạng dưới dạng text. Chiêu này trình một số cách giúp bạn dễ dàng chuyển đổi những con số đang ở dạng text sang số thực để có thể tính toán với chúng.
Các giá trị số (number) trong Excel được mặc định canh lề phải và văn bản (text) thì canh lề trái. Do vậy, cách đơn giản để nhận biết các giá trị số và văn bản trong một cột trên bảng tính là bạn thiết lập chế độ canh lề mặc định cho cột đó.
Bạn vào Home → nhóm Alignment → chọn Format Cells → vào ngăn Alignment (Excel2003: Format → Cells → Alignment) → chọn General tại hộp Horizontal để thiết lập việc canh lề mặc định cho cột đang chọn → nhấn OK để đóng hộp thoại Format Cells lại.
Bạn kéo cột rộng ra một ít để đễ phân biệt việc canh lề, khi đó bạn sẽ thấy các giá trị số, ngày tháng sẽ được canh lề phải và văn bản sẽ được canh lề trái.
Dùng Paste Special để chuyển giá trị số dạng văn bản sang số thực Đây là cách nhanh và dễ dàng nhất để chuyển các giá trị số dang văn bản sang số thực. Các bước thực hiện như sau:
Chọn một ô trống nào đó và nhấn lệnh Copy (Ctrl+C) → quét chọn vùng số liệu dạng văn bản định chuyển đổi (ví dụ như vùng A1:A9 ở hình trên) → nhấp phải chuột và chọn Paste Special… → chọn Add tại nhóm Operation → nhấn OK để hoàn tất.
Việc làm trên sẽ giúp chuyển toàn số các con số dạng văn bản sang số thực, vì ô rỗng có giá trị là 0 và khi bạn cộng bất kỳ số nào vào một con số lưu dưới dạng văn bản trong Excel thì bạn đã làm cho con số dạng văn bản chuyển thành số thực.
Dùng các hàm TEXT để chuyển đổi Bạn có thể áp dụng nguyên tắc như cách trên vào một số hàm có sẵn của Excel để thực hiện việc chuyển đổi. Thông thường, khi bạn dùng một hàm thuộc nhóm Text và kết quả trả về dưới dạng con số thì Excel vẫn xem con số đó là giá trị dạng văn bản.
Giả sử bạn có một vùng dữ liệu A1:A10.
Bạn dùng hai hàm trong nhóm Text là LEFT và FIND để tách các giá trị ra khỏi các chuỗi văn bản như sau:
=LEFT(A1, FIND(" ", A1) -1)
Tuy nhiên, sau khi dùng hàm LEFT để tách phần giá trị ra, thì các kết quả trả về vẫn được Excel xem như là văn bản vì chúng được canh lề trái.
Do vậy, bạn cần phải hiệu chỉnh công thức tách chuỗi trên một ít để kết quả trả về là các con số thực sự, bằng cách cộng thêm số 0 vào sau công thức trên:
=LEFT(A1, FIND(" ", A1) -1) + 0
CCHHIIÊÊUU 2277
Chương 2
Trích xuất d
B
BổVriê
Đ
– NHỮNG T
dữ liệu số tron
ạn hãy nhấn
FunctiDim Dim Dim sTexFor
IlE
NextExtr
End Fu
ổ sung Vẫn còn chú
êng biệt trở
ể giải quyết
FunctiDim Dim Neg Le =
CCHHIIÊÊUU 2288
Hình 70
THỦ THUẬT
ng một chuỗi
TTrríícchh
Bạn thườsố xen lẫhơn. Và cđể có thểtạo viết dạng gì đ
n Alt+F11 đ
ion Extract lCount As sText As lNum As Sxt = rCell lCount = f IsNumeriNum = MidEnd If t lCount ractNumberunction
út vấn đề: nếở lên như ô B
t vấn đề số
ion CtoN(My Kqng, Kqt Sotp As D = 1 = 0
0
T VỚI CÁC T
i bằng VBA
xxuuấấtt ddữữ
ờng lấy dữ liệẫn chữ như: cũng có khi b
ể lấy riêng sốbằng VBA, b
đi nữa.
để vào cửa s
tNumber(rCs Long String String l Len(sTextic(Mid(sTe(sText, lC
r = CLng(lN
Vý
=
T
ếu dữ liệu lB4, kết quả
thập phân, t
ystr As Sttp, Neg ADouble, Le
TÍNH NĂNG
ữữ lliiệệuu ssốố t
ệu từ nguồn “1,254.00VN
bạn đã nhậpố ra bằng các bạn có thể tr
ổ VBA, ins
Cell As Ra
) To 1 Steext, lCounCount, 1)
Num)
Vào lại Exceý, trong ô kế
EXTRACTN
Ta sẽ có kết
là số thập psẽ không n
tôi có một h
tring, Opts Double, As Byte
CÓ SẴN TR
ttrroonngg mm
ngoài, chẳngND” hoặc “USp liệu hỗn hợp
hàm tách chrích xuất riên
sert một Mo
ange)
ep -1 nt, 1)) The& lNum
el, trong ô Bế bên C1 gõ
NUMBER(B
quả như hìn
phân như ô như ý muốn.
hàm khác:
ional Daut Kqtam As
RONG EXCE
mmộộtt cchhuuỗỗ
g hạn từ InteSD 2,500.00”,
ợp text và số khuỗi thông thng phần số r
odule và dán
en
B1 gõ dữ licông thức:
B1)
nh 70.
B5, hoặc d.
tp As StriString
EL
ỗỗii bbằằnngg VV
ernet, trong đ”, thậm chí còkhông theo q
hường. Dùngra, dù cho ch
n đoạn code
iệu số xen l
dữ liệu gồm
ing) As Do
VVBBAA
đó có dữ liệuòn phức tạpquy luật nào
g một hàm tựhuỗi có kiểu
e sau vào:
lẫn text tuỳ
2 nhóm số
uble
79
u p o ựu
ỳ
ố
80
www.giaip
Đ
phapexcel.c
For tS
ENextSele
C
C
End CtoN
End Fu
ể giải quyết
FunctiOption
NewsFor
IC
NextNews
End Fu------
Hình 71
com
i = 1 To am = Mid(MSelect Case
Case 0 TKqtam
Case "-"Neg =
Case DauKqng =Le = 1Mystr Kqtp =Sotp =
End Select t i ect Case LCase 0
CtoN = ICase 1
CtoN = K Select N = CtoN *unction
t vấn đề nhi
ion CtoNPlunal Dautp Astr = Myst i = 1 To f Len(NewsCtoNPlus = t i str = "" unction ---------
Len(MystrMystr, i, e tam To 9 = Kqtam & -1 utp = Kqtam 1 = Right(M= CtoN(Mys= Kqtp * 1
Le
IIf(Kqtam
Kqng + Sotp
* Neg
Ghthahaynếu
Hàvà
iều nhóm số
us(Mystr AAs String)tr sttchuoi str) < 2 T CtoN1st(N
----------
) 1)
& tam
Mystr, Lenstr) 10 ^ (-Len
= "", 0, K
p
hi chú: Khi am số cho by dấu chấmu bạn biết ch
àm này đọc đứng trước
ố khác nhau
As String, As Doubl
Then Exit Newstr, Da
----------
Trích xuất
(Mystr) -
(Kqtp))
Kqtam)
sử dụng hàbiết dấu thậ
m (.). Thí dụhắc là số ng
được cả số số.
u trong chuỗ
sttchuoi e
For utp)
----------
CÁC TUY
t dữ liệu số tr
i)
m này, bạnập phân là ụ =CtoN(“Uguyên thì kh
ố âm nếu ký
ỗi, tôi cũng
As Byte,
----------
YỆT CHIÊU C
rong một chu
n sẽ thêm vàdấu nào, d
USD 14255hông cần th
ý hiệu số âm
có một hàm
_
----------
CỦA EXCEL
uỗi bằng VBA
ào hàm mộtdấu phẩy (,).20”,”.”), vàêm.
m là dấu trừ
m:
L
A
t ) à
ừ
Chương 2
Trích xuất d
Cú
St
– NHỮNG T
dữ liệu số tron
FunctiAs Dou
Dim Dim Neg Le =For
tS
ENextSele
C
C
End CtoN
End Fu
ú pháp hàm
ttchuoi là số
THỦ THUẬT
ng một chuỗi
ion CtoN1stuble Kqng, Kqt Sotp As D = 1 = 0 i = 1 To am = Mid(MSelect Case
Case 0 TKqtam If IsNMid(MyMid(My
NewExi
End IfCase "-"
Neg = Case Dau
Kqng =Le = 1NewStrKqtp =Sotp =
End Select t i ect Case LCase 0
CtoN1st Case 1
CtoN1st Select N1st = Ctounction
m: CtoNPlus
ố thứ tự nhó
T VỚI CÁC T
i bằng VBA
t(ByVal My
tp, Neg ADouble, Le
Len(MystrMystr, i, e tam To 9 = Kqtam &Numeric(Miystr, i + ystr, i + wstr = Righit For f -1 utp = Kqtam 1 r2 = Right= CtoN1st(= Kqtp * 1
Le
= IIf(Kqta
= Kqng + S
oN1st * Neg
s(Mystr , sttc
óm số trong
Hình 72 – Mộ
TÍNH NĂNG
ystr As St
s Double, As Byte,
) 1)
& tam id(Mystr, 1, 1) <> 1, 1) <> ht(Mystr,
t(Mystr, L(NewStr2) 10 ^ (-Len
am = "", 0
Sotp
g
chuoi, [Dau
chuỗi, Dau
t số ví dụ dùng
CÓ SẴN TR
ring, Opti
Kqtam As NewStr2 A
i + 1, 1))"," And _ "." Then Len(Mystr
en(Mystr) (Kqtp))
0, Kqtam)
tp])
utp là ký tự d
hàm CtoNPlus
RONG EXCE
ional Daut
String As String
) = False r) - i)
- i)
dấu phân cá
EL
tp As Stri
And
ách thập phâ
ng) _
ân.
81
82
www.giaip
K(Ech(Ehộ
Mng
Trđóco→
phapexcel.c
Khi chúng taExcel2003: Inshú thích. BạExcel2003: Toộp User nam
Mặc dù chú gười dùng k
rước tiên, bó, các bướcommands fr
→ nhấn OK h
CCHHIIÊÊUU 2299
com
TTùùyy bb
Bạn thườsố xen lẫhơn. Và cđể có thểtạo viết dạng gì đ
a chèn chúsert → Commạn có thể thools → Optionme:
Hình 73 –
thích cho ôkhác, bạn có
bạn cần tùy c thực hiện rom bạn chọhoàn tất (Exc
Hình 74 –
biiếếnn cchhúú
ờng lấy dữ liệẫn chữ như: cũng có khi b
ể lấy riêng sốbằng VBA, b
đi nữa.
ú thích choment), Excelhay đổi điềuns → Genera
– Sửa lại tên ng
ô có mục đó thể tùy biế
biến thanh như sau: O
ọn Smart Arcel2003: gọi t
Đặt thêm nút l
tthhíícchh ccủủ
ệu từ nguồn “1,254.00VN
bạn đã nhậpố ra bằng các bạn có thể tr
ô bằng lệsẽ mặc địn
u này bằng al). Bạn nhậ
ười dùng để làm
đích chính lến nó nhằm
Quick AcceOffice → Exrt Tools → Fthanh Drawing
ệnh lên thanh Q
ủủaa ôô bbảảnn
ngoài, chẳngND” hoặc “USp liệu hỗn hợp
hàm tách chrích xuất riên
ệnh Review nh chèn tên n
cách vào Oập lại đoạn v
m mặc định tro
là hiển thịmục đích là
ess Toolbarxcel Option
Format Tab →g bằng cách V
Quick Access To
CÁC TUY
Tùy biến c
ngg ttíínnhh
g hạn từ InteSD 2,500.00”,
ợp text và số khuỗi thông thng phần số r
→ Commengười dùng
Office → Excvăn bản mặ
ong các chú thíc
các thông bàm rõ hơn c
r (QAT) để ts → Custom→ nhấn nút View → Toolb
oolbar trong Ex
YỆT CHIÊU C
chú thích của
ernet, trong đ”, thậm chí còkhông theo q
hường. Dùngra, dù cho ch
ents → Newg của máy tícel Optionsặc định mon
ch cho ô
báo cho bạchủ ý của bạ
thêm một nmize. Tại hAdd để thêmbars → Draw
cel 2007
CỦA EXCEL
a ô bảng tính
đó có dữ liệuòn phức tạpquy luật nào
g một hàm tựhuỗi có kiểu
w Commentính vào hộps → Popularng muốn tại
n hoặc choạn.
nút lệnh vàohộp Choosem vào QAT
wing).
L
h
u p o ựu
t p r i
o
o e T
Chương 2
Tùy biến chú
Flth
ThMkh
Thsố
ĐCoCoCovà
Hìn
– NHỮNG T
ú thích của ô
low Chart, Chay đổi tức t
hêm ảnh vMột điều cũn
hông làm ản
hí dụ như, bố liệu mà kh
ể thêm hìnomment →omment (Exolors and Là nhấn Inser
nh 75 – Chèn th
THỦ THUẬT
ô bảng tính
Callouts và thì:
Hình
Đối với phiên định và các tùbóng, hiệu ứnchú thích, nhấmuốn.
vào chú thíng khá thú nh hưởng đế
bạn có thể chông cần ph
nh, bạn chọ→ chọn khu
xcel2003: nhấines → tại hrt → OK → O
hêm chú thích c
T VỚI CÁC T
Stars and B
76 – Thay đổi h
bản Excel 200ùy chọn Shadong 3-D trong ấn vào thanh
ích vị là bạn cến các nội d
chèn một đồhải lúc nào c
ọn ô đang ung viền củấp chuột 2 lầhộp Color, cOK.
cho ô
TÍNH NĂNG
Chèn mReviewCommechú thíchú thíc
Để thaynhấp trchế độtừ thantrong c
Banners. Sa
hình dạng của
07 thì việc hiệow Setting đãphiên bản ExcDrawing, chọn
có thể dùngdung khác.
ồ thị vào hộcũng hiện đồ
có chú thíủa hộp chú ần liên tiếp lêchọn Fill Eff
CÓ SẴN TR
một chú thw → tại nent (Excel20ch sẽ xuất hch vào đó (h
y đổi hình ái chuột lênnhập liệu
nh QAT → ccác nhóm hau khi chọn,
hộp chú thích (
u ứng 3-D cho bị loại bỏ. Bạcel trước đó nn nút lệnh Sha
g các hộp c
ộp chú thíchồ thị lên.
ích → nhấpthích → n
ên khung viềfects → chọ
RONG EXCE
hích cho ô nhóm Comm003: Insert →hiện và bạnhình 75).
dạng của hn khung viề→ chọn lệnchọn kiểu hhình Basic , hình dạng
(trong Excel 200
o hộp chú thícạn có thể thaynhư sau: chọn adow Settings
chú thích đ
h nhằm min
p phải chuộnhấp phải cền của hộp cọn nút Selec
EL
bằng cáchments → → Comment)n có thể nhậ
hộp chú thíền của nó đểnh Change hình dạng mShapes, Blhộp chú thí
07)
h được thiết lậy đổi các tùy c
khung viền cs rồi chọn kiểu
ể hiển thị c
nh họa tốt h
ột lên ô →chuột → chchú thích) → ct Picture →
h vào ngănchọn New
). Một hộpập nội dung
ch này bạnể thoát khỏiAutoShape
mong muốnlock Arrow,ích của ô sẽ
ập mặc họn đổ ủa hộp
u mong
các ảnh mà
hơn cho các
→ chọn Edithọn Format
chọn ngăn→ chọn hình
83
n w p g
n i e n , ẽ
à
c
t t n h
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
84 Tùy biến chú thích của ô bảng tính
Hình 77 – Dùng Fill Effects để thêm hình vào trong chú thích
Trích xuất nội dung chú thích Để trích xuất nội dung trong hộp chú thích, chúng ta cần viết một hàm người dùng đơn giản. Bạn nhấn tổ hợp Alt+F11 để vào cửa sổ VBE hoặc vào ngăn Developer → Code → Visual Basic (Excel2003: Tools → Macro → Visual Basic Editor), sau đó vào Insert → chọn Module → nhập vào đoạn mã sau:
Function GetCommentText(rCommentCell As Range) Dim strGotIt As String On Error Resume Next
strGotIt = WorksheetFunction.Clean(rCommentCell.Comment.Text) GetCommentText = strGotIt
On Error GoTo 0 End Function
Vào File → Save (Ctrl+S) để lưu Module, sau đó vào File → Close and Return to Microsoft Excel (Alt+Q) để trở về cửa sổ bảng tính. Bạn vào một ô trống nào đó và nhập vào:
=GetCommentText(B2)
Với B2 là ô đang có chú thích. Nhấn Enter để xem kết quả.
Chương 2 – NHỮNG THỦ THUẬT VỚI CÁC TÍNH NĂNG CÓ SẴN TRONG EXCEL
Sắp xếp theo thứ tự dựa theo nhiều hơn ba cột 85
SSắắpp xxếếpp tthheeoo tthhứứ ttựự ddựựaa tthheeoo nnhhiiềềuu hhơơnn bbaa ccộộtt
Chức năng sắp xếp dữ liệu (sort) trong những phiên bản Excel trước 2007 bị giới hạn với việc chỉ sắp xếp trong phạm vi 3 cột. Trong hầu hết các trường hợp, 3 cột là đủ nhưng đôi khi bạn cần sắp xếp nhiều hơn 3 cột dữ liệu. Chiêu này sẽ giúp bạn vượt qua hạn chế này.
Với ví dụ sau, chúng tôi giả sử bạn có các cột dữ liệu liên quan với nhau A, B, C, D và E, và bạn muốn sắp xếp dữ liệu này đầu tiên theo cột A, tiếp theo là cột B, kế đến là cột C, tiếp nữa là cột D và cuối cùng là cột E.
Để làm điều này, bạn sắp xếp lần lượt theo thứ tự ngược: Sắp xếp theo cột cuối cùng trước và tiếp theo tuần tự ngược đến cột đầu tiên.
Chọn các cột từ A đến E, sau đó chọn Data → Sort. Chọn để sắp xếp theo thứ tự cột C đầu tiên, tiếp theo là đến cột D và sau đó đến cột E. Nhấn Sort.
Bây giờ chọn các cột từ A đến E và chọn Data → Sort. Lúc này, bạn chọn sắp xếp theo thứ tự cột A trước rồi mới đến cột B. Click Sort.
Mọi thứ sẽ được sắp xếp theo thứ tự. Excel đã sắp xếp theo 5 cột thay vì 3 cột.
Nếu bạn muốn Excel tự động làm điều này, bạn có thể sử dụng một macro mà sẽ sắp xếp theo vùng chọn và giả định rằng dữ liệu của bạn có các tiêu đề cột được xác định và định dạng ở hàng đầu tiên của vùng chọn.
Nếu các tiêu đề được in đậm, Excel sẽ biết chúng là các tiêu đề và sẽ không sắp xếp chúng. Thay vào đó, nó sẽ sắp xếp cột đầu tiên bên trái trước rồi mới tới cột bên phải cho đến tối đa là 256 cột.
Đoạn code macro bạn cần sử dụng phải được đặt trong một module chuẩn. Để làm điều này, bạn chọn Tools → Macro → Visual Basic Editor (Hoặc nhấn Alt+F11), sau đó chọn Insert → Module và gõ đoạn code sau vào:
Sub SortByX( ) Dim i As Long For i = Selection.Columns.Count To 1 Step -1
Selection.Sort Key1:=Selection.Cells(2, i), _ Order1:=xlAscending, Header:=xlGuess, Orientation:=xlTopToBottom
Next i End Sub
Để quay lại Excel, bạn đóng cửa sổ code này lại hoặc nhấn Alt+Q.
Ngay khi bạn dán đoạn code này vào, bạn đã có thể thực hiện được việc sắp xếp này: Tô chọn vùng cần sắp xếp, kể cả tiêu đề, rồi chạy code.
CCHHIIÊÊUU 3300
86
www.giaip
ngtạ
Đbảnà
BưRenhlớ
bạnh
phapexcel.c
gẫu nhiên. Tạo ra bộ số n
ể việc chọnảng tính. Mày. Bạn làm
ước này bạnecord Macrohấn F9. Vàoớn hoặc lớn
ạn nhấp chuhiên và bạn
CCHHIIÊÊUU 3311
Hìn
com
SSắắpp xx
Bạn có thvà 3 – từnhất và ccủa Exce
Tuy nhiên cngẫu nhiên m
n lựa được dMỗi khi muốm theo hướng
n sẽ tiến hào (Excel2003o Data → So→ nhỏ).
uột lên nút có thể dễ d
Hàm RAND nhiên. Về mphải luôn lu0.
nh 78
Hình 79
xếếpp nnggẫẫuu
hể dùng Exceừ một danh scông bằng nl.
chúng ta cầnmới.
dễ dàng, chúốn chọn ra g dẫn sau:
ành ghi Mac3: Tools → Maort & Filter
Pick Winndàng chọn ra
trong các phiêmặt lý thuyết, uôn đúng khi p
uu nnhhiiêênn
el để chọn rasách trên bảnnhất, bạn nên
Giả sô A2đến ô
Bây gvà IDnhiên
Hàm sự thanhấn được
n phải tạo m
úng ta sẽ ghnhóm ngườ
cro: Bạn chọacro → Reco→ Sort → c
er thì dữ lia 3 người th
ên bản trước Ehàm RAND ch
phát nhiều số n
một cách ngng tính. Để thn dùng hàm
ử bạn có m bạn nhập
ô A10.
giờ, bạn cóD No. theo cn 3 người th
RAND sẽ đay đổi trên F9 để ép Enhững phầ
một thủ tục
hi một Macrời thắng cu
ọn một ô bấord New Macrchọn sắp xế
Bước tDevelop(Excel20chọn Bumột núMacro vNhấn vàtên, giả
Bạn chọkhông t
iệu của bạnhắng cuộc.
Excel 2003 có hỉ trả về các gngẫu nhiên vì
CÁC TUY
gẫu nhiên bahực hiện điềRAND kết hợ
một bảng dữvào: =RAN
ó thể sắp xếcột A và từ hắng cuộc.
được tự độnbảng tính, dxcel tính toần tử trongsắp xếp lại
ro và gán nóuộc thì bạn
ất kỳ và vàoro…). Chọn ếp cột A the
tiếp theo, per → nhóm03: View →utton (Form
út trên bảnvừa ghi → ào nút vừa tsử là Pick W
ọn cột A vàthấy các số
n sẽ được sắ
tồn tại lỗi trongiá trị từ 0 đếđôi khi hàm t
YỆT CHIÊU C
Sắp xếp
a người thắnều này một cáợp với tính n
ữ liệu như hND và sao c
ếp các cột Nđó chọn ra
ng tính lại do vậy chún
oán lại và từg danh sáchi dữ liệu sau
ó vào một nchỉ cần nhấ
o Developer4 cột A, B,
eo thứ tự tù
bạn hãy m Controls Toolbars →
m Control) vng tính →
nhấn OK đtạo, đặt choWinner (hìn
à ẩn nó để nố ngẫu nhiêắp xếp một
ng việc phát sến 1, điều này trả về giá trị n
CỦA EXCEL
p ngẫu nhiên
g cuộc – 1, 2ách dễ dàng
năng sắp xếp
hình 78. Tạichép xuống
Name, Ageđược ngẫu
mỗi khi cóng ta có thểừ đó chọn rah một cáchu khi Excel
nút lệnh trênấn nút lệnh
r → Code → C và D rồi
ùy ý (nhỏ →
vào ngăns → Insert→ Forms) →và vẽ thành→ chọn tênđể hoàn tất.o nó một cáinh 79).
người dùngên. Mỗi lầnt cách ngẫu
số ngẫu không
hỏ hơn
L
n
2 g p
i g
e u
ó ể a h l
n h
→ i
→
n t
→ h n . i
g n u
Chương 2
Thao tác trê
Dliệth
Abạtrêbấ
NKlàtốđicánh<=
C
– NHỮNG T
ên dữ liệu với
ù cho bị hạệu lên màn
hông tin cần
Advanced Fiạn phải sắp ên cùng bảnất cứ ô nào
hững trườKhi sử dụng àm tiêu chí lốt nhất bạn niều kiện lọcác cột mà bạhững điều k=, <>.
ác điều kiện
CCHHIIÊÊUU 3322
THỦ THUẬT
i Advanced F
TThhaaoo
Nếu bạnAutoFiltelà một ch
ạn chế, Autohình theo m
n thiết khi dù
ilter sẽ hữu xếp dữ liệu
ng dữ liệu, của bảng dữ
ờng hợp đơAdvanced Flọc, nên bạnnên dùng m cũng đúngạn muốn làm
kiện lọc. Nh
Xin nói thêmhoặc OR) chchỉ có thể kế
Ghi nhớ mộkiện AND sẽmột tiêu chí
n OR:
Hình 80
T VỚI CÁC T
Filter
ttáácc ttrrêênn
n đã quen vớer. Nếu bạn chọn lựa tốt.
oFilter cũngmột vài điềùng AutoFi
dụng hơn nu đúng chudùng một dữ liệu.
ơn giản Filter cho nn sẽ phải co
một công thứg, dù cho bạnm tiêu chí l
hững điều k
m, Excel 2003ho một cột. Hơết hợp bằng to
ột điều rằng nẽ sắp theo hàní, thì phải dùn
0 – Lọc dữ liệu
TÍNH NĂNG
nn ddữữ lliiệệuu
ới công cụ Acần xử lý chọ
g đã là một ều kiện nàolter.
nhiều. Tuy ẩn như đã n
dòng duy nh
những trườnopy tiêu đềức chẳng hn có thay đổlọc. Sau đó
kiện lọc sẽ d
và kể cả Exceơn thế, nếu bạoán tử AND giữ
hững điều kiệg ngang. Do đg một tiêu đề
bằng Advanced
CÓ SẴN TR
u vvớớii AAddvv
uto Filter, bạọn lọc dữ liệu
công cụ hữuo đó. Nhưng
nhiên nếu nói ở Lời nhất làm tiêu
ng hợp đơn cột dán vàoạn như =A4ổi tiêu đề cộngay dưới
dùng những
el 2007 chỉ có n muốn lọc dữữa các điều kiệ
ện OR cần sắp đó nếu bạn cần
cột trên 2 ô.
d Filter với điều
RONG EXCE
vvaanncceedd FF
ạn hẳn đã thu ngoài giới h
u ích để chỉg đôi khi bạ
bạn muốn dnói đầu: chừđề bảng dữ
giản, bạn sẽo chỗ nào đ4 để bảo đảột. Dùng cômỗi tiêu đề
g toán tử so
thể lọc một lữ liệu theo 2 tện của 2 cột.
xếp theo chiền lọc theo 2 đi
u kiện tại C2 ho
EL
FFiilltteerr
hấy những hhạn này, Adv
ỉ thể hiện mạn không th
dùng Advanừa ít nhất 3 ữ liệu, và kh
ẽ phải dùngđó trên dòngảm rằng bất ông thức nàyề (dòng 2, v
sánh như:
lần 2 điều kiệiêu chí trên 2
ều đứng, nhữnều kiện AND v
ặc C3
hạn chế củavanced Filter
một phần dữhể chọn lọc
nced Filter,dòng trống
hông merge
g tiêu đề cộtg 1. Nhưngcứ lúc nào
y cho tất cảvà 3) bạn để=, >, <, >=,
n (AND cột, thì
ng điều và cùng
87
a r
ữ c
, g e
t g o ả ể ,
88
www.giaip
C
K
phapexcel.c
ác điều kiện
Kết hợp AND
com
Hình 81
n AND:
Hình 8
Hình 8
D và OR:
1 – Lọc dữ liệu
82 – Lọc dữ liệu
83 – Lọc dữ liệu
bằng Advanced
u bằng Advance
u bằng Advance
Tha
d Filter với điều
ed Filter với điề
ed Filter với điề
CÁC TUY
ao tác trên d
u kiện tại C2 ho
ều kiện tại C2 và
ều kiện tại C2 và
YỆT CHIÊU C
dữ liệu với Ad
ặc C3
à D2
à D2
CỦA EXCEL
vanced Filter
L
r
Chương 2
Thao tác trê
Nta
NBdưhã
Tlưvù
=D
K
– NHỮNG T
ên dữ liệu với
Hình 85 -
Những thí dụa sẽ áp dụng
hững trườất cứ khi nưới đây, bạnãy đặt một t
hí dụ 1: Cũương nhỏ hơùng Criteria
D6<AVERA
Kết quả ở C2
THỦ THUẬT
i Advanced F
Hình 84 - Lọc
- Lọc ra tất cả n
ụ đơn giản tg Advanced
ờng hợp phnào áp dụngn phải nhớ ktên cho điều
ũng với dữ lơn mức lươa, ở hình 86
AGE($D$6:$
2 sẽ là TRUE
T VỚI CÁC T
Filter
ra tất cả nhữnghoặc
hững người thu
trên đây, nếFilter cho v
hức tạp g Advancedkhông dùngu kiện, hoặc
liệu như đã ơng trung bì, tôi nhập cô
$D$22)
E hoặc FAL
TÍNH NĂNG
g người thuộc bc những người t
uộc bộ phận KT
ếu biết cáchvài thí dụ m
d Filter cho g tiêu đề củac để trống.
làm thí dụình, thì bạnông thức nà
LSE, bạn đừ
CÓ SẴN TR
bộ phận KT có mthuộc bộ phận H
T hoặc bộ phận
, bạn vẫn cómà AutoFilte
điều kiện la bảng dữ li
ở phần trướn dùng côngày tại ô C2)
ừng quan tâm
RONG EXCE
mức lương từ 40HC
HC mà có mức
ó thể sử dụner không làm
là công thứiệu làm tiêu
ớc, để lọc rag thức sau (:
m, mà cứ dù
EL
00 đến 700;
lương từ 400 đ
ng AutoFiltm được.
ức như các u đề cho điều
a những ngư(tại bất kỳ ô
ùng Advanc
ến 700
ter. Bây giờ
trường hợpu kiện. Bạn
ười có mứcô nào thuộc
ced Filter:
89
ờ
p n
c c
90
www.giaip
BK
Lưđố$Dẩn
T
Nchkh
phapexcel.c
Hình 86 – D
ạn cũng có KT mà có mứ
ưu ý rằng Dối. Điều nàD$6:$D$22n dòng. Đó
hí dụ 2:
Nhận thấy rằhỉ một ngườhác, ta dùng
com
Dùng Advanced(giá t
thể kết hợpức lương dư
Hình 8
D6 là một thày là cần t2, hễ giá trị là cách mà
ằng có nhữnời có, ta mg công thức
Filter với công rị ở D2 là giá tr
p thêm điềuưới mức trun
87 - Advanced thuộc bộ phận
ham chiếu tưthiết để Exnào của D6anh Bill ta t
ng mức lươmuốn lọc ra
như sau:
thức tại C2 để ị trung bình tín
u kiện bộ phng bình):
Filter với công t KT mà có mức
ương đối troxcel dò tìm6, D7, … mthực thi Ad
ơng mà nhiềnhững ngư
Tha
lọc ra những ngnh sẵn 468,8235
hận là KT (l
thức tại C2 để llương dưới mứ
ong khi $D$m lần lượt Dmà có kết qudvanced Filt
ều người hưười có mức
CÁC TUY
ao tác trên d
gười có mức lươ5 để tiện theo d
lọc ra những
ọc ra những ngức trung bình
$6:$D$22 làD6, D7, …uả TRUE thter.
ưởng, và có c lương trùn
YỆT CHIÊU C
dữ liệu với Ad
ơng dưới mức trdõi)
g người thu
gười
à một tham … trong vùnhì cho hiện,
những mứcng với một
CỦA EXCEL
vanced Filter
rung bình
uộc bô phận
chiếu tuyệtng cố địnhFALSE thì
c lương màngười nào
L
r
n
t h ì
à o
Chương 2
Thao tác trê
=C
C
=C
Bthlođể
– NHỮNG T
ên dữ liệu với
COUNTIF($
òn nếu muố
COUNTIF($
ây giờ nếu hì làm như ocation, clicể trống vùng
THỦ THUẬT
i Advanced F
$D$6:$D$22
Hìn
ốn lọc nhữn
$D$6:$D$22
Hình
bạn muốn lsau: khi m
k chọn vào g Criteria:
T VỚI CÁC T
Filter
2;D6)>1
nh 88 - Lọc ra n
ng người có
2;D6)=1
h 89 - Lọc ra nhữ
lọc ra chỉ nhmở hộp tho
ô Unique r
TÍNH NĂNG
hững người có
mức lương
ững người có m
hững mức loại Advancerecords only
CÓ SẴN TR
những mức lươ
độc, chỉ mộ
mức lương khôn
lương khônged Filter, hy, chọn thêm
RONG EXCE
ơng giống nhau
ột người có
g trùng với ai h
g trùng nhahãy click vàm ô sẽ copy
EL
u
, ta dùng cô
hết
au, cho ra mào ô Copy
y sang ở ô C
ông thức:
một cột khácto another
Copy To, và
91
c r à
92
www.giaip
K
phapexcel.c
Kết quả:
com
Hình 900 – Sử dụng Uniique records on
Hình
Tha
nly để lọc ra nhữ
91
CÁC TUY
ao tác trên d
ững dữ liệu duy
YỆT CHIÊU C
dữ liệu với Ad
y nhất
CỦA EXCEL
vanced Filter
L
r
Chương 2 – NHỮNG THỦ THUẬT VỚI CÁC TÍNH NĂNG CÓ SẴN TRONG EXCEL
Tạo các định dạng số cho riêng bạn 93
TTạạoo ccáácc đđịịnnhh ddạạnngg ssốố cchhoo rriiêênngg bbạạnn
Excel đã có những định dạng số của riêng nó nhưng thỉnh thoảng bạn cần sử dụng một định dạng số không có sẵn trong Excel. Sử dụng chiêu này, bạn có thể tạo ra các định dạng số mà bạn có thể điều chỉnh cho nhu cầu riêng của bạn.
Trước khi bạn thử những chiêu này, sẽ có ích cho bạn nếu bạn hiểu được làm thế nào Excel nhận biết được các định dạng của ô. Excel nhận biết một định dạng của ô khi có 4 phần sau (từ trái sang phải): số dương, số âm, giá trị 0, và giá trị chuỗi. Mỗi phần được ngăn cách bởi một dấu chấm phẩy (;).
Khi bạn tạo ra một định dạng số cho riêng bạn, bạn không cần phải định dạng tất cả 4 phần này. Nói cách khác, nếu định dạng của bạn chỉ có hai phần thì phần đầu tiên được sử dụng cho cả các số dương và các giá trị 0, trong khi phần thứ 2 sẽ được sử dụng cho số âm. Nếu định dạng của bạn chỉ bao gồm một phần, tất cả các loại số sẽ dùng một định dạng. Chuỗi bị ảnh hưởng bởi các định dạng riêng chỉ khi bạn sử dụng tất cả 4 phần, phần cuối sẽ sử dụng cho chuỗi.
Đừng nghĩ rằng những định dạng riêng chỉ áp dụng chỉ cho các dữ liệu kiểu số. Các định dạng số cũng áp dụng cho các dữ liệu kiểu chữ.
Định dạng riêng cho số được hiển thị ở hình 92 là định dạng tiền tệ chuẩn của Excel, nó chỉ ra số tiền âm là màu đỏ.
Hình 92 – Một ví dụ định dạng số trong Excel
Nếu bạn gõ một số dương tương ứng với một giá trị tiền tệ, Excel sẽ định dạng nó ngay lập tức bao gồm dấu phẩy (,) ngăn cách hàng ngàn, theo sau hai số lẻ thập phân.
Excel sẽ định dạng tương tự cho giá trị âm, ngoại trừ số âm được hiển thị là màu đỏ. Bất kỳ giá trị 0 nào cũng sẽ không có ký hiệu tiền tệ và sẽ được hiển thị hai số lẻ thập phân (0.00). Nếu bạn gõ một chuỗi vào một ô, Excel sẽ hiển thị dòng chữ “Chuỗi hiển thị”, bất kể giá trị thật sự của chuỗi bạn gõ vào là gì.
Điều quan trọng là phải chú ý, việc định dạng một giá trị của ô không ảnh hưởng đến giá trị đích thực của ô. Ví dụ, gõ bất kỳ số nào vào ô A1. Nhấn chuột phải và chọn Format Cells → Number → Custom, và sử dụng bất kỳ định dạng nào ngay tại con trỏ chuột đầu tiên (trong hộp Type), gõ “Hello” (với dấu nháy kép “”). Sau đó nhấn OK. Mặc dù ô hiển thị từ “Hello” nhưng bạn có thể thấy giá trị thật sự của ô bằng cách chọn ô và xem trên thanh công thức (Formula bar), hoặc nhấn F2. Nếu bạn tham chiếu ô này trong một công
CCHHIIÊÊUU 3333
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
94 Tạo các định dạng số cho riêng bạn
thức – ví dụ, =A1+20 – kết quả của ô sẽ dẫn đến định dạng lúc nãy, nghĩa là sẽ trả về kết quả là “Hello” (bạn hãy làm thử, bạn sẽ thấy kết quả ngay tức khắc!)
Nếu bạn đã tham chiếu ô A1 cùng với những ô khác mà có bất kỳ định dạng chuẩn Excel nào – ví dụ, =Sum(A1:A10) – kết quả trả về sẽ vẫn theo định dạng riêng của ô A1.
Excel đưa ra một giả thiết đã được thiết lập trước rằng bạn muốn kết quả của ô đã được định dạng giống như cách tham chiếu đến một hay nhiều ô. Nếu các ô tham chiếu chứa nhiều hơn một loại định dạng thì bất cứ định dạng riêng nào cũng sẽ được ưu tiên trước.
Điều này có nghĩa là, bạn phải luôn luôn nhớ rằng Excel sử dụng một giá trị thật sự của ô để tính toán, và sẽ không lấy giá trị thể hiện của nó.
Điều này có thể tạo ra ngạc nhiên khi Excel tính toán dựa trên các ô đã được định dạng không có số lẻ thập phân hoặc có một vài số lẻ thập phân, thí dụ:
Để thấy được điều này, bạn gõ 1.4 vào ô A1 và 1.4 vào ô A2, định dạng cho cả hai ô là không có số lẻ thập phân theo sau bằng cách bạn chọn vùng A1:A2, click chuột phải, chọn Format Cells → Number, trong khung Decimal Places chọn 0. Sau đó gõ công thức =A1+A2 vào một ô khác. Dĩ nhiên kết quả trả về sẽ là 3 vì Excel đã làm tròn.
Excel có một lựa chọn được gọi là Precision as Displayed, bạn có thể tìm thấy bằng cách chọn Office button → Excel Options → Advanced (Excel2003: Tools → Options → Calculation), nhưng bạn nên biết rằng định dạng này sẽ thay đổi vĩnh viễn các giá trị trong các ô từ đầy đủ các số lẻ thập phân (gồm 15 ký số) đến bất kỳ định dạng nào, bao gồm các số lẻ thập phân, được thể hiện. Nói cách khác, khi bạn đánh dấu chọn Precision as Displayed và nhấn OK thì nó sẽ không trả lại kết quả ban đầu. (Bạn có thể thử nhưng các thông tin về các số lẽ thập phân mở rộng sẽ bị mất đi.)
Ghi chú thêm: để hiểu thêm điều này, bạn làm ví dụ như sau ô A1 bạn gõ 1.53, A2: 2.75, A3: 5.68, A4: 3.25, A5: sum(A1:A4). Kết quả bạn thấy được ở ô A5 là 13.21. Giờ bạn vào Office button → Excel Options → Advanced và chọn Set precision as display. Chọn vùng A1:A4, bạn nhấn nút Decrease Decimal, bạn sẽ thấy phần thập phân bị làm tròn dần lên. Khi còn một số thập phân thì tổng là 13.30; khi không còn chữ số thập phân nào nữa thì tổng là 14. Bây giờ, bạn lại dùng nút Increase Decimal, bạn sẽ thấy phần số lẻ ở sau các số ban đầu bạn gõ vào đã trở thành số 0 hết. Đây là điều bạn nên chú ý khi lựa chọn tùy chọn này. Tuy nhiên nếu ở các ô A1:A4 là công thức thì dữ liệu ban đầu của bạn vẫn còn nguyên. Ví dụ, thay vì gõ trực tiếp ô A1 là 1.53, bạn gõ =1.53 và tương tự như thế cho các ô.
Định dạng mặc định cho tất cả các ô trong Excel là General. Nếu bạn gõ một con số vào một ô, Excel thường sẽ đoán định dạng số nào là phù hợp nhất. Ví dụ, nếu bạn gõ 10% vào một ô, Excel sẽ định dạng ô đó là kiểu Percentage. Trong hầu hết các trường hợp thì Excel đoán khá chính xác nhưng thỉnh thoảng bạn cần thay đổi lại.
Khi sử dụng định dạng cho các ô, hãy tránh việc bị cám dỗ để định dạng canh trái, canh phải hay canh giữa. Theo mặc định các số sẽ được canh phải và chuỗi sẽ được canh trái. Nếu bạn bỏ điều này, bạn có thể nhận biết thoáng qua dù cho ô đó là chuỗi hay số vì trong trường hợp ví dụ trước, ô A1 bạn thấy là chuỗi ("Hello") nhưng thực sự nó là một số.
Mỗi phần của một định dạng được đưa ra sử dụng những mã định dạng riêng của nó. Các mã này ảnh hưởng đến Excel trong việc thể hiện dữ liệu theo cách mà bạn muốn. Vì vậy,
Chương 2 – NHỮNG THỦ THUẬT VỚI CÁC TÍNH NĂNG CÓ SẴN TRONG EXCEL
Tạo các định dạng số cho riêng bạn 95
thí dụ, giả sử bạn muốn số âm xuât hiện trong ngoặc đơn, và tất cả các số, số dương, số âm và số 0 đều hiển thị 2 số lẻ thập phân.
Để làm điều này, bạn click chuột phải chọn Format Cells, tab Number mục Custom, ở khung Type bạn gõ: 0.00_ ;(-0.00)
Nếu bạn muốn số âm màu đỏ, bạn làm tương tự như trên nhưng trong khung Type bạn gõ: 0.00_ ;[Red](-0.00) và chú ý là hãy sử dụng dấu ngoặc vuông ([ ]) trước code. Code sử dụng cho định dạng nói cho Excel biết để tạo ra số màu đỏ. Bạn có thể sử dụng nhiều code định dạng khác nhau trong các mục ở Format cells/number/custom.
Bảng 2-1 đến bảng 2-5 được lấy từ tài liệu của Microsoft đã giải thích những code này.
Bảng 2.1 - Các mã về định dạng số
Mã số Mô tả
General Định dạng số chung (gõ như thế nào thấy như thế ấy)
0 (số 0) Ký hiệu 0 đóng vai trò như số thế chổ cho một ký hiệu số. Ký hiệu 0 chỉ ra rằng nếu số được định dạng không có nhiều ký tự số như số 0 trong mã định dạng thì số 0 sẽ thế chỗ số đó. Thí dụ nếu mã định dạng là 0000.000 thì số 123.45 mà bạn gõ vào sẽ được hiển thị là 0123.450
# Ký hiệu # đóng vai trò như ký hiệu 0 chỉ khác là nó không buộc một ký số phải thế chỗ nếu không có số nào tương ứng. Ví dụ nếu mã định dạng là #,###.## thì số 1234.5 sẽ được hiển thị là 1,234.5.
? Ký hiệu này cũng giống ký hiệu 0 chỉ có khác là nếu trống chỗ thì nó thay bằng một khoảng trắng chứ không phải là số 0. Điều này hữu ích nếu bạn muốn canh thẳng đấu phân cách thập phân trong bảng. Ngoài ra ký hiệu ? trong cũng được sử dụng trong phần định dạng phân số. Ví dụ: # ???/??? thì số được thể hiện sẽ đuợc trình bày chính xác đến 3 con số và nếu có thể giản ước tốt thì nó hiện ra đến mức dưới 3 và có thêm khoảng trắng.
% Nếu bạn sử dụng ký hiệu này, thì khi hiển thị số, Excel sẽ tự động nhân số đó với 100 và thêm dấu này đằng sau.
, (dấu phẩy) Dấu phân cách hàng ngàn.
E+ E- e+ e- Thể hiện một số dưới dạng scientific. Thí dụ: mã là 0.00E+00 thì số 12345.56 được thể hiên 1.23E+04
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
96 Tạo các định dạng số cho riêng bạn
Bảng 2.2 - Các mã định dạng chuỗi
Mã chuỗi Mô tả
$ - + / ( ) : khoảng trắng
Các ký hiệu này, nếu được thể hiện trong mã định dạng, thì sẽ được thể hiện trong phần hiển thị của số đó. Các ký hiệu khác muốn được thể hiện ra thì bạn phải tham khảo ký tự \ bên dưới
\ký tự Đây là ký hiệu đặc biệt không thể hiện trong định dạng, nhưng nó bắt buộc Excel phải thể hiện ký tự tiếp theo sau nó, dù ký tự đó là ký tự gì. Ví dụ: \” thì dấu ” sẽ được thể hiện. Nếu bạn muốn thể hiện dấu \ thì bạn phải ghi trong mã là \\
"text" Trong trường hợp bạn muốn thể hiện một chuổi ký tự sau hay trước một số thì bạn bỏ chuỗi ký tự đó trong dấu ngoặc kép như thế này: "VND" #,##0.00 thì một số bất kỳ sẽ được thêm vào đằng trước “VND”
* Giống như ký hiệu \ nhưng khác một điều là Excel sẽ điền ký tự đứng sau nó cho đến hết chiều dài của ô.
_ (dấu gạch dưới) Ký hiệu này thường được dùng với dạng: _), nó nhắc nhở Excel chèn một khoảng trắng vào vị trí của nó. Ví dụ: trong một định dạng có dấu ngoặc bao quanh số âm, dấu chấm thập phân của một số dương không được canh thẳng hàng với dấu chấm thập phân của số âm, bởi vì số âm sẽ mất nhiều vị trí hơn bên phải dấu thập phân vì phải thể hiện dấu đóng ngoặc. Trong trường hợp này bạn dùng một dấu _ tại cuối phần định dạng của số dương để Excel dành một khoảng trắng sau số dương: một khoảng trắng tương đương với vị trí dấu đóng ngoặc trong số âm. Ví dụ: #,##0_);(#,##0).
@ Ký hiệu @ dùng để chỉ chuổi ký tự được nhập vào ô. Trong ví dụ ở phần trên ký hiệu @ thể hiện những gì đã nhập vào ô.
Bảng 2.3 - Các mã về định dạng ngày tháng năm
Mã ngày Mô tả
M Chỉ ra số tháng mà không có số 0 ở đầu với số tháng có một chữ số. Ví dụ: 1, 2,...12.
Chương 2 – NHỮNG THỦ THUẬT VỚI CÁC TÍNH NĂNG CÓ SẴN TRONG EXCEL
Tạo các định dạng số cho riêng bạn 97
Mm Chỉ ra số tháng và có số 0 ở đầu với số tháng có một chữ số. Ví dụ: 01, 02, 03...12
Mmm Chỉ tháng nhưng là với 3 chữ đầu của tháng (theo tiếng Anh). Ví dụ tháng 1 = Jan
Mmmm Chỉ tháng và hiện đầy đủ tên tháng. Ví dụ tháng 1 = January
D Chỉ ngày với một chữ số đối với số nhỏ hơn 10
Dd Chỉ ngày với 2 chữ số đối với số nhỏ hơn 10, ví dụ: 01, 02,... 22, 23
Ddd Chỉ thứ trong tuần với 3 ký tự. Ví dụ thứ Hai = Mon, thứ Ba = Tue
Dddd Chỉ thứ trong tuần với đầy đủ các ký tự. Ví dụ: Monday, Tuesday, Wednesday...
Yy Chỉ năm với 2 số cuối của năm. Ví dụ: năm 2008 = 08, năm 2009 = 09...
Yyyy Chỉ năm vơi đủ 4 số của năm. Ví dụ: 2008, 2009, 2010....
Bảng 2.4 - Các mã định dạng về thời gian
Mã ngày Mô tả
H Chỉ giờ với một chữ số
Hh Chỉ giờ với 2 chữ số
m Chỉ phút với một chữ số
mm Chỉ phút với 2 chữ số
s Chỉ giây với một chữ số
ss Chỉ giây với 2 chữ số
AM/PM am/pm Hiển thị giờ với 12 tiếng, và hiển thị AM, PM hay bạn cũng có thể dùng am/pm, A/P, a/p, S/C
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
98 Tạo các định dạng số cho riêng bạn
Bảng 2.5 - Các mã định dạng khác
Mã định dạng Mô tả
[BLACK], [BLUE], [CYAN], [GREEN], [MAGENTA], [RED], [WHITE], [YELLOW], [các màu khác tùy bạn chọn]
Dùng để thể hiện màu. Màu bạn chọn phải là màu trong 56 màu của bảng màu.
[giá trị điều kiện] Dùng để ra điều kiện vơi các toán tử so sánh: >, <, =, >=, <= , <> (không bằng). Ví du: [>100] : điều kiện lớn hơn 100
Hãy chú ý đến điểm đặc biệt ở mã định dạng cuối cùng trong bảng 2.5: các toán tử so sánh. Giả sử bạn muốn định dạng số là: 0.00_ ;[Red](-0.00) để hiển thị số âm là màu đỏ và trong ngoặc đơn nếu số nhỏ hơn -100. Để làm điều này, bạn làm như sau:
0.00_ ;[Red][<-100](-0.00);0.00
Mã định dạng [Red][<-100](-0.00) được đặt trong phần số âm tạo nên kết quả này. Việc sử dụng phương pháp này kết hợp với định dạng có điều kiện bạn có thể nhân đôi số điều kiện định dạng có điều kiện từ 3 lên đến 6 điều kiện.
Thường người sử dụng muốn hiện thị giá trị dollar ở dạng chữ. Để làm điều này, ở khung type của Format cells/number/custom, bạn gõ:
0 "Dollars and" .00 "Cents"
Định dạng này sẽ ảnh hưởng đến một số được nhập vào như 55.25 được hiển thị là: 55 Dollars and .25 Cents. Nếu bạn muốn đổi số thành dollars và cents, hãy tham khảo thêm hai hàm tự tạo từ link sau của Microsoft:
http://www.ozgrid.com/VBA/ValueToWords.htm
http://www.ozgrid.com/VBA/CurrencyToWords.htm.
Bạn cũng có thể sự dụng một định dạng riêng để hiển thị các từ như : Low, Average, hay High cùng với số được gõ vào. Đơn giản chỉ việc sử dụng mã định dạng sau:
[<11]"Low"* 0;[>20]"High"* 0;"Average"* 0
Hãy chú ý đên việc sử dụng dấu *. Dấu này sẽ lặp lại các ký tự tiếp theo trong định dạng để điền đầy ô theo độ rộng cột, nghĩa là tất cả các từ Low, Average, hoặc High sẽ bị dồn về bên phải, trong khi số sẽ bị dồn về bên trái.
Chương 2
Tăng thêm s
KUtínhichth
Htừ
Hì
– NHỮNG T
số lần Undo c
Khi bạn sử dUndo bị mờ
nh, thì nút iện trên bảnho rằng bạnhiết phải giữ
H
CCHHIIÊÊUU 3344
ình 93 – Chạy lhộp thoại Run
nh 94 - Tạo mớ
THỦ THUẬT
cho Excel
TTăănngg
Tất cả chta làm lạtrước Excbạn có th
dụng chức đi, không tUndo cũng
ng tính) mà bn đã hài lòngữ lại danh sá
KEY_CURR
lệnh Regedit của Windows
ới môt mục tron
T VỚI CÁC T
tthhêêmm ssốố
húng ta đều đại những saicel 2007, phiêhể tăng số lần
năng Undothể Undo đư
g bị mờ đi, bạn đã thựcg với bảng tách những t
RENT_USE
ng Regedit
TÍNH NĂNG
ốố llầầnn UUnn
đã quen thuội lầm của mên bản chúnn Undo lên n
o của Excelược nữa. Nvà danh sá
c hiện bị mấtính này (thác vụ trước
Bạn có thểnhưng làmlàm cách nThưa rằngđến 100 lần
Để làm điềSau đó bạnhoặc nhấn nhấn OK. hãy tìm đế
ER \ Softwa
CoExnó
N94raU(drồmrồ
Bạtroth
Hbạth
CÓ SẴN TR
ddoo cchhoo EE
ộc với chức nmình. Tuy nhing ta chỉ có thnhiều hơn, có
l, và bạn đãNgoài ra, khách những tất sạch. Đó lì mới nhấn khi lưu nữa
ể thấy rằng,m cách nào nào để tăng , có cách, vn.
ều này, trướn chạy lệnhphím WindKhi bạn đãn khóa:
are \ Microso
on số 11.0 xcel2000 thó là 12.0.
hấn Edit →4). Một mụa trong khunndoHistory,
double-clickồi gõ vào hộ
miễn là lớn hồi thoát Reg
ạn hãy khởong đó, rồi
hể Undo đượ
y vọng rằngạn. Tuy nhihì danh sách
RONG EXCE
EExxcceell
ăng Undo củiên, theo mặhể Undo đượ
ó thể đến 100
ã thực hiệnhi bạn nhấn tác vụ (nhữnlà do khi bạSave), và na.
, quay lui lđể tăng số danh sách c
và bạn có th
ớc hết, bạn h Run của Wow+R), gõ
ã mở được
oft \ Office \
ở trên đây hì nó là 10.
New → DWc mới New ng bên phải, và nhấnk) vào mục ộp thoại mởhơn 16 và nhgedit.
ởi động lại nhấn vào n
ợc bao nhiêu
g Undo 100iên, nếu bạ
h các tác vụ
EL
ủa Excel, choặc định, với ợc 16 lần. Ch
0 lần.
n Undo 16 nút Save đ
ng hành độạn lưu bảng nó thấy rằng
ại 16 lần làlần này lên
các tác vụ chể tăng con
hãy thoát kWindows (St
vào đó Regchương trìn
\ 11.0 \ Exce
có thể khác.0, với Exc
WORD Value Value #1 si, bạn nhập n Enter. UndoHisto
ở ra một conhỏ hơn 100
Excel và nút Undo xu lần nhé.
0 lần, đã là ạn nhấn lưu
có thể Und
phép chúngnhững Exceliêu này giúp
lần, thì nútđể lưu bảngộng đã thực
tính, Excelg không cần
à không đủ,n? Nghĩa làủa bạn lên?
n số này lên
khỏi Excel.tart → Run,
gedit.exe vành Regedit,
el \ Options
c, ví dụ vớicel 2007 thì
e (xem hìnhsẽ được tạovào đó chữNhấn đúpry mới tạo,n số bất kỳ,. Nhấn OK,
thử làm gìxem bạn có
quá đủ chou bảng tính,do vẫn mất.
99
g l
p
t g c l n
, à ? n
. , à ,
s
i ì
h o ữ p , , ,
ì ó
o ,
100
www.giaip
0
Exkhthsáxucò
Btạbằ
RToIm
phapexcel.c
xcel cung chông chỉ chhứ trong tuầách sẽ tự độuống, các ôòn tiếp.
ạn hoàn toàạo list là gõ ằng tiếng V
ồi chọn troools → Optio
mport và nhấ
CCHHIIÊÊUU 3355
com
TTựự ttạạoo
Bằng cácxuống hotuần tự.
cấp cho bạnho số mà cả ần. Bạn chỉộng được điề kế sẽ tự độ
àn có thể tự danh sách iệt, bạn hãy
ng Office bons → Custoấn OK.
H
oo ddaannhh ss
ch tự tạo mộoặc fill ngan
n một khảcho chuỗi. ỉ cần gõ mộền vào với nộng được đi
tạo một Libạn cần vào
y gõ chúng v
button → Exm Lists), tro
Hình 95 – Tự tạ
ssáácchh đđểể ff
ột danh sách,ng bằng cái F
năng tiết kNó có tạo ột từ đầu (cnhững giá tiền là Wed,
st riêng củao các ô. Thvào các ô từ
xcel Optionsong vùng Im
o ra một danh
ffiillll
, bạn có thểFill Handle, d
kiệm đáng sẵn cho bạncó trong Listrị kế tiếp củ, Thu, Fri, S
a bạn để dùnhí dụ bạn cầừ A1 đến A
s → Populamport List in
sách Custom Li
CÁC TUY
chỉ cần gõ mdanh sách sẽ
kể thời gian vài danh sst), rồi kéo ủa List. ThíSat, Sun, M
ng sau này. ần danh sách12.
r → Edit Cun cells, chọ
st
YỆT CHIÊU C
Tự tạo dan
một giá trị đầẽ được tự độ
an cho việcsách: tháng cái Fill Ha
í dụ bạn gõ Mon, và trở
Một cách đh các tháng
ustom Listsọn $A$1:$A
CỦA EXCEL
nh sách để fill
ầu, sau đó fillộng điền vào
c nhập liệu,trong năm,
andle, danhTue, và filllại Tue nếu
đơn giản đểg trong năm
s (Excel2003:A$12. Nhấn
L
l
l o
, , h l u
ể m
: n
Chương 2
Tự tạo danh
Mké
Bsá
– NHỮNG T
h sách để fill
Một khi bạn đéo cái fill H
ạn cũng cóách, một nằm
THỦ THUẬT
đã tạo một Handle, bạn
Hình
ó thể fill giám kế trên tr
Hình 97 – Dan
T VỚI CÁC T
list như vậysẽ được kết
h 96 – Danh sá
á trị ngược rong danh sá
h sách ngày thá
TÍNH NĂNG
y, chỉ cần gõt quả:
ch ngày tháng
chiều nếu ách, tô chọn
áng được tạo ra
CÓ SẴN TR
õ vào một ô
được tạo ra tự đ
bạn gõ 2 gn cả 2 ô rồi
a tự động theo t
RONG EXCE
ô với một gi
động
giá trị, một Fill:
thứ tự ngược lạ
EL
iá trị trong l
nằm dưới
ại
list, rồi nắm
trong danh
101
m
h
102
www.giaip
2
Hình 100 - Cđược in đậm
phapexcel.c
CCHHIIÊÊUU 3366
Hình 98
Các tiêu đề Subtnhưng các giá t
com
LLààmm nn
Khi làm vsubtotal subtotal cột đầu tgây khó cách sử dbiệt và dễ
Tv
Tđ(l
NAcvAn
Tc
total của từng Rtrị Subtotal bên
nnổổii ccáácc SS
việc với Subtrất khó phânxuất hiện bê
tiên và các Sukhăn cho vi
dụng định dạễ đọc hơn.
Trước tiên, vào các số l
Tiếp theo làđặt ô hiện h(Excel2003: Dlập các tuỳ
Nhập RegioAt each chcho mục Usvào mục SaAdd subtotnhấn nút OK
Trong hìnhcác tiêu đề
Region tại cột An cột B thì khôn
SSuubbttoottaall
total trong Exn biệt với cácên phải tập dubtotal lại khiệc đọc các kạng theo điều
chúng ta cầliệu như hìn
à các bạn hhành vào dùData → Subtochọn như sa
on vào trohange in, cse Function,ales trong tal to (hìnK.
h 100, bạn ề Subtotal
RegioA đưnhưngtrị Sucột khôngtập sốthì cũnhiênkhi có
Chúnđịnh động dùng subtochọn vào DAll.
Sau đtại tạ
A ng
ll ccủủaa EExxcc
xcel bằng lệnc số liệu khi cdữ liệu tronghông được đkết quả. Tronu kiện để địn
ần có tập sốnh 98.
hãy tính subùng số liệu votals). Hộp tau:
ong khung chọn Sum , đánh dấu danh sách
nh 99) và
thấy rằng của từng
on tại cột ợc in đậm g các giá
ubtotal bên B thì
g. Đối với ố liệu trên ũng không n chúng ta só nhiều cột
ng ta sẽ dùcác các giávà bạn phlệnh Subto
otal thì bạnô hiện hàn
Data → Out
đó chọn vùnại ô A1, s
CÁC TUY
Làm n
cceell
nh Data Outcó nhiều cột d
g khi tiêu đề cđịnh dạng in đ
ng phần nàyh dạng các S
ố liệu để thự
btotal cho từvà vào Datathoại Subto
quá khó đểẽ khó nhận số liệu hơn
ng định dạá trị Subtotahải thực hiệotal. Do vậyn hãy xoá bnh trong vùntline → Sub
ng A1:B16,sau đó vào
YỆT CHIÊU C
nổi các Subto
tline Subtotdữ liệu. Cụ thcủa nó thườnđậm như cácy sẽ hướng d
Subtotal sao
ực hành. Cá
ừng Regiona → Outline otal xuất hiệ
ể đọc các kbiết ngay c
n.
ạng theo đial in đậm mện điều nàyy nếu đã thựbỏ nó theong kết quả
btotal → chọ
, lưu ý để ôo Home →
Hình 99
CỦA EXCEL
otal của Excel
tal, các dònghể là, các cộtng lại nằm ởc tiêu đề nêndẫn bạn cáccho dễ phân
ác bạn nhập
n bằng cách→ Subtotalện, bạn thiết
kết quả, tuycác Subtotal
iều kiện đểmột cách tựy trước khiực hiện lệnho cách sau:subtotal vàọn Remove
ô hiện hành→ Styles →
L
l
g t
ởn c n
p
h l t
y l
ể ự i h : à e
h →
Chương 2
Làm nổi các
vùRu
BchFo(EFo
=$
Hình 102
– NHỮNG T
c Subtotal củ
ùng số liệu ule và nhấn
ạn phải xoáhọn vùng Aormatting →
Excel2003: Foormat value
$A1= “Gran
Hình 1
2 - Subtotal sau
THỦ THUẬT
a Excel
rồi vào Hon nút Delete
á vùng kết A1:B16, nhớ→ Manage Rormat → Cos where this
nd Total”
101
u khi đã được đị
T VỚI CÁC T
ome → StylRule.
quả Subtotớ chọn ô A1ule → New nditional Fors formula is
ịnh dạng lại
TÍNH NĂNG
Conditionformula toFormat →công thứformula is
=RIGHT($
Lưu ý phdùng thaFormat… → chọn B→ nhấn O
Tiếp theovà vào Damặc định
Do bdụngđịa chcho cB2 sẽ=RIG=RIGnào tdạng kiện.
Cải tCác đcho cphân khác.theo khác
Trướở ph
es → Cond
tal tương tự1 là ô hiện hRule → Use
rmatting… →s true:
CÓ SẴN TR
al Formatto determineConditional
ức sau vào s true:
$A1, 5)= “T
hải cố định m chiếu tư→ vào hộp
Bold tại FonOK → nhấn t
o, bạn chọn ata → Outlin→ OK. Kết
bạn chọn ô g định dạng hỉ tham chicác ô trong ẽ có công t
GHT($A2,5)=GHT($A3,5)=trả về TRUtheo thiết l
tiến định dđịnh dạng tcác dòng có
biệt dòng G. Phần này, điều kiện nhau.
ớc tiên, bạn phần trước bditional Form
ự như hướnhành. Bạn ve a formula t→ Formula Is)
RONG EXCE
ing → Newe which cellFormatting…hộp Form
otal”
cột A (thêương đối
p Format Cent Style và ctiếp OK để t
một ô nào ne → Subtoquả bạn sẽ
A1 là ô mtheo điều kếu trong côvùng chọn. thức định d= “Total” v= “Total”. KE thì ô đó lập trong lện
dạng cho sutheo hướng
ó tính subtotGrand Totalchúng ta cũđể làm cho
phải xoá địnằng cách đmatting → M
ng dẫn ở phvào Home →to determin) và nhập c
EL
w Rules… ls to format→ Formula
mat values
êm $ vào trcho dòng.
ells → chọnchọn màu đtrở về bảng
đó trong votal → để cá
có như hình
mặc định và kiện, Excel ng thức địnVí dụ như
dạng theo đvà các ô A3Khi công thsẽ được ápnh định dạn
ubtotal g dẫn trên sẽtal, do vậy cl với các dòũng sẽ dùngo chúng có
nh dạng theđặt ô hiện Manage Ru
hần trước. S→ Styles →
e which celcông thức s
→ Use at (Excel2003:Is) và nhậpwhere this
rước A) vàNhấn nút
n ngăn Fontđỏ tại Colortính.
vùng số liệuác tuỳ chọnh 102.
sau khi ápsẽ thay đổi
nh dạng trêntại ô A2 vàđiều kiện là3, B3 sẽ làhức trong ôp dụng địnhng theo điều
ẽ như nhaucũng sẽ khóòng subtotalg định dạng định dạng
eo điều kiệnhành trongles → chọn
Sau đó, bạnConditionalls to formatsau tại hộp
103
a :
p s
à t t r
u n
p i n à à à ô h u
u ó l g g
n g n
n l t p
104
www.giaip
4
N→defo
=R
NUn
Cu
phapexcel.c
Nhấn nút For→ nhấn OK.
etermine whormula is tru
RIGHT($A1
Nhấn nút Fonderline →
uối cùng, b
com
rmat → chọnTiếp tục, bạhich cells toue:
,5)=”Total”
ormat ➝ chọnhấn OK →
Trong Excelđầu tiên (=sách các Rul
Hình 103
ạn vào Data
H
n ngăn Fonạn nhấn núto format →
ọn ngăn Fo→ OK. Nhấp
2007, Rule th$A1= “Grandle.
3 – Di chuyển cá
a → Outline
Hình 104 - Subto
t → chọn Bot New Rule (
→ nhập công
ont → chọn tiếp OK để
hêm vào trướ Total”) và nh
ác Rule trong h
→ chọn Su
otal sau khi đã
old tại Font(Excel2003: ng thức sau t
Bold Italicể trở lại màn
c sẽ nằm dướhấn Move Up đ
ộp thoại Condi
btotal → nh
được cải tiến th
CÁC TUY
Làm n
t Style → chnhấn Add) →tại hộp For
tại Font Stn hình bảng
ới cùng. Do vậđể đưa nó lên
tional Formatti
hấn OK và x
hêm một bước
YỆT CHIÊU C
nổi các Subto
họn màu xan chọn Use a
rmat values
tyle → chọntính.
y bạn chọn Rđầu tiên tron
ing Rules Mana
xem kết quả
CỦA EXCEL
otal của Excel
nh tại Colora formula to
where this
n Single tại
ule tạo g danh
ager
:
L
l
r o s
i
Chương 2 – NHỮNG THỦ THUẬT VỚI CÁC TÍNH NĂNG CÓ SẴN TRONG EXCEL
Chuyển đổi các hàm và công thức trong Excel thành giá trị 105
CChhuuyyểểnn đđổổii ccáácc hhààmm vvàà ccôônngg tthhứứcc ttrroonngg EExxcceell tthhàànnhh ggiiáá ttrrịị
Hầu hết các bảng tính Excel đều chứa các công thức. Thỉnh thoảng bạn chỉ muốn hiện lên kết quả của một công thức trong một ô, thay vì để công thức ở đó, vì nó sẽthay đổi khi dữ liệu mà nó tham chiếu đến thay đổi.
Bạn có thể làm điều này bằng tay theo hai cách sau đây, hoặc bạn có thể sử dụng một macro mà sẽ làm cho công việc nhẹ đi. Trước hết hãy xem các phương pháp bằng tay.
Dùng Paste Special Bạn có thể sao chép các kết quả của các công thức và vẫn để lại công thức tại ô gốc bằng việc sử dụng công cụ Paste Special của Excel.
Giả sử bạn có các công thức ở trong vùng A1:A100. Chọn vùng này, chọn lệnh copy (bạn có thể làm điều này bằng cách chọn các lựa chọn trong Clipboard ở tab Home hoặc nhấn chuột phải), sau đó chọn ô bắt đầu để dán kết quả (giả sử ô B1). Chọn Clipboard → Paste → Paste Values (hoặc nhấn phải chuột và chọn Paste Special → Values hoặc dùng phím tắt Alt+E+S+V) và nhấn OK.
Lúc này bạn sẽ thấy vùng B1:B100 sẽ là các kết quả của công thức ở các ô trong vùng A1:A100, nhưng chúng chỉ là các giá trị. Nếu bạn muốn chép đè các công thức gốc với kết quả của chúng, chọn dãy công thức và chọn Copy.
Vẫn ở dãy công thức được chọn đó, chọn Paste → Paste Values (hoặc click phải chuột và chọn Paste Special → Values hoặc dùng phím tắt Alt+E+S+V), sau đó click OK.
Sử dụng Copy Here As Values Only Bạn cũng có thể sao chép các kết quả của công thức mà vẫn để lại các công thức ở ô gốc bằng cách sử dụng một menu ẩn mà thậm chí nhiều người dùng không biết sự tồn tại của nó.
Chọn dãy công thức, nhấn phải chuột ở đường biên bên phải hoặc bên trái vùng chọn (nói cách khác là bạn có thể click chuột phải ở bất kỳ đường biên nào của vùng chọn ngoại trừ việc bạn sử dụng nút "fill handle" có hình dấu thập). Trong lúc nhấn giữ chuột phải, kéo chuột đến nơi cần dán, nhả chuột phải và nhấn Copy Here as Values Only từ một menu xổ xuống.
Bạn cũng có thể chép đè lên các công thức với kết quả của chúng:
Chọn dãy có công thức, sau đó nhấn phải chuột ở đường biên bên phải hoặc bên trái vùng chọn (nhắc lại một lần nữa là bạn có thể click chuột phải ở bất kỳ đường biên nào của vùng chọn ngoại trừ việc bạn sử dụng nút "fill handle" có hình dấu thập). Trong khi nhấn phải chuột (hoặc nhấn Ctrl), kéo chuột qua một cột bên phải hoặc bên trái và sau đó quay về dãy ban đầu, nhả chuột phải và nhấn Copy Here as Values Only từ kết quả của một một menu xổ xuống.
CCHHIIÊÊUU 3377
106
www.giaip
6
SửNsử
ĐVico
NChAlnàm
Kthtro
phapexcel.c
Hì
ử dụng MaNếu bạn thườử dụng macr
Sub VaDim On ESet TitlIf rrRan
End Su
ể sử dụng msual Basic E
ode ở trên tr
Nhấn chọn nhọn Develolt+F8, chọn ào đó để gá
muốn sử dụn
Khi bạn sử dhức của bạnong Inputbo
com
ình 105 - Dùng
acro ờng xuyên cro đơn giản
aluesOnly( rRange AsError Resu rRange = le:="VALUErRange Is nge = rRanub
macro này, Editor) hoặc rực tiếp vào
nút Close củoper → Cod
ValuesOnlyán một nút ng macro nà
Bạn không nCtrl+C, Ctrl+
dụng macron là dãy nàoox, và tất cả
chuột phải để c
chuyển đổi n như sau:
) s Range ume Next ApplicatiES ONLY", TNothing Thnge.Value
chọn Develonhấn Alt+F
o module.
ủa cửa sổ cde → Macroy, sau đó clitắt cho mac
ày bạn chỉ cầ
nên chọn các +S....
o, bạn sẽ tho. Địa chỉ cả những gì b
Chuyển đ
chọn lệnh Copy
các ô có cô
on.InputBoType:=8) hen Exit S
oper → Cod11 để chèn
code hoặc nos Basic (Exick chọn núcro này (Víần gõ Ctrl+E
phím tắt trùn
hấy một Inpcủa dãy đưbạn cần để l
đổi các hàm
y Here as Values
ng thức hoặ
ox(Prompt: Sub
de → Visualn một modu
nhấn Alt+Qxcel2003: Too
út Options, ởí dụ: bạn gõE).
g với các phím
put box đượược chọn sẽ
àm thực hiệ
CÁC TUY
và công thức
s Only từ một m
ặc hàm thàn
="Select t
Basic (Exceule chuẩn. S
để quay trols → Macroở shortcut kõ ở shortcu
m tắt có sẳn củ
ợc hiển thị được hiển
ện việc chuy
YỆT CHIÊU C
c trong Excel
menu xổ xuống
nh giá trị thì
the formul
el2003: ToolsSao chép v
rở lại bảng o → Macros) key bạn thêmut key là E
ủa Excel như C
và hỏi dãy thị một cá
yển đổi là n
CỦA EXCEL
thành giá trị
ì bạn có thể
las", _
s → Macro →à dán đoạn
tính Excel.hoặc nhấn
m một phímthì sau này
Ctrl+V,
chứa côngách tự độngnhấn OK.
L
ị
ể
→ n
. n
m y
g g
Chương 2
Thêm dữ liệmột cách tự
Chnhnh
=O
Hình
– NHỮNG T
u vào danh sự động
họn Formuhập vào tênhấp OK:
OFFSET(Sh
CCHHIIÊÊUU 3388
h 106
THỦ THUẬT
sách Validati
TThhêêmmmmộộtt cc
Nếu bạnCó lẽ điểmvào bất khơn hay năng valĐiều này
Giả sử này chí
Bạn thnhập vphải thchỉnh lsử dụng
Để hạnvà sao
=IF(OR
las → Definn MyName t
heet1!$A$1
T VỚI CÁC T
ion
mm ddữữ lliiệệuuccáácchh ttựự đđ
đã từng sử dểm ấn tượng
kỳ ô nào trênkhông nếu k
lidation thì Exy có thể thực
bạn có danính là tên củ
ấy rằng: tạiào được tên
hêm tên nhâlại vùng dữg.
n chế nhượcchép đến A
R($D$1="",C
ned Names tại hộp Nam
,0,0,COUN
TÍNH NĂNG
uu vvààoo ddaannđđộộnngg
dụng validatnhất của nó n bảng tính vkhi bạn nhậpExcel sẽ tự độ
hiện được kh
nh sách tên tủa các nhân
i một ô đann một nhân ân viên mới
liệu của va
c điểm này, A20 (dự trù t
COUNTIF($
Hình 1
→ Define Nmes. Tại Ref
NTA(Sheet1
CÓ SẴN TR
nnhh ssáácchh
tion, bạn sẽ chính là khả
và cho phép p vào một tên
ng thêm tên hi bạn làm th
trong vùng An viên trong
ng áp dụng viên mới n
i này vào dòalidation trư
tại ô A11 btrước sẽ thê
$A$1:A10,$
107
Name (Excelfers To, bạn
!$A:$A),1)
RONG EXCE
VVaalliiddaattii
biết nó là mả năng thêm
người sử dụn mới trong m
này vào tronheo các hướn
A1:A10 nhưmột công ty
validation, ngoài danh sòng cuối troước. Điều nà
bạn nhập vàêm 10 tên m
D$1)),"x",$D
l2003: Insert n nhập vào
EL
iioonn
ột tính năngmột danh sá
ụng chọn lựamột ô đang áng danh sáchg dẫn trong
ư hình 106.y.
bạn sẽ khôsách lựa chong danh sáày sẽ rất bấ
ào công thứmới).
D$1)
→ Name →công thức
g rất rõ ràng.ách lựa chọn
a. Nó sẽ tuyệtáp dụng tínhh validation?bài này.
. Danh sách
ông thể nàohọn, mà bạnách và điềuất tiện trong
ức bên dưới
→ Define), vàsau đây và
107
. n t
h ?
h
o n u g
i
à à
108
www.giaip
8
Tu
=O
ChLiInen
N
Đtrosácũ
phapexcel.c
uy nhiên, th
OFFSET(Sh
họn ô D1, st từ hộp A-Cell dropd
ntered. Nhấ
Nhấp phải ch
PrivatDim If T
I
EEnd
End Su
óng cửa sổ ong danh sáách dữ liệu ũng sẽ thấy
com
heo tôi, nên
heet1!$A$1
vào Data →llow, và tại
down. Chọnấn nút OK kh
huột lên tên
te Sub Work lReply AsTarget.Celf Target.AIf IsEmp
If WorThen _lReplyvbQuesIf lReRangeTarget
End If End If If ub
VBE và lưách validatitrên bảng ttên mới đã
thay bằng c
,0,0,COUN
→ Data ToolSource nhậ
n ngăn Errorhi hoàn tất.
Sheet1 và c
ksheet_Chas Long lls.Count Address = pty(TargetrksheetFun_ y = MsgBoxstion) eply = vbY("MyNames"t
a bảng tính ion và nhấntính tại ô Ađược bổ su
công thức:
NTA(Sheet1
s → Data Vập vào =Myr Alert và b
Hình 108
chọn View
ange(ByVal
> 1 Then E "$D$1" Th) Then Exinction.Cou
x("Add " &
Yes Then _ ").Cells(R
lại, sau đó n Enter. BạnA11 và nếu ung vào.
Th
!$A:$A)-CO
Validation (ENames, bạn
bỏ chọn Sho
Code. Sau đ
Target As
Exit Sub hen it Sub ntIf(Range
Target &
ange("MyNa
chọn ô D1 n sẽ thấy têchọn ô D1
CÁC TUY
hêm dữ liệu v
OUNTIF(She
Excel2003: Dn đảm bảo row error ale
đó bạn nhập
s Range)
e("MyNames
" to list
ames").Row
và nhập vàên mới xuất và mở dan
YỆT CHIÊU C
vào danh sácmột c
eet1!$A:$A
Data → Validarằng đã chọert after inv
p vào đoạn m
s"), Targe
t", vbYesNo
ws.Count +
o một tên mt xuất hiện nh sách val
CỦA EXCEL
ch Validationcách tự động
,"=x"),1)
ation). Chọnọn thêm hộpvalid data is
mã sau:
t) = 0
o +
1, 1) =
mới chưa cótrong danhidation bạn
L
ng
n p s
ó h n
Chương 2 – NHỮNG THỦ THUẬT VỚI CÁC TÍNH NĂNG CÓ SẴN TRONG EXCEL
Ngày tháng trong Excel 109
NNggààyy tthháánngg ttrroonngg EExxcceell
Ngày tháng trong Excel được xử lý rất tuyệt khi được tạo và sử dụng trong Excel, tuy nhiên có những vướng mắc khi xử lý với những dữ liệu ngoại lai import vào. May thay, Excel có những công cụ và phương thức để giải quyết khi nó không đúng như bạn muốn.
Mặc định, Excel sử dụng hệ thống ngày dựa trên năm gốc 1900. Nó coi ngày 01/01/1900 có giá trị 1, ngày 02/01/1900 có giá trị 2, và cứ thế. Các giá trị này giúp cho Excel thực hiện những yêu cầu tính toán thời gian.
Giờ phút cũng tương tự như vậy, nhưng Excel coi giờ như là số thập phân, với 1 tương đương 24:00 hay 00:00. 18:00 được coi như là 0,75 vì 18 giờ là ¾ của một ngày.
Để có thể thấy giá trị số của ngày và giờ, bạn hãy định dạng ô là General.
Thí dụ dữ liệu ngày giờ đầy đủ 03/05/2007 03:00:00 PM có một giá trị số là 39.025,625, nghĩa là đã 39.025 ngày tính từ ngày gốc 01/01/1900 và kèm theo 0,625 ngày tương đương 15/24 ngày.
Tính toán cho kết quả nhiều hơn 24 giờ Bạn có thể cộng các giá trị giờ với nhau bằng toán tử cộng hoặc dùng hàm SUM(). Vì vậy SUM(A1:A5) sẽ cho kết quả là tổng giờ của vùng A1:A5 nếu trong vùng có những giá trị giờ đúng nghĩa.
Thế nhưng nếu bạn không để ý bạn sẽ tưởng kết quả sai nếu như tổng tính được nhiều hơn 24 giờ: mỗi 24 giờ Excel coi như một ngày, và do định dạng giờ phút, con số chỉ ngày không hiển thị. Bạn hãy thử thì biết:
Trong một ô nào đó bạn gõ công thức =5:00 + 17:00 + 6:00, bạn cho rằng kết quả phải là 28:00, nhưng Excel lại chỉ cho bạn thấy trên ô là 4:00, vì 24 giờ đã bị chuyển thành 1 ngày, chỉ còn 4 giờ lẻ.
Muốn buộc Excel hiện rõ số giờ lớn hơn 24, bạn phải định dạng custom cho ô đó là [h]:mm hoặc [h]:mm:ss.
Bạn cũng có thể dùng kiểu định dạng đó để biết số phút hoặc số giây của một giá trị giờ, hoặc ngày. Thí dụ như một ô có giá trị 1 (24 giờ) và định dạng [m] sẽ hiển thị số phút của 24 giờ là 1.440. Nếu bạn định dạng [s], bạn sẽ thấy số giây là 86.400.
Tính toán ngày và giờ Để tính toán ngày giờ bạn cần nhớ những con số sau:
1 ngày = 24 giờ = 1.440 phút = 86.400 giây 1 giờ = 60 phút = 3.600 giây
Khi đã nhớ các con số này, bạn có thể dễ dàng sử dụng để tính toán quy đổi đơn vị thời gian.
CCHHIIÊÊUU 3399
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
110 Ngày tháng trong Excel
Thí dụ bạn có con số 5,5 trong ô A1, và bạn muốn:
- Bạn muốn nó là 5:30 hoặc 5:30 AM, bạn dùng công thức =A1/24 - Bạn muốn nó là 17:30 hoặc 5:30 PM, bạn dùng công thức =A1/24 + 0,5 - Bạn muốn tính xem trong 5,5 ngày có bao nhiêu giờ, dùng công thức =A1*24
Thí dụ khác: bạn có một giá trị ngày (đúng nghĩa) như là 22/05/2007 15:36 và bạn chỉ muốn:
- Lấy số ngày : = INT(A1) - Lấy số giờ: =A1- INT(A1), hoặc = MOD(A1, 1)
Để tìm khoảng thời gian tính bằng ngày giữa 2 mốc ngày, bạn tính bằng công thức:
=DATEDIF(A1, A2, “d”) – với A1 là ngày sớm hơn (có giá trị nhỏ hơn A2)
Hàm DATEDIF có thể dùng với tham số “m” cho tháng, “y” cho năm.
Hàm DATEDIF không có trong danh sách hàm của Excel vì nó là một hàm của Lotus123.
Nếu bạn không biết chắc ngày nào nhỏ hơn ngày nào trong công thức tính, hãy dùng kết hợp Min và Max như sau:
=DATEDIF(MIN(A1, A2), MAX(A1, A2), ”d”)
Để hiển thị giờ âm sau khi tính toán Khi tính toán thời gian, khi có những kết quả âm, Excel sẽ bị lỗi và hiển thị tràn số: #######. Chẳng hạn bạn tính khoảng thời gian giữa giờ bắt đầu và giờ kết thúc: =A2 - A1. Nếu như giờ bắt đầu là 17:00 và kết thúc là 5:00 sáng hôm sau thì công thức trên sẽ bị lỗi. Bạn hãy dùng công thức này:
=A2 - A1 + (A2<A1)
Còn nếu bạn cần tính hiệu số của 2 giờ trong cùng ngày, bạn dùng công thức
=MAX(A1:A2) - MIN(A1:A2)
hoặc
=ABS(A2- A1)
Cách này là chuyển số âm thành số dương, còn có một cách để hiện số giờ âm: chỉnh Option → Calculation → đánh dấu chọn vào mục 1904 Date Systems. Tuy nhiên cách này có thể gây lỗi tính toán cho những công thức khác. Đây còn gọi là hệ thống ngày MacinTosh, sẽ nói kỹ hơn trong Chiêu 87.
Bạn cũng có thể yêu cầu Excel cộng thêm vào giá trị ngày có sẵn một khoảng thời gian mà bạn muốn (khi tính thời hạn này nọ kể từ một thời điểm), bằng cách dùng hàm DATE() với cú pháp sau:
=DATE(YEAR(A1)+ số năm, MONTH(A1) + số tháng, DAY(A1) + số ngày)
Chương 2 – NHỮNG THỦ THUẬT VỚI CÁC TÍNH NĂNG CÓ SẴN TRONG EXCEL
Ngày tháng trong Excel 111
Thí dụ như thêm 3 tháng vào ô A1:
=DATE(YEAR(A1, MONTH(A1) + 3, DAY(A1))
AddIns Analysis ToolPak còn hỗ trợ nhiều hàm trong đó có những hàm thời gian như EDATE() để cộng trừ một số tháng vào một ngày cho trước. Hoặc hàm EOMONTH() để tính ngày cuối tháng của một thời điểm bất kỳ.
Excel có một lỗi là coi năm 1900 là một năm nhuận, trong khi không phải vậy. Điều ngạc nhiên là anh Bill cố tình làm vậy, theo như họ tuyên bố.
Một số link hữu ích về xử lý ngày tháng:
HOW TO: Use Dates and Times in Excel 2000 http://support.microsoft.com/default...n-us;Q214094#6
Text or Number Converted to Unintended Number Format http://support.microsoft.com/default...;en-us;Q214233
Maximum Times in Microsoft Excel http://support.microsoft.com/default...;en-us;Q214386
Dates and Times Displayed as Serial Numbers When Viewing Formulas http://support.microsoft.com/default...;en-us;Q241072
Controlling and Understanding Settings in the Format Cells Dialog Box http://support.microsoft.com/default...;en-us;Q264372
How to Use Dates and Times in Microsoft Excel http://support.microsoft.com/default...b;en-us;214094
Xử lý ngày giờ là một trong những điều kỳ diệu của Excel. Nắm vững những thủ thuật này bạn sẽ tiết kiệm vô khối thời gian với nó.
112
www.giaip
2
Đth
ChGr
SaCh
KOPrEn
phapexcel.c
ể có thể sử hiết lập Grou
họn vùng droup & Outlin
Hình
au đó, bạn hanges → c
Khi bảng tínutline. Do rotect kết hnableOutlin
CCHHIIÊÊUU 4400
com
CChhoo ppttrrêênn bb
dụng tính nuping and O
dữ liệu rồi ve), bạn sẽ có
109 – Gọi lệnh
dùng tính nchọn Protect
H
nh trong chếvậy chúng
hợp với sự kning thành T
pphhéépp ssửử ddbbảảnngg ttíínn
năng GroupOutline cho
ào Data → Gó một kết qu
Auto Ouline để
năng Protect Sheet và đ
ình 111 – Prot
ế độ bảo vệg ta sẽ sửkiện mở bảnTrue.
ddụụnngg ttíínnnnhh bbịị kkhhoo
p and Outlindữ liệu của
Group → Ouuả như hình
ể thiết lập Grou
Hình 110
ct Sheet đểđặt vào mật
ect WorkSheet
ệ thì bạn khdụng thamng tính (Wo
Cho phép s
nnhh nnăănnggooáá
ne trên bảnga mình:
utline và chọh 110:
uping and Outlin
khoá bảng mã bảo vệ.
trong Excel 200
hông thể sửm số UserInorkbook_Op
CÁC TUY
sử dụng tính
g GGrroouupp aa
g tính bị kh
ọn Auto Ou
ne (trong Excel
tính lại: và (Ví dụ như
07
dụng đượcnterfaceOnlpen) để bật
YỆT CHIÊU C
năng Grouptrên bảng
aanndd OOuuttl
hoá, trước ti
tline (Excel2
2007)
ào Review →ư mật mã là
c tính năng ly trong phUserInterf
CỦA EXCEL
p and Outlineg tính bị khoá
lliinnee
iên bạn hãy
2003: Data →
→ tại nhómSecret).
Group andhương thứcfaceOnly và
L
eá
y
→
m
d c à
Chương 2
Cho phép sửtrên bảng tí
SaThEx
Sađócảbị
– NHỮNG T
ử dụng tính nính bị khoá
au khi áp dụhisWorkbooxercise, bạn
PrivatWith
.
.End
End Su
au đó nhấn óng lại. Sauảnh báo), khị khoá (các n
Th
Nếth
Nếcá
En
THỦ THUẬT
năng Group a
ụng Group ok và nhập n cũng có th
te Sub Workh Sheet1 Protect PaEnableOutl With ub
Save và đóu đó, bạn mhi đó bạn cónút lệnh đã
Hình 112
ham số UserIn
ếu là TRUE: sẽhay đổi.
ếu không khaác lệnh macro
nableOutlining
T VỚI CÁC T
and Outline
and Outlinevào đoạn m
hể thay bằng
kbook_Open
assword:="lining = T
óng cửa sổmở lại tập tinó thể sử dụnbị mờ).
- Các nút Group
terfaceOnly củ
ẽ bảo vệ giao
i báo thì nhậncan thiệp vào
g = True → b
TÍNH NĂNG
e xong, bạn mã sau (Têng Index của
n()
"Secret", True
VBE để trởn và cho phng được các
p and Outline b
ủa phương thứ
o diện người d
n giá trị mặc đ giao diện ngư
bật các nút Sho
CÓ SẴN TR
nhấn Alt+Fn Sheet1 làSheet trong
UserInterf
ở về cửa sổhép Macro thc nút Group
bị mờ đi trong b
ức Protect mặc
dùng (user int
định là FALSE: ười dùng.
ow/ Hide Deta
RONG EXCE
F11 để vào cà CodeNamg bảng tính
faceOnly:=
ổ bảng tính,hực thị (nếuand Outlin
bảng tính đang
c định là FALS
terface) nhưng
bảo vệ cả gia
ail
EL
cửa sổ VBEme của Shee
hoặc dùng
=True
, hãy lưu bảu nhận đượ
ne trong bản
bị khoá
E
g cho phép d
ao diện người
E. Bạn chọnet FormulasTabName):
ảng tính vàợc hộp thoạing tính đang
ùng macro để
dùng và ngăn
113
n s
à i g
ể
n
114
www.giaip
4
Bnhtênà
Nph
SadữMth
=A
phapexcel.c
ằng cách dùhất thiết phảên trường làào nhập liệu
Nếu bạn bắt hần nằm tro
Điền dữMột số cSorting, trống nằBlank, vàđó nhữngnhấn mũ
au khi đã bảữ liệu, từ ô
Mở hộp thoạhức sau vào
AND(COUN
CCHHIIÊÊUU 4411
com
BBẫẫyy llỗỗ
ùng Data Vải nhập liệu
à Tên và Bộu vào bảng c
đầu với 1 bong khung m
ữ liệu vào ccác công cụFilter, hàm ằm xen kẽ nà nhấn OK. g giá trị hoặũi tên lên, rồ
ảo đảm các A3 đến ô Bại Data Validkhung công
NTA($A$2:$
ỗỗii đđểể ttrrốố
Validation, cu, không đư phận nằm cũng phải n
bảng dữ liệumàu xám sau
các ô trốngụ hoặc hàm
SUMPRODnhau. bạn hBây giờ tấtặc công thứồi nhấn Ctrl+
ô trống tronB100 chẳngdation, trongg thức:
$A2)=ROW(
ốốnngg ddữữ llii
chúng ta cóược để trốngở 2 ô A1 và
nhập đủ 2 nộ
u có sẵn nhữu đây.
g của Excel k
DUCT,… Ghãy nhấn Ft cả các ô trức giống ô li+Enter.
ng vùng dữ hạn (bằng g tab Settin
()-2,COUNT
Hình 1
iiệệuu
ó thể bảo đảg. Thí dụ taà B1. Bên dội dung này
ững ô bị để
không làm Giả sử bạn 5, hoặc Ctrrống đã đượiền ngay trê
liệu đã đượvới độ lớn
ng chọn Cus
TA($B$2:$B
113
CÁC TUY
ảm rằng 1 a tạo 1 bảngdưới, bạn my.
trống, cần đ
việc với ô tcó 1 cột A
rl+G, nhấn ợc chọn. Nếên của nó, h
ợc điền đầy,của vùng b
stom trong
B2)=ROW(
YỆT CHIÊU C
Bẫy lỗi để
trường dữ lg dữ liệu 2
muốn rằng bấ
điền đầy và
trống như PA với 1 đốn
Special, chếu bạn muốãy nhấn dấu
, bạn hãy tôbạn định nhậô Allow, rồ
)-2)
CỦA EXCEL
trống dữ liệu
liệu nào đótrường, vớiất kỳ người
ào, hãy xem
Pivot table, ng những ô họn ô chọn ốn điền vào u bằng (=),
ô chọn vùngập dữ liệu).i điền công
L
u
ó i i
m
g .
g
Chương 2 – NHỮNG THỦ THUẬT VỚI CÁC TÍNH NĂNG CÓ SẴN TRONG EXCEL
Bẫy lỗi để trống dữ liệu 115
Chú ý các ký hiệu $ liên quan đến tham chiếu tương đối và tuyệt đối, nếu sai hoặc thiếu, validation không hoạt động như ý muốn ráng chịu.
Vào tab Alert, gõ tiêu đề cho thông báo cảnh báo trong ô Title, gõ câu thông báo của bạn vào ô Error Message, chọn Stop trong khung Error Style (hình 114):
Hình 114 – Nhập các thông báo lỗi khi cho Data Validation
Bây giờ mỗi khi bạn nhập thiếu dòng trên, mà nhảy xuống nhập dòng dưới, bạn sẽ được cảnh báo như sau:
Hình 115
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
116 Giảm danh sách xổ xuống của Validationsau khi chọn một
GGiiảảmm ddaannhh ssáácchh xxổổ xxuuốốnngg ccủủaa VVaalliiddaattiioonn ssaauu kkhhii cchhọọnn mmộộtt
Rất hữu ích cho người dùng Excel khi bạn cho họ một danh sách để chọn bằng Validation, nhưng cái danh sách này tự động ngắn lại mỗi khi họ chọn một mục trong danh sách, để khỏi phải lựa chọn trong một danh sách quá dài, đồng thời tránh việc nhập trùng dữ liệu (đôi khi cần thiết).
Bước 1: Trong 1 sheet bất kỳ (thí dụ sheet1) bạn có 1 danh sách trong vùng A1:A10. Bạn hy đặt name cho danh sách này bằng cách tô chọn vùng danh sách, rồi gõ tên MyList trong hộp namebox.
Bước 2: Trong 1 sheet khác mà bạn muốn dùng validation dựa vào danh sách MyList nói trên, tô chọn vùng bạn cần, mở menu Data Validation, chọn Allow là List, Source là =MyList, rồi nhấn OK.
Bước 3: Mở cửa sổ VBA của sheet đó, nhập vào đoạn code sau:
Private Sub Worksheet_Change(ByVal Target As Range) Dim strVal As String Dim strEntry As String On Error Resume Next strVal = Target.Validation.Formula1 If Not strVal = vbNullString Then
strEntry = Target Application.EnableEvents = False With Sheet1.Range("MyList")
.Replace What:=strEntry, Replacement:="", LookAt:=xlWhole, _ SearchOrder:=xlByRows, MatchCase:=False .Sort Key1:=.Range("A1"), Order1:=xlAscending, Header:=xlNo, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom .Range("A1", .Range("A65536").End(xlUp)).Name = "MyList"
End With End If Application.EnableEvents = True On Error GoTo 0
End Sub
Đóng cửa sổ VBA rồi quay về Excel. Thử chọn 1 mục trong validation, sang 1 ô khác và xổ cái validation xuống, bạn sẽ thấy mục vừa chọn xong không còn trong list nữa.
Lưu ý trong code, khi nói đến name MyList, phải xác định rõ Sheet1.MyList, vì nếu không, VBA sẽ cho rằng name này nằm chung sheet với sheet chứa code và sẽ không tìm thấy và báo lỗi.
CCHHIIÊÊUU 4422
Chương 2
Thêm các da
TrtínnúCuAdụ
– NHỮNG T
anh sách có s
rước tiên, bnh. Ví dụ nút Office →ustom Lists).
A1:A26. Sauụng để fill tr
CCHHIIÊÊUU 4433
THỦ THUẬT
sẵn và cả da
TThhêêmmvvààoo mm
Tạo mộtnhanh cđã xây dcác thánsách mớHandle.
bạn cần nhậnhư bạn nhậ
Excel OptiNhấp chọn
u đó nhấn núrong tất cả b
T VỚI CÁC T
nh sách tự tạ
mm ccáácc ddaannmmeennuu cchh
t danh sách hóng nhập d
dựng sẵn mộng (Jan – Decới cho mình.
ập vào danhập và 26 chữons → Pop
n nút nằm bêút Import vbảng tính tr
TÍNH NĂNG
ạo vào menu
nnhh ssáácchh uuộộtt pphhảả
để fill trong danh sách cáột số Customc) và các chuPhần này sẽ
h sách các pữ cái trong
pular → Ediên trái nút Ià OK. Kể từrên máy tính
Hình 1
CÓ SẴN TR
u chuột phải
ccóó ssẵẵnn vvảảii
Excel thông ác chuỗi số ho
List về các nuỗi số nhưng ẽ hướng dẫn
phần tử cầncác ô A1:At Custom LImport và dùừ lúc này dh này.
116
RONG EXCE
vvàà ccảả ddaann
qua Fill hanoặc chuỗi văngày trong tu
bạn cũng cóbạn các tạo
n đưa vào CA26 trên ShLists (Excel2ùng chuột qanh sách cá
EL
nnhh ssáácchh tt
ndle là việc làn bản vào bảuần (Sun - Sa
ó thể tự tạo tho thêm Custo
Custom Lisheet1. Sau đ
003: Tools →quét chọn vùác chữ cái s
ttựự ttạạoo
àm rất hay đảng tính. Excat), danh sáchêm các dan
om List cho F
st trên bảngđó nhấn vào→ Options →ùng dữ liệusẽ có thể sử
117
đểcel ch nh Fill
g o → u ử
www.giaiphapexcel.com CÁC TUYỆT CHIÊU CỦA EXCEL
118 Thêm các danh sách có sẵn và cả danh sách tự tạo vào menu chuột phải
Tiếp theo, để đưa các Custom List vào trong thực đơn ngữ cảnh thì bạn nhấn tổ hợp Alt+F11 rồi vào Insert → Module. Sau đó, bạn nhập vào đoạn mã như sau:
Sub AddFirstList() Dim strList As String strList = Application.CommandBars.ActionControl.Caption If Not strList Like "*...*" Then Exit Sub ActiveCell = Left(strList, InStr(1, strList, ".", vbTextCompare) - 1)
End Sub
Bạn kích chuột hai lần lên ThisWorkbook trong cửa sổ VBAProject và nhập vào đoạn mã sau:
Private Sub Workbook_SheetBeforeRightClick _ ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim cBut As CommandBarButton Dim lListCount As Long Dim lCount As Long Dim strList As String Dim MyList On Error Resume Next With Application
lListCount = .CustomListCount For lCount = 1 To lListCount
MyList = .GetCustomListContents(lCount) strList = .CommandBars("Cell").Controls(MyList(1) & "..." & _ MyList(UBound(MyList))).Caption .CommandBars("Cell").Controls(strList).Delete Set cBut = .CommandBars("Cell").Controls.Add(Temporary:=True) With cBut
.Caption = MyList(1) & "..." & MyList(UBound(MyList))
.Style = msoButtonCaption
.OnAction = "AddFirstList" End With
Next lCount End With On Error GoTo 0
End Sub
Đóng cửa sổ VBE và lưu bảng tính lại. Sau đó nhấp phải chuột vào một ô nào đó trên bảng tính, bạn sẽ thấy các Custom List dựng sẵn và do bạn tạo xuất hiện trong trình đơn ngữ cảnh.
Muốn sử dụng, bạn chỉ cần nhấn chuột phải vào ô chọn, rồi chọn 1 trong các list hiện ra trong menu ngữ cảnh, bạn sẽ có giá trị thứ nhất của list. Sau đó kéo cái Fill handle để fill list như mọi khi.
∗∗∗
top related