Excel Hacks

118
Excel Hacks C C á á c c t t u u y y t t c c h h i i ê ê u u t t r r o o n n g g E E x x c c e e l l 1 1 Nguyên bn: EXCEL HACKS Tác gi: David – Raina Hawley Lược dch và bsung: Ptm0412 – Ttphong2007 – BNTT

Transcript of Excel Hacks

Page 1: Excel Hacks

 

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

Page 2: Excel Hacks

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 

Page 3: Excel Hacks

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 

Page 4: Excel Hacks

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 đó.

Page 5: Excel Hacks

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.

Page 6: Excel Hacks

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

Page 7: Excel Hacks

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 :

Page 8: Excel Hacks

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

Page 9: Excel Hacks

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

Page 10: Excel Hacks

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

Page 11: Excel Hacks

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

Page 12: Excel Hacks

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 à

Page 13: Excel Hacks

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

Page 14: Excel Hacks

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ẽ

Page 15: Excel Hacks

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

Page 16: Excel Hacks

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

Page 17: Excel Hacks

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

Page 18: Excel Hacks

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

Page 19: Excel Hacks

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

Page 20: Excel Hacks

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

Page 21: Excel Hacks

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

Page 22: Excel Hacks

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.

Page 23: Excel Hacks

Chương 1

Ẩn Sheet sao

NDnhchhơW

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 .

ờ →

Page 24: Excel Hacks

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

Page 25: Excel Hacks

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

Page 26: Excel Hacks

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ẽ

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 ư

Page 27: Excel Hacks

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

Page 28: Excel Hacks

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

Page 29: Excel Hacks

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/

Page 30: Excel Hacks

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

Page 31: Excel Hacks

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

Page 32: Excel Hacks

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

Page 33: Excel Hacks

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

Page 34: Excel Hacks

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()).

Page 35: Excel Hacks

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

Page 36: Excel Hacks

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

Page 37: Excel Hacks

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

Page 38: Excel Hacks

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

ó ,

Page 39: Excel Hacks

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

Page 40: Excel Hacks

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

à

Page 41: Excel Hacks

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

Page 42: Excel Hacks

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

Page 43: Excel Hacks

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.

Page 44: Excel Hacks

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

Page 45: Excel Hacks

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

Page 46: Excel Hacks

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.

Page 47: Excel Hacks

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

Page 48: Excel Hacks

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

Page 49: Excel Hacks

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

Page 50: Excel Hacks

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

Page 51: Excel Hacks

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).

Page 52: Excel Hacks

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

Page 53: Excel Hacks

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.

∗∗∗

Page 54: Excel Hacks

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.

Page 55: Excel Hacks

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.

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

Page 56: Excel Hacks

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

Page 57: Excel Hacks

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

Page 58: Excel Hacks

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 ,

Page 59: Excel Hacks

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

ó

Page 60: Excel Hacks

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

Page 61: Excel Hacks

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

Page 62: Excel Hacks

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)

Page 63: Excel Hacks

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ó.

Page 64: Excel Hacks

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ẻ

Page 65: Excel Hacks

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

Page 66: Excel Hacks

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

Page 67: Excel Hacks

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 .

Page 68: Excel Hacks

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 .

Page 69: Excel Hacks

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

- 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

Page 70: Excel Hacks

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ự.

Page 71: Excel Hacks

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

Page 72: Excel Hacks

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

Page 73: Excel Hacks

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

Page 74: Excel Hacks

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

Page 75: Excel Hacks

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

ó

Page 76: Excel Hacks

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

Page 77: Excel Hacks

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

Page 78: Excel Hacks

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

Page 79: Excel Hacks

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

=

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

Page 80: Excel Hacks

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 ) à

Page 81: Excel Hacks

Chương 2

Trích xuất d

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

Page 82: Excel Hacks

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

Page 83: Excel Hacks

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

Page 84: Excel Hacks

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ả.

Page 85: Excel Hacks

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

Page 86: Excel Hacks

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

Page 87: Excel Hacks

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 ả ể ,

Page 88: Excel Hacks

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

Page 89: Excel Hacks

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

Page 90: Excel Hacks

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

Page 91: Excel Hacks

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 à

Page 92: Excel Hacks

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

Page 93: Excel Hacks

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

Page 94: Excel Hacks

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,

Page 95: Excel Hacks

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

Page 96: Excel Hacks

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.

Page 97: Excel Hacks

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

Page 98: Excel Hacks

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.

Page 99: Excel Hacks

Chương 2

Tăng thêm s

KUtínhichth

Htừ

– 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 ,

Page 100: Excel Hacks

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

Page 101: Excel Hacks

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

Page 102: Excel Hacks

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 →

Page 103: Excel Hacks

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

Page 104: Excel Hacks

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

Page 105: Excel Hacks

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

Page 106: Excel Hacks

106

www.giaip

6

SửNsử

ĐVico

NChAlnàm

Kthtro

phapexcel.c

ử 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

Page 107: Excel Hacks

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

à à

Page 108: Excel Hacks

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

Page 109: Excel Hacks

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

Page 110: Excel Hacks

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)

Page 111: Excel Hacks

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ó.

Page 112: Excel Hacks

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

y

m

d c à

Page 113: Excel Hacks

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

Page 114: Excel Hacks

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

Page 115: Excel Hacks

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

Page 116: Excel Hacks

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

Page 117: Excel Hacks

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 ử

Page 118: Excel Hacks

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.

∗∗∗