1. Trang chủ
  2. » Giáo Dục - Đào Tạo

1 so chieu excel

184 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 184
Dung lượng 3,54 MB

Nội dung

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[r]

(1)

Những "tuyệt chiêu" trong Excel

Mục lục

Lời nói đầu:

Chiêu thứ 01: Tùy biến cửa sổ làm việc bảng tính

Chiêu thứ 02: Nhập liệu đồng thời vào nhiều sheet

Chiêu thứ 03: Ngăn chận người sử dụng thực số hành động định 13

Chiêu thứ 04: Ngăn chặn nhắc nhở không cần thiết 19

Chiêu thứ 05: Ẩn sheet cho người dùng dùng lệnh unhide để 23

Chiêu thứ 06: Tự thiết kế bảng tính mẫu (template) 26

Chiêu thứ 07: Tạo mục cho Sheet Workbook 36

Chiêu thứ 08: Giới hạn vùng cuộn bảng tính 42

Chiêu thứ 09: Khóa bảo vệ có chứa cơng thức 47

Chiêu thứ 10: Sử dụng định dạng theo điều kiện để tìm liệu trùng 54

Chiêu thứ 11: Tìm liệu xuất nhiều lần công cụ Conditional Formating 58

Chiêu thứ 12: Tạo riêng công cụ cho riêng bảng tính cụ thể 62

Chiêu thứ 13: Sao chép công thức giữ nguyên tham chiếu tương đối 65

Chiêu thứ 14: Gỡ bỏ liên kết ma 66

Chiêu thứ 15: Giảm kích thước file Excel bị phình to bất thường 70

Chiêu thứ 16: Cứu liệu từ bảng tính bị lỗi 74

Chiêu thứ 17: Sử dụng Data-Validation danh sách nguồn nằm Sheet khác 78

Chiêu thứ 18: Điều khiển Conditional Formating checkbox 81

Chiêu thứ 19: Đánh dấu ô chứa công thức Conditional Formatting 88

Chiêu thứ 20: Đếm cộng định dạng có điều kiện 89

Chiêu thứ 21: Tơ màu dịng xen kẽ 93

(2)

Chiêu thứ 23: Bật, tắt chức Conditional Formatting checkbox 105

Chiêu thứ 24: Dùng nhiều List cho Combobox 106

Chiêu thứ 25: Tạo danh sách xác thực thay đổi theo lựa chọn từ danh sách khác 110

Chiêu thứ 26: Sử dụng chức thay (Replace) để gỡ bỏ ký tự không mong muốn 114

Chiêu thứ 27: Chuyển đổi số dạng văn sang số thực 115

Chiêu thứ 28: Trích xuất liệu số chuỗi VBA 120

Chiêu thứ 29: Tùy biến thích bảng tính 124

Chiêu thứ 30: Sort thứ tự dựa nhiều ba cột 129

Chiêu thứ 31: Sắp xếp ngẫu nhiên 130

Chiêu thứ 32: Thao tác liệu với Advanced Filter 133

Chiêu thứ 33: Tạo định dạng số cho riêng bạn 141

Chiêu thứ 34: Tăng thêm số lần Undo cho Excel 150

Chiêu thứ 35: Tự tạo danh sách để fill 154

Chiêu thứ 36: Làm Subtotal Excel 157

Chiêu thứ 37: Chuyển đổi hàm công thức Excel thành giá trị 164

Chiêu thứ 38: Thêm liệu vào danh sách Validation cách tự động 167

Chiêu thứ 40: Cho phép sử dụng tính Group and Outline bảng tính bị khố 175

Chiêu thứ 41: Bẫy lỗi để trống liệu 177

Chiêu thứ 42: Giảm danh sách xổ xuống Validation, sau chọn 180

Chiêu thứ 43: Thêm danh sách có sẵn danh sách tự tạo vào menu chuột phải 181

Lời nói đầu:

(3)

Trước nói đến "tuyệt chiêu" Excel, xin nói sơ qua chút số thủ thuật quy tắc bản, điều giúp bạn thực "tuyệt chiêu" nói đến phần sau cách dễ dàng Excel phần mềm bảng tính mạnh, bạn làm điều tin với Nhưng khơng may, có nhiều người thiết kế bảng tính với q nhiều "lo xa", cẩn thận mức cần thiết, làm cho trở nên phức tạp đáng bị như Phần mở đầu mách cho bạn số thủ thuật quy tắc mà bạn làm theo, bạn thấy chúng hiệu

Xin nói thêm, tất "chiêu" trình bày sau đây, đa phần viết cho Excel 2007 Nếu áp dụng cho phiên trước, chúng tơi thích ở bên cạnh: (Với Excel 2003 trở trước, )

Quy tắc 80/20

Có lẽ việc quan trọng thực bảng tính dành thời gian để nghiên cứu, xem xét cách bố trí liệu, tính trước việc cần làm Và đừng nghĩ sau hồn thành, tơi khơng cần phải thêm vào liệu cơng thức khác, bạn ln làm ngược lại Điều có nghĩa rằng, bạn nên dành khoảng 80% thời gian để lên kế hoạch cho bảng tính và khoảng 20% thời gian để thực bảng tính đó

Cho dù rằng, việc khơng cần thiết với bảng tính nhỏ, bảo đảm rằng, bạn quan tâm đến điều tơi vừa nói trên, lâu dài, bạn tránh cực nhọc phải phải sửa sửa lại bảng tính mình, dễ dàng thực bảng tính lớn sau dành cho thời gian để lên kế hoạch thực Nên nhớ rằng, bảng tính phải ln mang lại cho người dùng thơng tin xác, khơng phải thơng tin xác trường hợp

Những mẹo nhỏ cấu trúc bảng tính

(4)

nó mong đợi" Sau số lỗi phổ biến hay mắc phải thiết lập bảng tính:

Bố trí liệu nhiều bảng tính (WorkBook) khác Bố trí liệu nhiều trang tính (WorkSheet) khác Bố trí liệu nhiều bảng (Table) khác

Có hàng trống cột trống khối liệu (database)

Bỏ trống có liệu giống (cùng chung ngày, chung đơn vị tính, v.v )

Ba điểm muốn nói đến điều: Bạn nên luôn cố gắng để giữ mối liên quan liệu liên tục bảng dữ liệu Tôi thấy nhiều bảng tính khơng trình bày theo quy tắc

rất đơn giản này, vậy, bảng tính khơng thể tận dụng tối đa tính mạnh mẽ Excel PivotTable, SubTotal Bạn sử dụng tính bạn gom hết liệu bạn vào 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 Excel 2003 trở trước) mà lại có 16.384 cột (256 cột Excel 2003 trở trước) Điều có ý nói rằng, bạn nên thiết lập liệu với tiêu đề cột nằm hàng cùng, liệu có liên quan nằm liên tục bên tiêu đề nó Nếu bạn có liệu lặp lại hai lần nhiều lần hàng cột (các ngày tháng, loại đơn vị tính chẳng hạn), bạn chống lại cám dỗ bỏ trống

Hãy cố gắng xếp (sort) liệu bạn có thể Excel có nhiều cơng cụ để tìm kiếm tham chiếu cơng thức, số khơng nhỏ đó, địi hỏi liệu phải xếp theo thứ tự hợp lý Việc phân loại

cũng giúp ích đáng kể cho tốc độ xử lý số hàm

(5)

Excel cho phép hiển thị đồng thời nhiều bảng tính cho phép tùy biến cách hiển thị xếp chúng Sau thiết lập tùy biến, lưu thành tập tin workspace (không gian làm việc) xlw để sử dụng lại sau này.

Đôi khi làm việc Excel, bạn cần phải có nhiều workbook mở hình bạn để làm cho dễ dàng sử dụng hay xem liệu từ nhiều bảng tính Trong mô tả cách thực tổ chức cửa sổ làm việc cách gọn gàn có tổ chức

Đầu tiên, bạn mở tất bảng tính mà bạn cần làm việc:

Vào Office | Open…, giữ phím Ctrl trong chọn tập tin bảng tính cần mở | nhấn nút Open để mở tập tin (E2003: File | Open )

Từ cửa sổ làm việc bảng tính mở đó, chọn Windows | View | Arrange All (E2003: Window | Arrange) Nếu tùy chọn “Windows of active workbook” chọn bỏ chọn, sau chọn kiểu xếp nhấp nút OK

(6)(7)(8)

Nếu chọn kiểu Cascade (thác nước) bảng tính xếp đè lên hình minh họa sau

Khi cửa sổ bảng tính xếp gọn gàng, bạn dễ dàng thao tác di chuyển liệu cửa sổ

Để sử dụng lại thiết lập sau này, bạn lưu thành tập tin workspace Các bước thực sau:

Chọn ngăn View | nhóm Window chọn Save Workspace (E2003: File | Save Workspace…) | nhập tên cho workspace hộp File Name, chọn nơi lưu nhấn

(9)

Muốn chuyển đổi bảng tính chế độ tồn hình bạn cần kích chuột hai lần lên Title (tiêu đề) cửa sổ bảng tính Bạn nhấn nút Maximize cửa sổ bảng tính hành để phóng to cửa sổ nhấn nút Close để đóng bảng tính sau hồn tất cơng việc với cửa sổ Để sử dụng lại khơng gian làm việc thiết lập trước đó, bạn cần mở tập tin xlw vừa tạo giao diện làm việc bạn thiết lập trước khôi phục Tất hiệu chỉnh hay cập nhật thông tin bảng tính workspace Excel nhắc nhở bạn lưu lại bạn lệnh đóng workspace

Nếu ngày, bạn phải thực công việc lặp lặp lại nhiều bảng tính Tơi khun bạn nên dành thời gian để thiết lập kiểu khơng gian làm việc cho bảng tính tùy thuộc vào yêu cầu tao tác xử lý số liệu chúng Sau đó, bạn việc mở tập tin xlw cho kiểu không gian làm việc phù hợp với nhu cầu sử dụng bạn mà không cần phải tốn thời gian xếp, tổ chức bảng tính lần sử dụng sau

Chiêu thứ 02: Nhập liệu đồng thời vào nhiều sheet.

Thơng thường người dùng Excel có liệu muốn nhập vào nhiều sheet khác Bạn dùng cơng cụ Group sheet lại để nhập liệu đồng thời Nhưng có cách khác nhanh chóng linh hoạt bạn dùng vài dịng lệnh VBA

Nhưng phải nói đến công cụ Group nhỉ? Công cụ Group dùng để nhập liệu vào nhiều sheet lúc có nhiều người chưa dùng đến Nó dùng để kết nối sheets với phạm vi work book

1 Group sheet lại tay:

(10)

chóng (nghe giống 007 nhỉ)

Để khỏi tình trạng group, bạn việc click chọn sheet khác ngồi nhóm, click chuột phải lên tên sheet nhómbất kỳ, chọn Ungroup Sheets Hoặn bạn muốn gỡ số sheet khỏi nhóm, Ctrl click vào tên sheet

Khi hay nhiều sheet Group với nhau, tiêu đề Windows có chữ [Group] (tronh ngoặc vng) Nhìn vào bạn biết bạn cịn tình trạng group sheets

Trừ bạn có cặp mắt sắc chim ưng, bén dao cạo, thường bạn không để ý đến dấu hiệu này, bạn quên khơng ungroup cơng việc xong Chính khuyên bạn thực xong thao tác nhập liệu hàng loạt vào sheet, phải ungroup chúng

Dù phương pháp dễ nhất, có nghĩa bạn phải nhớ nhớ group ungoup cần, khơng bạn vơ tình ghi đè lên liệu sheet mà bạn khơng nhìn thấy hình thời Thí dụ bạn muốn ghi lúc liệu vào vùng bảng tính, cịn ngồi vùng liệu sheet phải khác Thế sheet group có thèm quan tâm bạn nhập liệu vùng đâu?

2 Group sheet lại cách tự động:

(11)

Bạn chọn kiện sheet, kiện liên quan đến sheet đổi chọn, thay đổi nội dung ơ, kích hoạt sheet, thoát khỏi sheet, … để thực thi đoạn code VBA

Thường bạn đưa thẳng đến trang soạn thảo code riêng sheet bạn chọn View Code hướng dẫn Bạn kiểm tra lại thực thuộc sheet bạn chọn hay khơng cách nhìn vào cửa sổ VBA Project bên trái, bạn thấy dạng thư mục This Workbook – Sheetname sheet chọn khơng bạn phải tìm sheet bạn cần doubled click

Trước tiên bạn phải đặt name cho vùng ô bạn muốn nhập liệu trùng sheet, giả sử “MyRange”

Sau gõ đoạn code 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 ghi mảng Array, bạn muốn sheet mà bạn gõ liệu nhập vào Bạn chọn sheet khác để group chúng lại bên sheet5 Sau gõ code xong, nhấn nút View

(12)

Cần nhắc lại đoạn code phải nằm sheet khai báo Array, sheet mà bạn nhập liệu từ bàn phím

Khi bạn hồn tất, bạn click chọn sheet5, đoạn code kiểm tra xem bạn chọn có nằm vùng đặt tên “MyRange” không Nếu đúng, code Group sheet lại với để bạn nhập liệu hàng loạt sheets Nếu khơng phải, ungroup chúng cách đơn giản kích hoạt sheet hành Dùng đoạn code tiện lợi chỗ giải phóng bạn khỏi việc phải nhớ Group bắt đầu UnGroup kết thúc nhập liệu vùng chọn Bây bạn muốn liệu nhập vào sheet chọn, vị trí khác nhau, 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

(13)

Đoạn code phải đặt khung soạn thảo riêng sheet5

Đoạn code hoạt động khác với đoạn code Khi bạn thay đổi nội dung đó, code xác định xem hành có nằm vùng "MyRange" hay khơng, phải copy ngun vùng "MyRange" (của sheet5) paste vào đồng thời ô A1 sheet1 D10 sheet2 Ngược lại khơng làm

Chiêu thứ 03: Ngăn chận người sử dụng thực hiện số hành động định

Mặc dù Excel có hỗ trợ việc bảo vệ cho bảng tính (Protect Sheet, Protect

Workbook), công cụ thô sơ không bao gồm việc cho phép người sử

dụng số đặc quyền hạn chế - trừ bạn làm theo chiêu sau

(14)

những kiện

Tuy nhiên, bạn nên biết rằng, người sử dụng vượt qua tất mã bảo vệ Visual Basic bẳng cách vơ hiệu hóa việc thực thi macro: Nhấn nút

OfficeExcel OpionsTrust CenterTrust Center SettingMacro Settings [E2003: Tools | Macro | Security] Nếu đặt mức độ an toàn Disable all macros with notification[E2003: mức Medium], mở bảng tính có chứa macro, Excel xuất hộp thông báo cho phép người sử dụng có hội để tắt macro Nếu đặt mức độ an toàn Disable all macros without notification[E2003: mức High], Excel ngăn khơng cho chạy tất macro có bảng tính Nói cách khác, cần phải dùng macro có bảng tính, người sử dụng chọn mức an tồn thích hợp phép sử dụng macro

Ngăn chận việc lưu lại bảng tính với tên khác

Bạn thiết lập thuộc tính "Read only" cho bảng tính nào, cách nhấn OfficeSave, nhấn nút Tools, chọn General Options [E2003: File | Save As | Tools | General Options] kích hoạt hộp kiểm Read only

recommended Việc ngăn chận người sử dụng lưu lại thay đổi bảng tính, họ lưu lại bảng tính với tên khác lưu vào nơi khác Tuy nhiên, điều bạn muốn khơng cho lưu lại bảng tính bạn với tên

khác, không cho lưu vào nơi khác Nói cách khác, bạn muốn người khác lưu lại bảng tính với tên gốc nó, khơng chép Điều đặc biệt hữu dụng có nhiều người sử dụng chung bảng tính, bạn khơng muốn ổ cứng đầy dẫy bảng tính này, cho dù với tên khác, hay thư mục khác

Sự kiện Before Save mà tơi nói đến có từ thời Excel 97 Đúng tên gọi nó, kiện xuất trước bảng tính 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 cảnh báo, khơng cho Excel lưu bảng tính

(15)

bảng tính bạn Bởi việc đưa đoạn code sau vào mơt bảng tính chưa lưu, gây cho bạn nhiều rắc rối

Để đưa đoạn code sau vào bảng tính, bạn chọn DevelopeVisual Basic

(hoặc nhấn Alt+F11), nhấp đúp chuột vào mục ThisWorkbook khung

Project Explorer Nếu Ribbon bạn khơng có mục Develope, bạn vào Excel OptionsPopular, đánh dấu vào tùy chọn Show Develope tab in the Ribbon, nhấn OK [E2003, nhấn phải chuột vào biểu tượng Excel bên trái menu File menu, chọn mục View Code, minh họa hình bên dưới]:

Sử dụng Quick access menu (trong Excel 2003) để nhập code áp dụng cho workbook

Bạn nhập đoạn code sau vào cửa sổ VBE Sau nhập xong, nhấn Alt+Q

để trở Excel, lưu lại bảng tính:

Private Sub workbook_BeforeSave(ByVal SaveAsUI As Boolean, _ Cancel As Boolean)

Dim lReply As Long

If SaveAsUI = True Then

(16)

& "Do you wish to save this workbook?", vbQuestion + vbOKCancel) Cancel = (lReply = vbCancel)

If Cancel = False Then Me.Save Cancel = True

End If End Sub

Thử tí Bạn nhấn Ctrl+S (hoặc gọi lệnh Save) xem Bảng tính bạn lưu bình thường Bây bạn nhấn F12 (hoặc gọi lệnh Save as), bạn gặp cảnh báo, nói bạn khơng thể lưu lại bảng tính tên khác, bạn vơ hiệu hóa macro

(17)

(macro-enable workbook), có phần mở rộng *.xlsm, khơng thể lưu dạng bình thường (*.xlsx)

Ngăn chận việc in bảng tính

Đơi bạn phải rời bàn làm việc mà quên tắt máy (chuyện chuyện thường), cho dù bạn làm cơng việc ngăn chận việc có chép bảng tính bạn ngồi, nói trên, bạn cịn lo xa hơn, muốn bảng tính khơng bị in bạn vắng mặt Nếu thật bạn muốn vậy, bạn dùng kiện Before Print Hãy nhập đoạn code sau cửa sổ VBE:

Private Sub workbook_BeforePrint(Cancel As Boolean) Cancel = True

MsgBox "Sorry, you cannot Print from this workbook", vbInformati on

End Sub

Nhấn Ctrl+Q để quay Excel lưu lại Từ bây giờ, có có muốn lệnh in bảng tính này, khơng có xảy Dịng lệnh MsgBox đoạn code

một tùy chọn, bạn nên sử dụng nó, để lại thơng tin đó, để người khác khơng tưởng lầm máy in họ bị hư, chương trình Excel có lỗi!

Nếu bạn muốn ngăn chận in phần bảng tính, ví dụ khơng cho in Sheet1 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", _

(18)

Dĩ nhiên bạn thêm vào Sheet có bảng tính bạn Chỉ việc nhập tên vào hàng có lệnh Case, tách biệt Sheet với Sheet khác dấu phẩy, nhớ nhập tên Sheet cặp dấu nháy kép Trong trường hợp bạn muốn ngăn chận không cho in Sheet mà thôi, bạn cần nhập tên Sheet (trong cặp nháy kép) sau chữ Case, không cần gõ dấu phẩy

Ngăn chận việc chèn thêm Sheet vào bảng tính

Excel có chức Protect Workbook, khơng cho phép thay đổi cấu trúc

bảng tính thêm, xóa, di chuyển, hay đổi tên Sheet Tuy nhiên, bạn muốn ngăn chận việc thêm Sheet thơi, cịn việc khác cho phép Đoạn code sau 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ó chèn thêm Sheet vào bảng tính, trước tiên Excel xuất hộp cảnh cáo: "Xin lỗi, bạn thêm Sheet vào bảng tính này", lập tức, Excel xóa Sheet thêm vào nút OK hộp cảnh báo nhấn Cơng dụng dịng lệnh Application.DisplayAlerts = False khơng hiển thị hộp cảnh báo xác nhận việc xóa Sheet Excel

Một cách khác để ngăn chận việc chèn thêm Sheet vào bảng tính bạn chọn

(19)

Chiêu thứ 04: Ngăn chặn nhắc nhở không cần thiết

Exel luôn cảnh báo nhắc nhở bạn xác nhận hành động thao tác bạn Bài hướng dẫn bạn cách loại bỏ thông báo nhắc nhở Các kiểu cảnh báo mà đề cập câu hỏi mà Excel hỏi bạn có cho macro hoạt động hay khơng thơng báo hành động xóa trang bảng tính Sau số loại cảnh báo Excel:

Thơng báo kích hoạt Macro trong workbook khơng có macro Lỗi phát sinh bạn thực ghi macro workbook, bạn xóa tất mã lệnh macro lần mở workbook sau Excel cảnh báo bạn workbook có chứa macro

Xóa macro: vào ngăn Developer | chọn Macro | chọn macro nhấn Delete để xóa [E2003: Tools | Macro | Macros]

Bạn nhận thơng báo kích hoạt macro thiết lập mức an toàn “Disable all macro with notification” [E2003: mức Medium]

Nếu mức an toàn thiết lập “Enable all macors” [E2003: mức Low] macro tự động kích hoạt mà khơng có tiếng kêu cảnh báo

Nếu mức an toàn “ Disable all macros without notification” [E2003: mức High] macro tự động bị khóa lại khơng phép thực thi

Khi bạn ghi macro, Excel chèn module vào để chứa lệnh bạn hàm Vào lúc mở bảng tính, Excel kiểm tra xem bảng tính có chứa module không chúng rỗng hay chứa mã lệnh Việc xóa macro bảng tính xóa tất mã lệnh chứa bên module mà không xóa module – giống việc uống cạn lon sửa bỏ lại vỏ hộp sửa vào lại tủ lạnh Do vậy, bạn cần phải xóa module theo hướng dẫn sau

(20)

Các nút lệnh ngăn Developer

Nếu không thấy cửa sổ Project bạn vào View chọn Project Explorer nhấn tổ hợp phím Ctrl+R

Cửa sổ Project Explorer

(21)

Thông báo nhắc nhở lưu trữ khơng có thay đổi

Bạn nhận thấy đơi bạn mở bảng tính xem số thơng tin mà Excel nhắc nhở bạn lưu lại thay đổi Personal Macro Workbook bạn khơng thay đổi Có thể bạn biết chưa, bạn có sử dụng hàm volatile (là hàm có sử dụng phương thức volatile) Personal Macro Workbook

Một personal macro workbook bảng tính ẩn tạo lần bạn ghi macro (Tools | Macro | Record NewMacro) với tùy chọn “Personal Macro

Workbook” “Store Macro in” Macro mở bạn sử dụng Excel Một hàm volatile làm bảng tính tự động tính tốn lại bạn thực thao tác Excel, bao gồm việc mở đóng bảng tính ứng dụng Excel Hai số hàm volatile phổ biến hàm Today() Now()

Hộp thoại Record Macro

(22)

Nếu bạn muốn Excel dừng việc thông báo lưu trữ thay đổi mà bạn khơng thực hiện, bạn có vài cách thực Cách dễ thấy ta không lưu hàm volatile Personal Macro Workbook nên xóa bỏ tất hàm

volatile có Hoặc, bạn cần hàm volatile khơng muốn Excel lưu lại thay đổi khơng nhìn thấy bạn thêm đoạn code sau vào Workbook module Personal Macro Workbook để đánh lừa bảng tính lưu

Private Sub Workbook_BeforeClose(Cancel As Boolean) Me.Saved = True

End Sub

Để mở Personal Macro Workbook bạn vào View | Unhide nhóm Window [E2003: Window | Unhide], chọn Personal.xls từ hộp thoại Unhide nhấp nút OK 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 cửa sổ Project chọn View Code nhập đoạn mã vào Sau nhập xong, bạn nhấn tổ hợp phím ALT+Q để đóng sổ VBE lại

Tất nhiên, bạn có sử dụng hàm volatile để tính tốn lại bảng tính bạn muốn lưu thay đổi bạn dùng đoạn mã sau thay cho đoạn mã nêu

Private Sub Workbook_BeforeClose(Cancel As Boolean) Me.Save

End Sub

Đoạn mã lưu lại Personal Macro Workbook cách tự động mở

Dừng cảnh báo Excel macro ghi

(23)

khi thực thi macro bạn nhận 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 hướng dẫn sau:

Chọn ngăn Developer | Macros nhóm Code nhấn ALT+F8 [E2003: 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 nhấn nút Edit Đặt trỏ lên trước dòng lệnh thủ tục 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 bạn sau thêm dòng lệnh giống sau: Sub MyMacro( )

'

' MyMacro Macro

Application.DisplayAlerts = False ActiveSheet.Delete

Application.DisplayAlerts = True End Sub

Lưu ý rằng, bạn bật chức cảnh báo Excel lại dòng lệnh cuối macro Nếu bỏ dịng lệnh này, bạn khơng nhận cảnh báo điều gây nguy hại bạn vơ tình thực thao tác nhầm lẫn nghiêm trọng mà không nhận cảnh báo để xác nhận hành động

(24)

Đơi bạn có thơng tin sheet bạn khơng muốn người dùng đọc Bạn muốn có khu vực (có thể sheet) ghi chép liệu, công thức, chi tiết vụn vặt khơng muốn cho nhìn thấy

Thí dụ sheet chứa vùng làm liệu cho Data Validation, Combobox, tên biến giá trị biến dùng làm const VBA, thông tin nhạy cảm thứ khác Mặc dù bạn dấu sheet cách chọn View

➝Hide mục chọn Window (đối với Excel 2003 Format ➝Sheet ➝Hide), tốt bạn làm cách khác để người dùng chọn View ➝

Unhide mục chọn Window (đối với Excel 2003 Format ➝Sheet ➝ Unhide)

(25)

Thay vậy, bạn thiết lập trạng thái cho sheet dạng xlVeryHidden Vào

Developer ➝Visual Basic nhấn Alt-F11 để vào trang soạn thảo VBE (đối với Excel 2003 vào menu Tools ➝Macro ➝Visual Basic Editor nhìn bên trái khung Project Explorer, khơng thấy chọn View - Project Explorer Tìm tên file bấm vào dấu cộng để tên sheet Chọn tên sgeet bạn muốn dấu, mở khung Property cách vào menu View – Property Window (hoặc nhấn F4) Chọn tab Alphabetic, tìm dòng Visible chọn 2-

xlsSheetVeryHidden Nhấn Alt-Q để trở trang tính Excel, lưu thay đổi Sheet bạn chẳng thấy cách thông thường menu View – Unhide hay Format – Sgeet – Unhide

(26)

Chiêu thứ 06: Tự thiết kế bảng tính mẫu (template)

(27)

Name công thức; đồng thời cịn tạo hộp thoại riêng vào Thư viện Templates Excel

Khơng biết là, có bạn sử dụng Template khơng? Nghĩa thay nhấn

Ctrl+N để tạo bảng tính mới, bạn nhấn vào nút Office, chọn lệnh New

[E2003: File | New], chọn kiểu bảng tính thiết kế sẵn thư viện Template, sau sửa lại bảng tính thành mình?

Chọn bảng tính thiết kế sẵn thư viện Templates Excel

(28)

Và, công việc, bạn phải thường xun thiết kế bảng tính có cấu trúc giống nhau, nghĩ việc bạn thường làm mở bảng tính có, xóa phần nội dung lưu lại với tên khác, phải không? Nhưng cách làm này, đơi sơ ý, bạn xóa công thức mà bạn hàng để nghĩ ra, phải thời gian cho thao tác xóa Vậy, có bạn nghĩ đến chuyện làm giống Template có sẵn Excel khơng? Để cần loại bảng tính (một bảng lương, bảng chấm cơng, báo giá, v.v ) bạn việc vào Thư viện Templates, chí vào "Thư viện riêng" bạn, lấy mẫu việc nhập số liệu vào? Tiết kiệm thời gian Chiêu thứ giúp bạn thực điều vừa nói

Tạo bảng tính mẫu

Những Template cho phép bạn có sẵn "dự án" (project), có nghĩa bạn có sẵn mơt bảng tính, bao gồm phần tiêu đề bảng tính, số hàng cột với tiêu đề nó, cơng thức, Name (nếu có) Ví dụ, Template

(29)

Template BillingStatement1 có sẵn Excel 2007

(30)

Chọn loại file Excel Template cửa sổ Save

(31)

Excel tự động chọn thư mục để lưu Template

(32)

Chọn My Template để mở bảng tính mẫu lưu

(33)

Excel tự động chọn thư mục để lưu Template Tạo tab riêng cửa sổ My Templates

Như bạn thấy hình phía đây, bạn nhấn My Templates cửa sổ New Workbook, cửa sổ New mở Để ý tí, bạn thấy cửa sổ có dạng tab Nhưng nó tab My Templates Giả sử bạn tạo nhiều bảng tính mẫu, thay "nhét" tất vào chỗ, bạn có muốn tạo thêm tab riêng cho loại mẫu khơng? Ví dụ, tab "Báo cáo thuế", tab "Báo giá", v.v hay ?

Khi bạn nhấn F12 để lưu lại với dạng Template tơi trình bày phần trên,

(34)

Nhấn nút Create New Folder để tạo thêm tab cho Template

Một hộp thoại mở ra, bạn nhập tên cho nhóm biểu mẫu mà bạn muốn Ở đây, tơi tạo thêm nhóm "Báo cáo thuế" để lưu bảng tính dùng để in báo cáo nộp cho quan thuế, nhấn OK, đặt tên cho Template,

(35)

Bạn thấy không, cửa sổ New này, có thêm tab "Báo cáo thuế" Hay nhỉ!

Một điều lưu ý, không thừa Tất Template thư mục mà bạn tự tạo này, nằm đây:

C:\Documents and Settings\Owner\Application Data\Microsoft\Template

Với Owner tên Acount mà bạn tạo sử dụng Windows Tôi thử thay đổi nơi lưu Template này, không Khi chọn My Template

(36)

Chiêu thứ 07: Tạo mục cho Sheet Workbook

Nếu bạn tốn nhiều thời gian workbook (bảng tính) với nhiều worksheet (trang tính), bạn cảm thơng khó khăn việc tìm kiếm trang tính Khi đó, có lẽ ta nên lập mục trang tính có để thuận tiện cho việc điều hướng bảng tính

Bằng cách sử dụng mục trang tính cho phép bạn nhanh chóng dễ dàng điều hướng bảng tính, cú nhấp chuột đưa bạn đến xác nơi bạn muốn đến mà khơng lo bị nhầm lẫn Bạn tạo mục vài cách: tay, tự động tạo mã VBA, sử dụng trình đơn tùy chọn theo ngữ cảnh (thậm chí dùng hàm Macro4 – khơng trình bày đây)

Tạo mục thủ công

Cách dễ làm, bạn cần chèn worksheet đăt cho tên, ví dụ tên Index Sau đó, bạn nhận vào tên worksheet có workbook tạo siêu liên kết (hyperlink) đến worksheet tương ứng với tên mà bạn nhập

(37)

Hộp thoại Insert Hyperlink

Chọn Place in This Document chọn tên Sheet muốn kết nối tới Nhấn nút OK để hoàn tất

Phương pháp phù hợp bảng tính khơng có q nhiều worksheet tên worksheet khơng có thay đổi thường xun, khơng gây nhiều khó khăn cho cơng tác bảo trì trang mục

Tạo mục tự động cách sử dụng VBA

Một cách thay khác sử dụng VBA để tự động tạo mục Đoạn mã sau tự động tạo bảng mục liên kết đến tất worksheet mà bạn có workbook Bảng mục tạo lại worksheet lưu mục chọn

(38)

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 =

With Me

.Columns(1).ClearContents Cells(1, 1) = "INDEX" End With

For Each wSheet In Worksheets If wSheet.Name <> Me.Name Then lCount = lCount +

With wSheet

Range("A1").Name = "Start" & wSheet.Index

Hyperlinks.Add Anchor:=.Range("A1"), Address:="", SubA ddress:= _

"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 để VBE trở 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 workbook sau chọn lại worksheet Index để kích hoạt kiện

Worksheet_Activate

(39)

theo số mục worksheet bảng tính (worksheet có mục 1, kế 2, 3… n) Điều bảo đảm A1 trang tính có tên khác Nếu ô A1 worksheet bạn đặt tên, bạn nên cân nhắc đến việc thay đổi ô A1 đoạn mã sang địa khác phù hợp

Thêm thuộc tính cho workbook

Lưu ý, bạn có thiết lập Hyperlink base (siêu liên kết sở) workbook hyperlink tạo từ đoạn mã hoạt động được, chúng liên kết đến Name workbook hành Khi thuộc tính hyperlink base thiết lập siêu liên kết trỏ đến hyperlink base kết hợp với Name Thêm thuộc tính Hyperlink base: Vào Office | Prepare | Properties | Document Properties | chọn Advanced Properties [E2003: File | Properties | Summary] nhập vào hyperlink base Ví dụ nhập vào

(40)

Siêu liên kết trước sau thêm Hyperlink base

Thêm lệnh gọi mục vào trình đơn ngữ cảnh

(41)

Thêm lệnh “Sheet Index” vào trình đơn ngữ cảnh

Nhấn Alt+F11 để mở cửa sổ VBE, sau nhập đoạn mã sau vào cửa sổ Code của ThisWorkbook:

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, B yVal Target As Range, Cancel As Boolean)

Dim cCont As CommandBarButton On Error Resume Next

Application.CommandBars("Cell").Controls("Sheet Index").Dele te

On Error GoTo

Set cCont = Application.CommandBars("Cell").Controls.Add _ (Type:=msoControlButton, Temporary:=True)

With cCont

.Caption = "Sheet Index" OnAction = "IndexCode" End With

End Sub

Tiếp theo, bạn vào Insert | Module nhập vào đoạn mã sau: Sub IndexCode()

Application.CommandBars("workbook Tabs").ShowPopup End Sub

(42)

Chiêu thứ 08: Giới hạn vùng cuộn bảng tính Nếu bạn khơng muốn cuộn kéo bảng tính lên xuống qua phải nhiều, bạn có liệu vùng mà khơng muốncho nguời dùng xem, bạn giới hạn vùng nhìn bảng tính phạm vi bạn cho phép

Các bảng tính tạo Excel 2007 có số cột tối đa 16.384, Excel trước 256 (từ A đến IV), có số dịng tối đa 1.048.576 (trước 65.536) Nhưng thường bạn sử dụng hết Bạn giới hạn cho người dùng xem phạm vi đó, cịn liệu nhạy cảm, bạn để ngồi vùng Ngồi cịn hạn chế vơ tình kéo cuộn xuống dòng 500.000 đến lượt người khác la làng kéo chẳng thấy mà xem

Bạn dùng cách đơn giản dấu (Hide) dòng cột muốn dấu cách định nghĩa vùng cho phép xem kích hoạt vùng có liệu

1 Dấu dòng cột:

Cách dễ dấu dịng cột khơng dùng đến:

Trên sheet hành, xác định dịng cuối có liệu, nhấn chọn dịng nó, nhấn thêm lúc Ctrl + Shift + mũi tên xuống để chọn đến cuối dòng cuối

(1.048.576) Sau tab Home, chọn Format Hide & Unhide – Hide Rows Excel 2007 Format - Row - Hide 2003 trở trước, click phải chuột chọn Hide

Làm tương tự để dấu cột không dùng đến: tìm cột cuối, click chọn cột kế bên, nhấn Ctrl + Shift + mũi tên sang phải, chọn hide columns

(43)

2 Xác định vùng sử dụng Property:

Bằng cách sử dụng Property sheet VBA, bạn ấn định vùng làm việc phạm vi mong muốn Thực sau:

Nhấn chuột phải vào tên sheet tab Sheet Names, chọn View code, nhấn Alt + F11, chọn tên sheet cửa sổ Project Explorer, xuống khung Property, tìm dịng ScrollArea gõ vào địa vùng mong muốn thí dụ

(44)

Quay trở lại bảng tính thử kéo cuộn, ta thấy cuộn xuống đến dịng 50 cuộn ngang đến cột H tối đa, không cuộn

Tuy vậy, Excel khơng lưu tính chất lưu bảng tính, nên lần sau mở file lên phải set Property lại Do ta phải viết đoạn code thực điều kích hoạt sheet Vào vùng soạn thảo code sheet muốn, chọn kiện worksheet_activate:

Private Sub Worksheet_Activate ( ) Me.ScrollArea = "A1:H50"

End Sub

Bây kích hoạt bảng tính, VBA ấn định vùng giới hạn mong muốn

(45)

cuộn khỏi vùng, bạn cố chọn ô nằm vùng cho phép không được, kể cột I, J, K dù bạn có ngó thấy để thèm thơi

Thậm chí với đoạn code VBA bạn tạo sau này, có câu lệnh select vùng nằm vùng cho phép, chọn ngun cột ngun dịng, khơng chọn

Để thực thi đoạn code bạn phải cho vào code dòng lệnh: Đầu code thêm dòng: ActiveSheet.ScrollArea = ""

Cuối code thêm dòng: ActiveSheet.ScrollArea = "$A$1:$G$50"

Thí dụ:

Sub MyMacro( )

ActiveSheet.ScrollArea = "" Range("Z100").Select

Selection.Font.Bold = True

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 chọn ô Z100 sheet hành định dạng in đậm Sau chọn ô T500 sheet khác, định dạng in thường (không đậm) Trước thực chọn định dạng sheet nào, phải set vùng cuộn sheet “” Sau định dạng,set trả vùng giới hạn cuộn theo mong muốn

3 Chỉ kích hoạt vùng liệu hành:

Phương pháp linh hoạt hơn, tự động giới hạn vùng cuộn bảng tính vừa vùng liệu bảng tính mà bạn đặt code sau:

(46)

Đoạn code chạy bạn kích hoạt bảng tính mà bạn đặt code Dù có hạn chế bạn khơng thể thêm liệu vào dòng cột Bạn mở rộng vùng giới hạn thêm dòng cột đoạn code sau:

Private Sub Worksheet_Activate() With Me.UsedRange

Me.ScrollArea = Resize(.Rows.Count + 5, Columns.Count + 2).Add ress

End With End Sub

Còn bạn muốn nữa, nhập liệu thêm cách thoải mái, dùng đoạn code nhằm reset vùng cuộn nguyên sheet::

Sub ResetScrollArea( )

ActiveSheet.ScrollArea = ""

End Sub

(47)

Sau bạn muốn nhập liệu, nhấn Ctrl + W trước nhập liệu Khi nhập liệu xong, cần bạn kích hoạt sheet khác xong quay lại sheet này, vùng cuộn lại bị giới hạn đoạncode (Worksheet_Activate())

Chiêu thứ 09: Khóa bảo vệ có chứa cơng thức

(48)

Khi tạo bảng tính, thường phải dùng đến số công thức, chia sẻ bảng tính cho người, bạn muốn rằng, khơng can thiệp (xóa, sửa ) vào có chứa cơng thức Cách dễ phổ biến Protect (bảo vệ) bảng tính Tuy nhiên, Protect bảng tính không ngăn không cho can thiệp vào ô chứa cơng thức, mà khơng cho can thiệp vào tất cả, nghĩa khơng làm bảng tính bạn Đơi khi, bạn lại khơng muốn vậy, bạn muốn bảo vệ ô chứa cơng thức thơi, cịn chứa liệu khơng

Có ba giải pháp để thực điều này: Khóa chứa cơng thức, sử dụng chức Data-validation cho ô chứa công thức, tự động bật tắt chức bảo vệ

Khóa ô chứa công thức

Theo mặc định, tất bảng tính khóa (locked), nhiên, chẳng có tác dụng bạn áp dụng lệnh Protect bảng tính Đây cách dễ để áp dụng lệnh Protect cho bảng tính, chứa cơng thức bị khóa, bảo vệ:

(49)

Mở khóa (Unlock) tồn bảng tính cách bỏ tùy chọn Locked

(50)

Dùng hộp thoại Go To Special để chọn có chứa cơng thức

Trong hộp thoại đó, bạn nhấn vào tùy chọn Formulas, cần thiết chọn không chọn thêm ô nhỏ (liệt kê loại cơng thức, mặc định chọn), nhấn OK Sau đó, bạn mở lại hộp thoại Format Cells nói trên, lần bạn đánh dấu vào tùy chọn Locked, bạn thích ẩn ln cơng thức (khơng cho thấy) đánh dấu vào tùy chọn Hidden, nhấn OK Việc cuối Protect bảng tính: Chọn Home Ribbon, nhấn vào Format

(51)

Chọn Protect Sheet từ Home

Chọn Protect Sheet từ Review

Trong hộp thoại Protect Sheet, bỏ đánh dấu tùy chọn Select locked cells, cho phép Select unlocked cells (chọn khơng khóa), nhập vào

(52)

Bỏ tùy chọn Select locked cells hộp thoại Protect Sheet

Vậy xong Từ bây giờ, ô chứa công thức bạn bảo vệ, khơng xem thấy bạn chọn Hidden, bạn không lo công thức bị can thiệp

Sử dụng Data-validation

(53)

Sử dụng Data Validation để bảo vệ ô chứa công thức

Kể từ đây, bạn nhập thứ vào chứa cơng thức, bạn muốn sửa lại cơng thức, có cảnh báo xuất hiện, ngăn không cho bạn nhập vào Xin nhắc lại, phương pháp khơng cấm việc xóa hẳn cơng thức, dán đè thứ vào ô chứa công thức

Tự động bật tắt chức bảo vệ

Phương pháp này, tự động bật chức bảo vệ bảng tính (Protect) bạn chọn khóa (locked), tự động tắt chức bảo vệ bạn chọn khơng bị khóa

Để bắt đầu, bạn chắn ô bạn muốn bảo vệ (ơ chứa cơng thức) khóa, cịn khơng cần bảo vệ khơng bị khóa, tơi trình bày phương pháp thứ Sau đó, bạn nhấn Alt+F11, nhấn vào Sheet mà bạn muốn bảo vệ khóa đó, nhập vào khung soạn thảo đoạn code sau đây:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Locked = True Then

(54)

Else

Me.Unprotect Password:="Secret" End If

End Sub

Nếu không cần đến password, bạn không cần dùng đoạn Password:="Secret", muốn Password thứ khác, bạn sửa lại chữ Secret bạn muốn Nếu bạn lo người ta vào khung soạn thảo VBA để xem password, bạn bảo vệ code (không cho xem) cách chọn Tools

VBAProject Properties, chọn tab Properties, chọn Lock Project for Viewing, nhập vào password

Tuy nhiên, phương pháp khơng hoạt động hồn hảo, giúp bạn phần việc bảo vệ cơng thức Từ khóa Target sử dụng

trong đoạn code để tham chiếu đến "active" thời điểm chọn (xin nói thêm, cho dù bạn chọn dãy, dãy đó, có "active" mà thơi, có màu khác với cịn lại) Vì lý này, người chọn dãy (với "active" khơng bị khóa), người xóa tồn dãy này, chức Unprotect tự động bật!

Chiêu thứ 10: Sử dụng định dạng theo điều kiện để tìm liệu trùng

Định dạng theo điều kiện Excel thường sử dụng để xác định giá trị phạm vi cụ thể bảng tính, cải tiến để nhận dạng trùng lắp liệu danh sách bảng Chức định dạng theo điều kiện Excel 2007 cải tiến, hướng dẫn thích hợp cho phiên từ Excel 2003 trước

(55)

Ví dụ như, bạn có bảng liệu vùng $A$1:$H$100 Bạn chọn cách chọn – bên trái bảng (A1) kéo chuột đến ô bên phải (H100) Điều quan trọng, ta muốn A1 phải hành (active) vùng lựa chọn Sau vào Format | chọn Conditional Formatting….

Lệnh định dạng theo điều kiện Excel 2003

Trong hộp thoại Conditional Formatting, bạn chọn Formulas Is tại Condition 1

và nhập công thức sau vào hộp trống bên cạnh: =COUNTIF($A$1:$H$100,A1)>1

(56)

Nhấn chọn nút Format | chọn màu kiểu chữ ngăn Font chọn màu ngăn Patterns Nhấn OK hoàn tất việc định dạng Nhấn tiếp OK để áp dụng định dạng cho vùng liệu chọn

Hộp thoại Format Cells

Theo bảng số liệu minh họa hầu hết có liệu trùng trừ hai ô H7 H49

Trong công thức định dạng theo điều kiện này, ta sử dụng tham chiếu tương đối cho địa ô cần kiểm tra vùng địa xác định Bằng cách sử dụng định dạng theo điều kiện này, Excel tự động nhận biết địa ô làm điều kiện hàm COUNTIF Cụ thể cơng thức định dạng theo điều kiện ô sau:

(57)

Ơ B1 có cơng thức là: =COUNTIF($A$1:$H$100,B1)>1 Ơ B2 có cơng thức là: =COUNTIF($A$1:$H$100,B2)>1 …

Định dạng theo điều kiện Excel 2007 có sẵn tính làm giá trị trùng vùng liệu Các bước thực sau:

Chọn vùng liệu | vào ngăn Home | chọn Conditional Formatting | chọn

Highlight Cells Rules | chọn Duplicate Values…

Lệnh Duplicate Values Conditional Formatting Excel 2007

(58)

Hộp thoại Duplicate Values

Chiêu thứ 11: Tìm liệu xuất nhiều lần công cụ Conditional Formating

Dù cho công cụ Conditional Formating cải tiến nhiều Excel 2007, giúp tìm liệu trùng (Duplicate), chưa cung cấp tính tìm liệu xuất lần nhiều

Nếu bạn muốn xác định liệu lần nhiều hơn, bạn dùng Conditional Formating với số lượng nhiều điều kiện, giới hạn cho phép nhớ hệ thống (Nhớ Excel 2003 trở trước, chấp nhận có điều kiện) Sau bạn gán định dạng màu sắc cho điều kiện

Để thực hiện, chọn ô A1 ô bên trái vùng liệu, bấm shif clickvào ô H100 Cần nhắc bạn 1lần nữa, phải làmđúng trìnhtự ô chọn (activecell) ô A1 Bây vào tab Home, Conditional Formating, NewRule mục Style Chọn [FONT=Birka]Use a Formula to determine which cells to format” click chọn “Format values where this formula is true.” Đối với Excel 2003: Format, Conditional Formating, chọn Formula Is) Trong ô trống gõ công thức:

(59)(60)

Nhấn nút Format, chọn màu màu chữ cho ô chứa liệu xuất lần, OK

(61)

Nhấn New Rule (trong Excel 2003 chọn vào điều kiện thứ 2), làm tiếp điều kiện, lần 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 điều kiện, lần công thức là: =COUNTIF($A$1:$H$100,A1)=2

Nhớ lần chọn màu khác

Kết quả: bạn có có màu khác cho liệu xuất lần, lần, nhiều

(62)

Chiêu thứ 12: Tạo riêng công cụ cho riêng bảng tính cụ thể

Bạn tạo công cụ riêng cho mình? Bạn có thấy rằng, cơng cụ ln nạp vào Excel, hiển thị, với bảng tính nào, với người sử dụng nào? Có bao giờ, bạn muốn rằng, cơng cụ tự tạo hiển thị với bảng tính cụ thể mà thơi khơng?

Ví dụ, bạn tự tạo cơng cụ có chứa nút dùng để hỗ trợ việc nhập công thức xử lý bảng (những dấu =, +, -, *, /, nút dùng để xóa hàng, xóa cột, v.v ), tạm gọi công cụ A, phục vụ riêng cho bảng tính B Và bạn muốn, làm để bạn mở bảng tính B, thấy cơng cụ A bạn, cịn mở bảng tính khác, thấy cơng cụ mặc định Excel? Thậm chí cửa sổ Excel, bạn kích hoạt bảng tính B, thấy cơng cụ A, cịn nhấn Ctrl+Tab để chuyển sang bảng tính khác, công cụ A biến mất?

Thiết nghĩ, hẳn có lúc bạn muốn điều tơi vừa nói Vì giúp cho cơng cụ Excel gọn gàng, ngăn nắp (luôn công cụ mặc định Excel), bạn, mà người khác, khơng có bỡ ngỡ với công cụ lạ hoắc; là, mở bảng tính B ra, cần đến cơng cụ A, cịn bình thường chẳng cần

Việc này, khơng có khó Bạn cần chèn đoạn code đơn giản vào "Private module" bảng tính

Trước hết, bạn tạo cho riêng cơng cụ Đặt tên cho "MyCustomToolbar" chẳng hạn

(63)

Nhấn phải chuột vào biểu tượng Excel nhỏ bên trái menu File chọn View Code

Rồi, 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

.Visible = True End With

On Error GoTo End Sub

(64)

Private Sub Workbook_Deactivate() On Error Resume Next

Application.CommandBars("MyCustomToolbar").Enabled = Fal se

On Error GoTo End Sub

Bạn thay "MyCustomToolbar" tên mà bạn đặt cho công cụ tự tạo bạn Sau bạn nhấn Alt+Q để trở Excel

Để thử, bạn mở thêm bảng tính nữa, Book2.xls chẳng hạn Bạn thấy, bạn chọn bảng tính mà có đoạn code trên, bạn thấy

"MyCustomToolbar", chọn Book2 (chuyển đổi qua lại bảng tính Ctrl+Tab), "MyCustomToolbar" biến mất! Chọn lại bảng tính ban đầu, "MyCustomToolbar" xuất lại Vậy thành công rồi!

Được voi đòi tiên Bây giờ, giả sử bạn muốn rằng, bảng tính,

nhưng có Sheet1 thấy "MyCustomToolbar", cịn Sheet khác khơng? Được thơi Bạn viết thêm "Level" cho đoạn code Hãy bảo đảm bạn chọn bảng tính có chứa code (tốt bạn đóng Book2 đi) Quay trở lại cửa sổ VBA, bạn nhấn phải chuột vào Sheet mà bạn muốn thấy "MyCustomToolbar", chọn View Code (hoặc nhấn đúp vào tên Sheet được) Ở 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 = Fal se

(65)

End Sub

-

Private Sub Worksheet_Activate() On Error Resume Next

With Application.CommandBars("MyCustomToolbar") Enabled = True

.Visible = True End With

On Error GoTo End Sub

Rồi nhấn Alt+Q để quay lại Excel Bây giờ, bạn dùng chuột nhấn

Ctrl+PgUp/Ctrl+PgDn để chọn qua lại Sheet xem thử xuất hình

Chiêu thứ 13: Sao chép công thức giữ nguyên tham chiếu tương đối

Giống chép tham chiếu tuyệt đối)

Trong Excel, cơng thức chứa tham chiếu tương đối tuyệt đối Khi công thức có tham chiếu tương đối chép, tính chất, tham chiếu chạy theo đến chỗ Chỉ có cơng thức có tham chiếu tuyệt đối giữ nguyên chép

Xin nhắc lại tí:

Khi bạn muốn cơng thức, copy đâu, tham chiếu đến vùng cố định đó, bạn phải dùng tham chiếu tuyệt đối cách thêm dấu $ vào tham chiếu thí dụ $A$1 Bạn thêm dấu $ vào tiêu chí dịng tiêu chí cột để cố định chiều copy công thức

(66)

tham chiếu, lại không muốn chuyển thành tuyệt đối? Có nhiếu cách để làm Tô đen công thức công thức (formula bar) copy, khơng copy ơ, đích paste vào công thức Cách dùng bạn chép ô

2 Khi bạn muốn chép khối ơ, Find and replace: - trước tiên, tô chọn khối muốn copy

- Nhấn Ctrl + H phím tắt Home – Find & Select – Replace (2007) Edit – Replace (2003)

- ô find what: gõ dấu =

- ô replace with: gõ dấu “và” (&), dấu nháy đơn („), ký tự không dùng công thức

- Nhấn Replace All

- Để nguyên vậy, nhấn ctrl + C

- Qua vị trí cần chuyển đến, nhấn Ctrl + V

- Để nguyên vậy, chuyển ngược lại dấu & dấu nháy thành dấu = với công cụ find and replace

- Trở vùng nguồn hồi nãy, chuyển ngược dấu & thành dấu =

Nghe nhiêu khê, nhanh sửa tham chiếu tương đối thành tuyệt đối khối ô, chuyển ngược lại

Ghi chú: Nếu vài dùng cách nhanh (Nói nhỏ: cách Ptm0412, bạn thích xin nhấn thank phát)

Chiêu thứ 14: Gỡ bỏ liên kết ma

Bạn mở bảng tính, nhận thơng báo: "Update links", chẳng có link nào! Làm để Update link không tồn tại?

(67)

phần lớn lý việc di chuyển chép Sheet đến bảng tính khác Và đó, chúng trở thành "liên kết ma", nghĩa thấy đường link, chúng dẫn đến từ đâu Sau vài cách giúp bạn xử lý liên kết ma

Đầu tiên, bạn cần xem lại liệu công thức bảng tính bạn có chứa liên kết ngồi (mà khơng phải liên kết ma) khơng Nếu bạn

không công thức bảng tính bạn có liên kết ngồi, bạn sử dụng cơng cụ tìm kiếm Khi tìm rồi, bạn việc đơn giản sửa lại cho xác, xóa hẳn chúng khơng cần thiết

Bạn vào trang web này:

http://www.microsoft.com/downloads/s displaylang=vi, để tải công cụ Delete

Links Wizard, công cụ thiết kế để tìm xóa tất liên kết liên kết đến Name, liên kết đến Name ẩn, đến đồ thị, query, đối tượng Tuy nhiên, cơng cụ khơng tìm liên kết ma Cho dù bạn tin rằng, khơng có cơng thức có chứa liên kết, bạn cần phải chắn khơng có liên kết ma núp Để làm việc này, tơi thường mở hộp thoại Name Manager, dò Name một, để chắn khơng có Name chứa tham chiếu đến bảng tính khác

Với Excel 2003, thay nhấn vào tên để xem tham chiếu khung Refers to, bạn sử dụng cách này, nhanh hơn: Chọn menu Insert | Name | Paste, hộp thoại Paste Name, nhấn vào nút Paste Link Excel tạo danh sách Name có bảng tính, tham chiếu nó, bảng tính, để bạn kiểm tra

(68)

Tuy nhiên, với tất phiên Excel, cách nhanh để gọi hộp thoại Paste Name, nhấn F3

Nếu có Name tham chiếu đến vùng ngồi bảng tính, bạn thấy chúng có chứa đường link giống hiển thị hộp thoại cảnh báo Update Link bạn mở bảng tính Và bạn tự định sửa lại đường link cho đúng, xóa Name

Có loại kiên kết khác nữa, nằm biểu đồ Khi bạn kiểm tra công thức, Name tơi vừa trình bày, mà bảng tính bạn đòi Update Link, bạn nên kiểm tra biểu đồ (nếu có), nghĩa kiểm tra vùng liệu nhãn X-asis biểu đồ xem chúng có chứa liên kết ngồi khơng Nếu tìm thấy, sửa lại đường link cho

Các liên kết ngồi cịn núp đối tượng (object) Text box, hình vẽ, v.v Các đối tượng liên kết đến bảng tính khác Cách dễ để chọn nhanh đối tượng, bạn đứng bảng tính, chọn Home | Find & Select | Go to Special [E2003: Edit | Go to | Special], nhấn F5, kích hoạt tùy chọn Object nhấn OK Các thao tác chọn tất đối tượng (object) có bảng tính Bạn nên làm việc sau file: Với tất đối tượng chọn, bạn xóa, lưu bảng tính, đóng bảng tính, mở lại xem thử có cịn vấn đề khơng

Cuối cùng, nơi mà bạn phải tìm sheet ẩn mà bạn tạo ra, dấu quên Bạn làm cho chúng lên (2007: View ➝Unhide, 2003: Format ➝Sheet ➝Unhide) Nếu mục Unhide bị mờ đi, nghĩa khơng có sheet ẩn Nếu bạn nghi ngờ co sheet siêu ẩn, đọc lại chiêu số để tìm buộc chúng

(69)

Nếu bạn làm cách dễ khơng xong áp dụng cách này:

Mở file lên, file lỗi file link đến Từ ô file lỗi, đánh dấu (=), qua file chọn ô bất kỳ, Enter Bạn tạo link thiệt, link ngon Lưu bảng tính lại, đừng đóng Vào bảng tính lỗi, lại chọn Data – Edit links (2007) Edit Links (2003), Change source, sửa tham chiếu link ma vào bảng tính Lưu lại lần xố chứa link bạn tạo

Cách thường có hiệu trừ ma, Excel nhận bạn xố link đến bảng tính cịn lại Nhưng chưa trừ tận gốc bị lỗi, bạn làm bước tiếp theo, nhớ làm file lỗi

Cách xoá vĩnh viễn liệu bạn, nên tốt tạo dự phòng trước Mở file lỗi lên, delete sheet, lưu, đóng, mở lên lại Nếu khơng cịn thơng báo update link ma, 100% link ma nằm sheet Nếu khơng, delete tiếp sheet để kiểm tra Trước xoá sheet cuối cùng, phải insert sheet trắng Nhớ ghi lại sheet chứa link ma

Tiếp theo, mở file backup hồi lên, back up lần nữa, trở vào sheet lỗi hồi bạn ghi nhớ Bây chọn vùng 10 x 10 ô liệu, xoá lệnh Clear – Clear All Mà khoan, bạn backup lần chưa? Nếu chưa back up Bây 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 xố, lưu, đóng, mở lên xem thông báo update link Đến mà không cịn thơng báo link ma nghĩa link ma nằm vùng 10 x 10 xố Bạn tập trung tìm kiếm khu vực này, một, thấy lòi ma

(70)

Chiêu thứ 15: Giảm kích thước file Excel bị phình to bất thường

Bạn có có 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ý làm cho bảng tính bị phình lên kích thước file có cách để loại trừ Những bí sau giúp bạn bạn có file Excel có kích thước lớn bất thường

Có bạn bị bội thực cố ăn mà chưa tiêu hoá kịp chưa? File Excel Nó bị phình bạn cố nhồi nhét đủ thứ vào bắt phải thực hiện, phải nuốt trọng không kịp nhai, hậu khơng làm việc ý muốn

Tơi thử với file Excel chuẩn với nhiều liệu Với liệu thơ, có kích thước 1,37 Mb Rồi cho vào Pivot Table, sử dụng liệu nguồn cột vùng 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, kích thước file bị nhân đôi

Một nguyênnhân chủ yếu làm tăng kích thước file file Excel trước 2007, chưa có khái niệm table, bạn định dạng màu, cỡ font, màu chữ, đóng khung, cho cột cho dịng, khơng nói bảng tính; khơng định dạng cho khu vực chứa liệu Tôi thấy người mở bảng tính lên, Ctrl A, tơ trắng tồn bộ, đóng khung tồn Khơng họ cịn xác định vùng liệu nguồn cho biểu đồ, cho Pivot table, nguyên cột Có thấy cuộn dọc ngang Excel trở nên nhỏ tí tị, kéo hồi khơng thấy hết mà liệu trống trơn

Để giải bạn phải sửa, bỏ hết định dạng thừa dòng cột trống, bỏ thói quen xố màu fill color cách chọn fill trắng Hãy chọn No Fill! Sau điều chỉnh liệu nguồn biểu đồ, Pivot Table vừa với vùng có liệu

Hãy làm sau: trước hết back up bảng tính lại Gỡ bỏ định dạng dòng cột thừa:

(71)

cùng có định dạng, khơng phải cuối có liệu Khi xác định mắt cuối chứa liệu click chọn ngun dịng kề Lúc ới nhấn Ctrl + Shift + mũi tên xuống để chọn tồn dịng bên vùng có liệu Sau dùng lệnh Clear – All để xố vùng

Tương tự, xác định cuối có chứa 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 cột bên phải Sau lại dùng lệnh Clear – All để xố vùng

Khơng nên dùng lệnh xố dịng cột, có cơng thức tham chiếu đến chúng Lưu bảng tính lại thử xem kích thước file Property:

2007: Office button ➝Prepare ➝Properties ➝Document Properties ➝Advanced Properties

2003: File ➝Properties… ➝General

2 Xố Macro: Khơng phảo xố hẳn Macro, mà gỡ chúng ngồi file Excel: Có cách nhanh, khơng gây hại Export tất modules UserForms vào đĩa cứng Nhấn Alt F11 vào cửa sổ VBA nhấn chuột phải vào module, chọn remove module (tên môdule) Trong thông báo nhấn Yes, chọn thư mục để lưu lại làm tiếp cho Form đừng quên macro lưu trữ sheet workbook

Sau xố xong, lưu bảng tính lại Sau đó, cửa sổ VBA, vào menu File – Import File import hết modue form hồi Làm vậy, ta sử dụng form Macro, tạo1 file text, ngăn chặn thứ linh tinh mà Macro mang theo

Một số ứng dụng Internet làm cơng việc này, biết tiện ích làm rối tung code chí làm tăng kích thước file Tốt trước ứng dụng tiện ích nào, backup file bạn trước

3 Điều chỉnh vùng liệu nguồn:

(72)

xa sau có thêm liệu cập nhật vào dù vài dòng Nếu thiết phải phòng xa vậy, tốt bạn dùng name động Xem thêm tuyệt chiêu số 47

4 Làm sheet:

Trong sheet bạn tồn định dạng thừa, style, autoshape thấy khơng thấy (có lên đến hàng trăm hàng ngàn)

a Xoá object autoshape thừa Để tìm autoshape object ẩn bạn phải vào option Excel sửa lại hình sau:

2007:

(73)

Bạn nhấn Ctrl + G, Special – Object để chọn lúc nhiều object

b Làm không nhìn thấy sheet:

(74)

(xem thêm chiêu số 5) Bây bạnthử xoá sheet (xoá hẳn), lưu lại, vào Property xem lại kích thước Nếu sau xố sheet nào, mà kích thước file giảm đáng kể, sheet chứa nhiều rác (không kể liệu) Vậy, xác định sheet chứa rác bạn phải làm gì?

Bạn mở file backup hồi lên, tạo sheet toanh, chọn vùng liệu sheet chứa rác, dùng lệnh Cut (Ctrl + X), đừng copy, Paste vào sheet Bằng cách cắt (Cut), Excel giữ nguyên tham chiếu cho bạn

Cuối cùng, delete sheet chứa rác

Hy vọng sau này, bạn biết cách xử lý file có kích thước lớn lạ thường

Chiêu thứ 16: Cứu liệu từ bảng tính bị lỗi

Khi bảng tính bị lỗi (corrupt), bị hư, nghĩa bạn bị hết liệu, mà nhiều khi mát đau tiền Chiêu giúp bạn vài cách để phục hồi lại phần liệu bảng tính bị lỗi

Một bảng tính đơi gặp phải lỗi mà bạn chẳng hiểu lý Điều đem lại cho bạn vấn đề trầm trọng, bạn bị hư bảng tính quan trọng mà bạn chưa lưu dự phịng Do đó, học là: Ln ln lưu bảng tính bạn vào nơi khác Nhưng thực tế khơng phải nhớ điều này, và, bảng tính bạn bị hư trước bạn nghĩ đến việc lưu!

Tuy nhiên, bạn đừng thất vọng q, cho dù bảng tính bạn bị lỗi, đơi bạn mở làm

Khi bạn cịn mở bảng tính

(75)

1 Bạn mở bảng tính bị lỗi ra, với phiên Excel cao có thể, lại nhấn lưu thêm lần nữa, nhiên điều khơng cần thiết bạn dùng Excel 2007

2 Nếu bảng tính làm cách khơng hoạt động, bạn cố gắng mở lại lần lưu dạng HTML (Single File Web Page) HTM (Web Page) Rồi đóng lại, lại mở ra, lần lưu lại với dạng bình thường (*.xls chẳng hạn)

Khi lưu dạng HTML HTM, bảng tính bạn bị thứ sau đây: Với bảng tính tạo từ Excel 2007:

- Những tính Excel 2007

- Các PivotTable biểu đồ (chúng lưu lại, hết bạn mở lưu lại với dạng bình thường Excel)

(76)

Với bảng tính tạo từ phiê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 chuyển đổi thành 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), số (superscript), số (subscript)

- Các thay đổi hồi phục (bằng lệnh Undo)

- Các thiết lập định dạng trang cho biểu đồ nhúng bảng tính

- Các danh sách cài đặt cho ListBox ComboBox - Các loại định dạng có điều kiện (Conditional Formatting)

Ngồi ra, bảng tính chia sẻ (shared workbook) phiên trước Excel 2007 không chia sẻ Với biểu đồ, thiết lập cho "Value (Y) axis crosses at category number" tab Scale hộp thoại Format Axis không lưu, tùy chọn "Value (Y) axis crosses a maximum category" chọn; thiết lập "Vary colors by point" hộp thoại Format Data Series không lưu biểu đồ chứa nhiều Data Serie

(77)

Khi bạn khơng cịn mở bảng tính

1 Nếu bảng tính bị hư bạn khơng thể mở nữa, bạn thử dùng Microsoft Word để mở Nghe buồn cười, đơi khi, bạn copy vài liệu bảng tính (dĩ nhiên tất định dạng, cơng thức, v.v hết)

2 Bạn mở bảng tính mới, tạo cho Extenal Link (liên kết ngồi) đến bảng tính bị hư Ví dụ:

(78)

được

3 Nếu hai cách khơng đem lại cho bạn điều gì, bạn vào trang web

Openoffice.org, download phiên miễn phí phần mềm Ngoại trừ tên menu toolbar, Openoffice.org giống Excel, tạo cấu trúc bảng tính với Excel (có đến 96% cơng thức Excel sử dụng bảng tính Openoffice.org)

Sau download phiên miễn phí Openoffice.org, bạn cài đặt vào máy Rồi dùng để mở bảng tính bị hư bạn Trong nhiều trường hợp, liệu bạn phục hồi Tuy nhiên, VBA code khơng cịn cả, VBA code Excel khơng tương thích với Openoffice.org

4 Nếu số bạn đen, dùng Openoffice.org để cứu liệu, cách nữa, bạn phải tiền Một chương trình phục hồi tốt bảng tính bị hư Corrupt File Recovery Bạn tải 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, nhấn Diagnose để phục hồi Bạn thấy thành mình, lưu lại bảng tính, bạn trả tiền quyền, chưa trả tiền quyền, bạn xem khơng thể lưu lại

Chiêu thứ 17: Sử dụng Data-Validation danh sách nguồn nằm Sheet khác

(79)

Chiêu giúp bạn làm cho Data-Validation sử dụng danh sách nguồn nằm Sheet khác Cách thứ lợi dụng việc đặt tên cho dãy Excel, cách thứ hai sử dụng hàm để gọi danh sách

Cách 1: Sử dụng Name cho dãy nguồn

Có lẽ cách nhanh dễ để vượt qua rào cản Data-Validation Excel đặt tên cho dãy mà bạn dùng làm quy tắc nhập liệu Để biết cách đặt tên cho dãy, bạn xem loạt này: Sử dụng tên cho dãy

Giả sử bạn đặt tên cho dãy dùng làm quy tắc nhập liệu MyRange Bạn chọn ô (hoặc dãy) Sheet mà bạn muốn có danh sách xổ để nhập liệu, menu Data Ribbon, bạn chọn Data Tools | Data Validation [E2003: Data | Validation] Chọn List danh sách Allow, khung Source, bạn nhập vào =MyRange Nhấn OK Bởi bạn sử dụng Name để làm List, nên bạn áp dụng Data-Validation cho Sheet

Cách 2: Sử dụng hàm INDIRECT

(80)

Giả sử, dãy chứa danh sách nguồn nằm Sheet1, dãy $A$1:$A$8 Để tạo Dala-Validation, bạn làm bước nói cách 1, thay gõ tên dãy vào Source, bạn nhập vào cơng thức:

=INDIRECT("Sheet1!$A$1:$A$8") Hãy chắn tùy chọn In-cell drop-down kích hoạt, nhấn OK

Nếu tên Sheet bạn có chứa khoảng trắng, có dấu tiếng Việt, bạn phải đặt tên Sheet cặp nháy đơn (') Ví dụ, giả sử tên Sheet chứa danh sách nguồn Sheet (chứ Sheet1), bạn sửa cơng thức lại sau: =INDIRECT("'Sheet 1'!$A$1:$A$8") Chỗ khác so với công thức hồi có thêm dấu nhấy đơn (') sau dấu nháy kép ("), dấu nháy đơn (') trước dấu chấm than (!)

Xin mở ngoặc đơn: Nếu được, gặp tham chiếu đến tên Sheet, bạn nên tập thói quen ln ln bỏ vào cặp dấu nháy đơn Điều này, chẳng có tác dụng với tên sheet Sheet1, DMHH giúp bạn không gặp lỗi, bạn hay đặt tên Sheet có khoảng trắng, có bỏ dấu tiếng Việt

Ưu điểm Khuyết điểm hai cách nêu

Đặt tên cho dãy, dùng hàm INDIRECT, có tiện lợi bất tiện

Tiện lợi việc đặt tên cho dãy, việc bạn thay đổi tên Sheet chẳng có ảnh hưởng đến Data-Validation Và bất tiện việc dùng

(81)

thức dùng INDIRECT, muốn dùng công thức này, bạn phải mở Data-Validation sửa lại tên Sheet công thức

Tiện lợi việc dùng INDIRECT, dãy dùng làm danh sách nguồn bạn luôn nằm yên chỗ chọn (A1:A8 ví dụ chẳng hạn) Còn bạn dùng Name, mà bạn lỡ tay xóa vài hàng (hoặc cột) chỗ chứa Name, bạn phải điều chỉnh lại cho

Chiêu thứ 18: Điều khiển Conditional Formating bằng checkbox

Mặc dù Conditional Formating chiêu mạnh Excel, muốn bật hay tắt ribbon hay menu bực bội Bây ta biến hoá cách điều khiển checkbox giống công tắc (hoặc toggle Button giống hơn)

Conditional Formating có từ đời Excel 97, gán định dạng cho ô thoả số điều kiện Điều kiện điều kiện giá trị, ta tuỳ biến nhiều dùng điều kiện cơng thức, dựa vào ta thay đổi định dạng cho này, có thay đổi giá trị ô khác

1 Dùng Checkbox Toggle Button để xem ẩn liệu:

(82)

(83)

Bây bạn click chọn checkbox nhấn nút Toggle, C2 có giá trị TRUE FALSE

Bây giả sử vùng liệu bạn gồm fields, bạn muốn fields thường xuyên, cịn field thứ cần để xem, khơng cần dấu Bạn đánh dấu chọn vùng chứa field 4, 2007 bạn vào tab Home, Conditional Formating, New Rule, chọn tiếp “use a formula to determine which cells to format”, 2003 Fornat - Conditional Formating - chọn tiếp

(84)(85)

Nhấn vào nút Format, định dạng font chữ màu trắng Nhấn OK OK Nhấn nút design lần để thoát ta khõi chế độ design Mode Và nhấn nút toggle click chọn checkbox xem kết

(86)

Nếu bạn khơng thích định dạng C2 chữ trắng ln, để khỏi thấy chữ TRUE, FALSE lên

2 Tắt mở định dạng màu cho ô:

Dùng Conditional Formating nhằm tô màu ô theo điều kiện giúp ta dễ tìm có giá trị đặc biệt cho trước Excel 2007 có nhiều định dạng khác cho giá trị số nằm khoảng cho trước Nhưng biện pháp để mở tắt checkbox khơng có sẵn

Tương tự phần trên, ta tạo checkbox Toggle Button link tới ô

$C$2 Nhưng lần ta đặt name cho IsFill chẳng hạn Ta đặt name cho ô $A$2 BeginNum $B$2 EndNum, với A2 giới hạn thí dụ 100, B2 giới hạn thí dụ 1.000

Trong vùng liệu B5:B16, ta muốn giá trị nằm khoảng BeginNum EndNum tô màu Vậy dùng conditional Formating trên, chọn vùng C8:C18, lần công thức là:

=AND($C8>=BeginNum,$C8<=EndNum,IsFill) Chọn cho định dạng màu theo ý muốn

Kết quả: nhấn button click checkbox thay đổi trạng thái thành True, ô chứa số khoảng (100, 1.000) tô màu, ô cịn lại khơng tơ Khi thay đổi thành False, ô trở lại bình thường

(87)

(88)

Chiêu thứ 19: Đánh dấu ô chứa công thức bằng Conditional Formatting

Khi có chứa liệu, bạn muốn biết liệu ô đơn liệu nhập vào, hay liệu kết cơng thức Bạn cần click chọn xem cơng thức Bạn dùng phím tắt Ctrl + ~ để

chuyển qua lại chế độ xem giá trị xem công thức

Chiêu số 19 giới thiệu với bạn 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 giúp bạn tìm tất ô chứa công thức số 10.000 ô mà ngó ô

Mặc dù bạn dùng hàm có sẵn Macro4 Conditional Formatting, sau:

Trong hộp thoại Conditional Formatting, chọn công thức, gõ công thức này: = CELL(“type”,A1) Nhưng hạn chế việc dùng hàm Cell() cơng thức tự tính lại có thay đổi nhỏ xíu bảng tính Vì Cell() hàm thuộc loại volatile Khi Excel tính lại Cell() cho 10.000 ô khiến cho bạn bực chờ đợi

Do bạn dùng tuyệt chiêu sau đây, đơn giản, dễ làm hàm loại volatile:

Bạn nhấn Alt – F11 để vào cửa sổ VBA, nhấn chuột phải vào This Workbook để insert vào module Nhập đoạn code sau vào khung soạn thảo:

Function IsFormula (CheckCells As Range)

IsFormula = CheckCells.HasFormula

End Function

(89)

kết True A1 chứa công thức cho kết False A1 chứa giá trị Đóng cửa sổ VBA lại, trở bảng tính Bây đánh dấu tồn vùng liệu bạn (có thể chọn dư số cột dòng, phòng bạn cập nhật thêm liệu) cho ô A1 ô hành

Bằng cách chiêu số 18, bạn vào chỗ cần thiết để gõ công thức hộp thoại Conditional Formatting, gõ vào:

=IsFormula(A1), sau định dạng tô màu đổi màu chữ cho khác ô lại

Sau nhấn OK bạn kết tất ô chứa công thức tô màu Nếu bạn thêm thay đổi ơ, trở thành cơng thức đổi màu

Đơi bạn khơng thấy kết quả, anh Bill lanh chanh chậm hiểu, cho công thức sử dụng hàm bạn 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

Bây bạn sửa thêm trở thành cơng thức, có màu ngược lại, bạn sửa cơng thức thành giá trị thêm giá trị vào ô, ô màu

Cái CF UDF đơn giản mà thực hữu ích, bạn nhỉ!

Chiêu thứ 20: Đếm cộng ô định dạng có điều kiện

Chúng ta thường hỏi: "Làm để tính tốn với tơ màu cụ thể đó?" Câu hỏi thường nêu ra, Excel khơng có hàm bình thường để thưc nhiệm vụ này; nhiên, thực hàm tự tạo

(90)

(conditional formatting) Tuy nhiên, suy nghĩ tí, bạn có kết tương tự mà cần đến hàm tự tạo

Giả sử bạn có danh sách dài số 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 có giá trị nằm khoảng từ 10 đến 20 Bây giờ, bạn muốn lấy giá trị ô thỏa mãn điều kiện mà bạn thiết lập, tính tổng ô áp dụng định dạng Không có khó! Bạn đừng để kiểu định dạng áp dụng chi phối bạn, nói cách khác, bạn khơng cần quan tâm định dạng kiểu gì Bạn 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, có giá trị khoảng từ 10 đến 20)

Bạn dùng hàm SUMIF() để tính tổng thỏa mãn điều kiện đó, đ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() Excel 2007, dùng công thức mảng Ở tơi nói đến cơng thức mảng, sử dụng hầu hết phiên Excel

Với trường hợp ví dụ này, bạn sử dụng công thức mảng giống sau:

=SUM(IF($A$2:$A$100>10, IF($A$2:$A$100<20, $A$2:$A$100)))

Khi nhập công thức mảng, bạn đừng nhấn Enter, nhấn Ctrl+Shift+Enter Khi đó, Excel tự động thêm cặp dấu ngoặc hai đầu công thức, giống 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 đó, cơng thức không chạy Bạn phải để Excel làm việc cho bạn

Và bạn nên biết điều này: sử dụng cơng thức mảng làm cho Excel tính tốn chậm hơn, có q nhiều tham chiếu đến dãy lớn.

(91)

Một cách khác

Ngoài việc sử dụng cơng thức mảng, bạn dùng cột phụ để tham chiếu đến ô bên cột A Những tham chiếu trả giá trị cột A mà thỏa mãn điều kiện bạn đặt (ví dụ: > 10, < 20) Để làm điều này, bạn theo bước sau:

Chọn ô B2 nhập vào cơng thức:

=IF(AND(A2>10, A2<20), A2, "")

Kéo công thức xuống ô B100 Khi công thức điền vào, bạn có giá trị nằm khoảng 10 đến 20 (xuất cột B)

Thêm chiêu phụ: Để nhanh chóng "kéo" cơng thức vào cột xuống đến ô hàng với ô cuối sử dụng cột bên cạnh (trong trường hợp này, "kéo" từ ô B2 đến ô B100, ô tương ứng với ô cuối cùng sử dụng cột A, ô A100), sau nhập công thức ô đầu tiên (ơ B2), chọn đó, nhấp đúp chuột (double click) vào Fill handle (là núm chút xíu nằm góc bên phải ô chọn, mà bạn

thường dùng để "kéo" công thức)

Bây giờ, bạn chọn mà bạn muốn xuất tổng giá trị thỏa mãn điều kiện đề ra, sử dụng hàm SUM bình thường

(=SUM(B2:B100) chẳng hạn) Bạn ẩn (Hide) cột B bạn muốn

Một cách khác

Cách dùng cột phụ tơi vừa nói, chắn chạy tốt Nhưng, Excel cịn có hàm cho phép bạn sử dụng hai nhiều điều kiện cho dãy Đó làm hàm DSUM()

Để thử nó, bạn dùng lại ví dụ trên: tính tổng giá trị dãy

(92)

=$A$1, tham chiếu đến ô Sheet Copy công thức sang ô D1, bạn có hai cho ô tiêu đề cột A, ô (C1, D1) dùng ô tiêu đề vùng điều kiện hàm DSUM, vùng mà bạn đặt tên 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 mà bạn muốn có kết tổ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)

DSUM hàm có hiệu bạn làm việc với ô thỏa mãn nhiều điều kiện; không giống mảng, Hàm sở liệu thiết kế riêng cho trường hợp Thậm chí chúng tham chiếu đến liệu lớn, làm việc với số lớn, ảnh hưởng chúng đến tốc độ tính tốn nhỏ so với việc dùng cơng thức mảng

Thêm cách khác

Cách này, học Giải pháp Excel: Dùng hàm SUMPRODUCT() Cũng với tốn tính tổng giá trị dãy $A$2:$A$100 thỏa mãn điều kiện lớn 10 nhỏ 20 Bạn chọn ô mà bạn muốn có kết tổ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)

(93)

Tiếp theo, SUMPRODUCT nhân nhóm giá trị tương ứng mảng với Bạn thấy, giá trị mảng mảng 1, giá trị nhân giá trị tương ứng $A$2:$A$100; có giá trị mảng mảng mà 0, kết phép nhân bẳng Nói cách khác, giá trị $A$2:$A$100 thỏa mãn điều kiện >10 <20 lấy

Cuối cùng, SUMPRODUCT cộng hết kết phép nhân (SUM phép tính tổng, PRODUCT phép tính nhân, SUMPRODUCT tổng tích), kết mà ta muốn có

Chiêu thứ 21: Tơ màu dịng xen kẽ

Ắt hẳn bạn thấy bảng tính Excel với dịng tơ màu cách nhau, thí dụ dịng chẵn tơ màu xám, dịng lẻ khơng tơ tơ màu khác

Trình bày bảng tính tơ màu cách dịng khiến cho bảng tính Pro làm cho người dùng dễ đọc liệu Bạn định dạng từ từ tay dòng, bạn đủ kiên nhẫn, bạn biết đấy, kiên nhẫn lần chưa đủ Bạn phải bực cần xố dịng, chèn dịng, cập nhật liệu

May sao, sử dụng Conditional Formatting giúp bạn thực tô màu nhanh loại bỏ hết phiền tối sau tơ màu

Giả sử bạn có liệu vùng A1:H57, bạn dự trù cập nhật hết tháng khoảng 100 dòng Vậy bạn đánh dấu chọn khối A1:H100 cho ô A1 ô hành Dùng cách chiêu 18, 19, để vào chỗ cần gõ công thức chức Conditional Formatting, gõ công thức sau:

= Mod(Row(),2)

(94)

Cũng bạn muốn tô màu cột cách cột, dùng cơng thức =Mod(Column(),2)

(95)

Chọn Row column tuỳ ý, chọn màu tuỳ ý, gõ ô Steps, đánh dấu vào mục chọn Conditional Formatting

Kết công thức Condition =MOD(ROW()-1,2*1)+1<=1

(96)

Mặc dù phương pháp dễ thực hiện, không linh hoạt: Tất dịng lẻ từ đến 100 bị tơ màu, dù có liệu hay khơng (nhớ lại, liệu bạn đến dịng 57) Vậy tơ tự dộng đến hết dịng cuối có liệu, cị chưa có liệu bị tô màu sau nhập liệu không? Hãy xem cách sau đây:

Tô màu động:

Chỉ cần bạn sửa cơng thức lại xíu xiu: =And( Mod(Row(),2),CountA($A1:$H1))

Chú ý chỗ tham chiếu tuyệt đối cột tương đối dịng Ý nghĩa cơng thức là: - bạn đứng dịng 1, dịng lẻ vùng A1:H1 có liệu => tơ màu - Nếu bạn đứng dịng 10, cơng thức trở thành =And(

Mod(Row(),2),CountA($A10:$H10)) nghĩa dòng chẵn có liệu => khơng tơ màu

- Nếu bạn đứng dịng 59: dịng lẻ khơng có liệu => khơng tơ màu

Mở rộng: Tơ màu cách dịng tơ 1, tơ xen kẽ màu trở lên:

(97)(98)

Chiêu thứ 22: Tạo hiệu ứng 3D bảng tính hay ơ

Bất bạn nhìn thấy hiệu ứng 3D chương trình ứng dụng, chẳng hạn Excel, hẳn bạn thấy đánh lừa qua thị giác tạo cách định dạng đặc biệt Chính bạn tạo hiệu ứng cách dễ dàng cách định dạng ô dãy ô Phiên Excel 2007 đưa vào styles ơ, bạn tạo hiệu ứng 3D lưu lại để sử dụng vào bạn muốn

Hãy bắt đầu với ví dụ đơn giản, tạo hiệu ứng 3D cho để nhìn lên giống nút lệnh(button)

(99)(100)

Chọn tab Fill (với phiên trước Excel 2007: chọn tab Patterns) hộp thoại Format Cells chọn màu xám Click chọn OK không chọn ô D5 (di chuyển trỏ chuột sang khác) Ơ D5 xuất lên giống button Bạn làm tất điều với đường viền bóng đổ

(101)

Chọn Home ➝ Cells ➝ Format ➝ Format Cells ➝ Bord (với phiên trước Excel 2007: Format ➝ Cells ➝ Border) chọn đường viền dày thứ (thứ bên phải từ đếm lên) bảng line chắn màu chọn màu đen cho đường viền bên trái Chọn màu trắng bảng màu cho đường viền bên phải bên ô Chọn tab Patterns chọn màu xám Click OK Ô E5 bị lõm xuống Việc trái ngược với ô D5 hiệu ứng trội lên

Nếu bạn cảm thấy thích thú với style ô mà bạn tạo Bạn lưu lại cách chọn Home ➝ Styles ➝ Cell Style ➝ NewCell Style, bạn gõ tên mà bạn muốn đặt cho style vào click OK Chú ý Styles ô lưu lại workbook bạn kết hợp Styles từ workbooks khác Lựa chọn khơng có phiên trước Excel 2007 Nếu bạn muốn lưu style phiên trước bạn vào Format➝ Style

Sử dụng hiệu ứng 3D cho bảng liệu

(102)

Bây chọn vùng D5:J5 click chọn công cụ Format Painter lần Cùng lúc nhấn chuột trái, chọn ô D6, kéo chuột ngang sang phải kéo xuống ô J15, sau nhả

Hiệu ứng 3D dãy ô

Nếu bạn muốn lưu style bảng này, bạn chọn Home ➝ Styles ➝Format as Table ➝ NewTable Style Với phiên trước Excel 2007 bạn khơng thể lưu style bảng

(103)

Bạn sử dụng đường khác để tạo hiệu ứng hay Cách dễ để tìm kết hợp có hiệu bạn nên thử kiểm tra sai sót bảng tính trống để tạo hiệu ứng mà bạn muốn Bạn bị giới hạn tưởng tượng có lẽ khiếu thẩm mỹ

Thí dụ dùng màu khác

(104)

Hãy luôn nhớ hiệu ứng 3D làm cho bảng tính dễ đọc, nhìn chuyên nghiệp dễ cảm nhận hơn, chúng sử dụng mức chúng có ảnh hưởng trái ngược Nên nhớ, sử dụng thứ có mức độ

Nếu bạn muốn tạo xa cung cấp hiệu ứng 3D cách tự động sinh động, bạn kết hợp 3D với định dạng có điều kiện để tự động cung cấp nhiều style mà bạn thích

Bổ sung:

Bạn dùng hiệu ứng 3D cho ô (đã thực trên) để dùng button thực thụ, bạn kết hợp với VBA Giả sử bạn muốn bảng tính bạn có button (nổi, đương nhiên), nhấn vào chìm xuống thực thi macro Khi nhấn lần nút lên thực macro khác dừng thực macro thứ

Dùng công cụ ghi macro để ghi lại trình lập hiệu ứng 3D cho ô D5, ta đọan code Module, sửa lại chút đỉnh với 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

(105)

.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 dựa vào kiện SelectionChange sheet, ta làm cho ô D5 thay đổi border 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

Chiêu thứ 23: Bật, tắt chức Conditional Formatting checkbox

Bạn thường dùng Data Validation để giới hạn liệu nhập vào, dùng Conditional Formatting để cảnh báo nhập liệu trùng Nhưng bạn muốn tắt chúc cảnh báo CF Có cách đơn giản để bật tắt chức cách sử dụng checkbox Xem thêm Chiêu số 18: Điều khiển Conditional Formating checkbox

Nhưng CF tô màu liệu nhập trùng

(106)

xuất nhiều lần vùng liệu Giả sử vùng A1:A100 bạn thiết lập CF với công thức sau:

=CountIf($A$1:$A$100,$A1)>1

Bây bạn muốn tuỳ ý bật tắt CF Trước tiên bạn công cu Form Control Toolbox, vẽ Checkbox lên sheet Thiết lập Property Cell Link cho checkbox đó, thí dụ K1 Ta vào Name box đặt nuôn tên cho ô IsCheck

Bây click chọn vùng liệu A1:A100 cho ô A1 ô hành Thiết lập Conditional Formatting cho vùng 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, OK

Sau hoàn thành, bạn check vào checkbox, ô K1 thành True, có liệu trùng bị tơ màu

Trái lại, bạn uncheck checkbox, ô K1 có giá trị False, chẳng có bị tô màu

Cũng chiêu số 18, bạn hồn tồn dùng toggle Button làm công tắc bật tắt y checkbox

Chắc cần nói lại cách mà cơng tắc hoạt động:

Do công thức bạn AND(điều kiện 1, điều kiện 2), nên cần điều kiện không thoả (=False), nguyên đk chung False, CF khơng hoạt động; CF có tác dụng điều kiện chung True

(107)

Thay vậy, bạn dùng chiêu sau đây, kết hợp combobox với option button Trong thí dụ sau, bạn tạo bảng tính, điền số từ đến vào vùng A1:A7, điền từ chủ nhật đến thứ hai vào vùng B1:B7, điền tháng từ tháng đến tháng vào vùng C1:C7

Một cách nhanh để điền 21 ô gõ vào A1 Trong nhấn giữ Ctrl, nắm fill handle ô A1 kéo xuống A7 Tiếp theo, gõ Sunday vào B2,

doubled-click vào fill handle B1 Cuối gõ Jan vào ô C1, doubled-click vào fill handle C1 Xong

Bây bạn vào Developer ➝ Controls ➝ Insert ➝ Form Controls (với Excel 2003, View ➝ Toolbars ➝ Forms) nhấn icon Option Button Vẽ lên sheet Vẽ thêm Groupbox bao quanh Option cho đẹp Bây vẽ

Combobox chỗ thích hợp

Nhấn chuột phải vào Option, chọn Edit Text, sửa từ Option1, Option 2, Option 3, Groupbox1 hình:

(108)

Ở ô D6 gõ công thức =ADDRESS(1;$F$1)&":"&ADDRESS(7;$F$1)

Vào Define Name, đặt name MyRange, công thức =INDIRECT($D$6) Nhấn chuột phải vào combobox, vào Format control, Cell link gõ MyRange, Cell link $G$1

Bây bạn chọn option, ô F1 thay đổi giá trị từ đến 3, ô D6 thay đổi với giá trị $A$1:$A$7, $B$1:$B$7, $C$1:$S$7 Và list

combobox đổi theo

Bổ sung:

Có vấn đề list khơng phải lúc dài (bằng thí dụ trên), thí dụ số từ đến 10, thứ tuần từ Chủ nhật đến thứ bảy, tháng từ đến 12 Vậy ta phải làm gì?

Ta làm từ từ nhé, trước tiên cách dùng ô phụ (tác giả dùng ô phụ) Gõ công thức sau vào ô G1:

(109)

Với cơng thức trên, G1 có giá trị 10, 7, 12 tương ứng với F1 1, 2, Sửa tiếp số chết công thức ô D6 thành $G$1 cho động:

=ADDRESS(1;$F$1)&":"&ADDRESS($G$1;$F$1)

Kết hồn tồn mỹ mãn Ơ D6 $A$1:$A$10, $B$1:$B$7, $C$1:$C$12

Bây cách GPE: dấu (bỏ) ô phụ

Hiện Name MyRange ta =INDIRECT($D$6), Sửa bước thứ thay $D$6 công thức D6:

=INDIRECT(ADDRESS(1;$F$1)&":"&ADDRESS($G$1;$F$1)) Kế thay $G$1 cơng thức G1:

(110)

Ta đàng hồng xố D6 G1 Chỉ cịn F1 link cell options, ta format thành chữ trắng OK

Chiêu thứ 25: Tạo danh sách xác thực thay đổi theo lựa chọn từ danh sách khác

Trước tiên, cần chuẩn bị số liệu để thực hành Bạn tạo sheet đặt tên List ô A1 nhập vào tiêu đề “Objects” Tại ô B1 nhập vào tiêu đề “Corresponding List” Vùng A2:A5 bạn nhập vào từ “Can” Vùng A2:A9 nhập vào từ “Sofa” Vùng A10:A13 nhập vào từ “Shower” Vùng A14:A17 nhập vào từ “Car” Sau đó, vùng B2:B17 bạn nhập vào từ sau: Tin, Steel, Opener, Lid, Bed, Seat, Lounge, Cushion, Rain, Hot, Cold, Warm, Trip, Journey, Bonnet, Boot

Tại ô C1 nhập vào tiêu đề “Validation List” Kế đó, bạn nhập vào từ sau ô C2:C5: Can, Sofa, Shower Car Đây danh sách chứa từ từ vùng A2:A17

(111)

Bước định nghĩa số Name cho List Bạn vào Formulas ➝➝ Name Manager ➝ chọn New (E2003: Insert ➝ Name ➝ Define) Trong hộp Name bạn nhập vào từ “Objects” Tại hộp Refer To bạn nhập vào công thức sau: Define Names

=OFFSET($A$2,0,0,COUNTA($A$2:$A$20),1)

Nhấn nút OK sau nhập xong công thức Tiếp theo, bạn nhấn New (E2003: nhấn Add) để tạo Name Trong hộp Name nhập vào tên “ValList” Refer To nhập vào =$C$2:$C$5 Nhấn Close để đóng hộp thoại lại

Bạn chèn thêm sheet có tên “Sheet1” Bạn vào Formular ➝ chọn Define Names ➝Manager ➝ chọn New (E2003: Insert ➝ Name ➝ Define)

Trong hộp Name bạn nhập vào “CorrespondingList” Refer To nhập vào công thức sau: Name

(112)

Tiếp tục nhấn New (hoặc Add Excel 2003) để thêm Name Trong hộp Name bạn đặt tên Val1Cell Refer To nhập vào =$D$6 nhấn OK Tiếp tục nhấn New để thêm Name với tên Val2Cell Refer To =$E$6 nhấn OK sau hoàn tất

Các Name mà bạn tạo hình sau:

(113)

Chọn E6, sau vào ngăn settings hộp thoại Data Validation Bạn chọn List Allow nhập vào =CorrespondingList hộp Source, đánh dấu chọn vào In-cell dropdown nhấn OK để hồn tất

Trong q trình thiết lập Data Validation cho ô E6, bạn nhận thông báo lỗi “The source currently evaluates to an error Do you want to continue?” Bạn chọn Yes Lỗi xuất ô D6 rỗng

(114)

Chiêu thứ 26: Sử dụng chức thay

(Replace) để gỡ bỏ ký tự không mong muốn Khi nhập liệu hay chép dán liệu từ nguồn khác vào Excel ký tự khơng mong muốn xuất tồn bảng tính bạn Sử dụng chiêu bạn khắc phục rắc rối gỡ bỏ ký tự không mong muốn tay Chức thay (replace) Excel giúp bạn gỡ bỏ ký tự khơng mong muốn bảng tính, phải qua vài bước phụ

Ví dụ như, bạn thay ký tự không mong muốn chuỗi rỗng tựa chưa tồn Muốn bạn cần biết mã ký tự mà bạn muốn gỡ bỏ Tất ký tự mang mã riêng Excel cho bạn biết bạn sử dụng hàm CODE

Hàm CODE trả mã số cho ký tự chuỗi Mã tương đương ký tự mà máy tính bạn thiết lập

Để thực điều này, chọn có chứa ký tự không mong muốn Từ công thức, bôi đen ký tự chép ký tự Tiếp theo chọn trống (A1 chẳng hạn) 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 trả mã ký tự khơng mong muốn

(115)

là 163 nhấn Alt nhấn 0163 (Hoặc bạn để trỏ chuột có ký tự khơng mong muốn, chép ký tự dán vào Find what được)

Bỏ trống khung Replace With nhấn Replace all Việc làm xóa bỏ tất ký tự không mong muốn nhanh qua việc dị tìm mã ký tự Lặp lại bước cho ký tự không mong muốn

Chiêu thứ 27: Chuyển đổi số dạng văn sang số thực

(116)

Bạn kéo cột rộng để đễ phân biệt việc canh lề, bạn thấy giá trị số, ngày tháng canh lề phải văn canh lề trái

Dùng Paste Special để chuyển giá trị số dạng văn sang số thực

Đây cách nhanh dễ dàng để chuyển giá trị số dang văn sang số thực Các bước thực sau:

(117)

hoàn tất

Việc làm giúp chuyển toàn số số dạng văn sang số thực, rỗng có giá trị bạn cộng số vào số lưu dạng văn Excel bạn làm cho số dạng văn chuyển thành số thực Dùng hàm TEXT để chuyển đổi

Bạn áp dụng nguyên tắc cách vào số hàm có sẵn Excel để thực việc chuyển đổi Thơng thường, bạn dùng hàm thuộc nhóm TEXT kết trả dạng số Excel xem số giá trị dạng văn

(118)(119)

=LEFT(A1,FIND(" ",A1)-1)

Sau dùng hàm để tách phần giá trị kết trả Excel xem văn chúng canh lề trái hình sau:

Do vậy, bạn cần phải hiệu chỉnh công thức tác chuỗi để kết trả số thực cách cộng thêm số vào sau công thức trên:

(120)

Chiêu thứ 28: Trích xuất liệu số chuỗi bằng VBA

Bạn thường lấy liệu từ nguồn ngồi, chẳng hạn từ Internet, có liệu số xen lẫn chữ như: “1,254.00VND” “USD 2,500.00”, chí cịn phức tạp

Và có bạn nhập liệu hỗn hợp text số khơng theo quy luật để lấy riêng số hàm tách chuỗi thông thường

Dùng hàm tự tạo viết VBA, bạn trích xuất riêng phần số ra, chuỗi có kiểu dạng

Bạn nhấn Alt-F11 để vào cửa sổ VBA, insert module dán đoạn code sau vào:

Function ExtractNumber(rCell As Range) Dim lCount As Long

Dim sText As String Dim lNum As String sText = rCell

For lCount = Len(sText) To Step -1 If IsNumeric(Mid(sText, lCount, 1)) Then lNum = Mid(sText, lCount, 1) & lNum

End If

Next lCount

(121)

End Function

Vào lại Excel, ô B1 gõ liệu số xen lẫn text tuỳ ý, ô kế bên C1 gõ cơng thức:

=ExtractNumber(B1) Ta có kết hình:

Bổ sung:

Vẫn cịn chút vấn đề: liệu số thập phân B5, liệu gồm nhóm số riêng biệt trở lên ô B4, kết không ý muốn

1 Để giải vấn đề số thập phân, ptm0412 có hàm khác:

Function CtoN(Mystr As String, Optional Dautp As String) As Doub le

Dim Kqng, Kqtp, Neg As Double, Kqtam As String Dim Sotp As Double, Le As Byte

Neg = Le =

For i = To Len(Mystr) tam = Mid(Mystr, i, 1) Select Case tam

Case To

Kqtam = Kqtam & tam Case "-"

(122)

Case Dautp

Kqng = Kqtam Le =

Mystr = Right(Mystr, Len(Mystr) - i) Kqtp = CtoN(Mystr)

Sotp = Kqtp * 10 ^ (-Len(Kqtp)) End Select

Next i

Select Case Le Case

CtoN = IIf(Kqtam = "", 0, Kqtam) Case

CtoN = Kqng + Sotp End Select

CtoN = CtoN * Neg End Function

Ghi chú:- Khi sử dụng hàm này, bạn thêm vào hàm tham số cho biết dấu thập phân dấu nào, “,” hay “.” Thí dụ =CtoN(“USD 14255.20”,”.”), bạn biết số ngun khơng cần thêm

- Hàm đọc số âm ký hiệu số âm dấu trừ đứng trước số

2 Để giải vấn đề nhiều nhóm số khác chuỗi, Ptm0412 có hàm:

Function CtoNPlus(Mystr As String, sttchuoi As Byte, Optional Da utp As String) As Double

Newstr = Mystr

For i = To sttchuoi

(123)

CtoNPlus = CtoN1st(Newstr, Dautp) Next i

Newstr = "" End Function

PHP Code:

Function CtoN1st(ByVal Mystr As String, Optional Dautp As String ) As Double

Dim Kqng, Kqtp, Neg As Double, Kqtam As String Dim Sotp As Double, Le As Byte, NewStr2 As String Neg =

Le =

For i = To Len(Mystr) tam = Mid(Mystr, i, 1) Select Case tam

Case To

Kqtam = Kqtam & tam

If IsNumeric(Mid(Mystr, i + 1, 1)) = False And _

Mid(Mystr, i + 1, 1) <> "," And Mid(Mystr, i + 1, 1) <> "." Then

Newstr = Right(Mystr, Len(Mystr) - i) Exit For

End If Case "-" Neg = -1 Case Dautp

Kqng = Kqtam Le =

NewStr2 = Right(Mystr, Len(Mystr) - i) Kqtp = CtoN1st(NewStr2)

Sotp = Kqtp * 10 ^ (-Len(Kqtp)) End Select

Next i

Select Case Le Case

(124)

CtoN1st = Kqng + Sotp End Select

CtoN1st = CtoN1st * Neg End Function

Cú pháp hàm: CtoNPlus(Mystr , sttchuoi, [Dautp])

Sttchuoi số thứ tự nhóm số chuỗi, Dautp ký tự dấu phân cách thập phân

Chiêu thứ 29: Tùy biến thích bảng tính

(125)

Mặc dù thích cho có mục đích hiển thị thơng báo cho bạn cho người dùng khác, bạn tùy biến nhằm mục đích làm rõ chủ ý bạn

Trước tiên, bạn cần tùy biến Quick Access Toolbar (QAT) để thêm nút lệnh vào đó, bước thực sau: Office ➝ Excel Options ➝ Customize Tại hộp Choose commands from bạn chọn Smart Art Tools | Format Tab ➝ nhấn nút Add để thêm vào QAT ➝ nhấn OK hoàn tất (E2003: gọi Drawing cách View ➝ Toolbars ➝ Drawing)

Chèn thích cho cách vào ngăn Review ➝ nhóm Comments ➝ chọn New Comment (E2003: Insert ➝ Comment) Một hộp thích xuất bạn nhập nội dung thích vào

(126)

của để khỏi chế độ nhập liệu ➝ chọn lệnh Change AutoShape từ QAT ➝ chọn kiểu hình dạng mong muốn nhóm hình Basic Shapes, Block Arrow, Flow Chart, Callouts Stars and Banners ➝ sau chọn hình hình dạng hộp thích thay đổi tức

(127)

Thêm ảnh vào thích

Một điều thú vị bạn dùng hộp thích để hiển thị ảnh mà không làm ảnh hưởng đến nội dung khác Thí dụ như, bạn chèn đồ thị vào hộp thích nhằm minh họa tốt cho số liệu mà không cần phải lúc đồ thị lên

(128)

Trích xuất nội dung thích

(129)

VB Code:

Function GetCommentText(rCommentCell As Range)

Dim strGotIt As String

On Error Resume Next

strGotIt =

WorksheetFunction.Clean(rCommentCell.Comment.Text) GetCommentText = strGotIt

On Error GoTo End Function

Vào File ➝ Save (Ctrl+S) để lưu Module, sau vào File ➝ Close and Return to Microsoft Excel (ALT+Q) để trở cửa sổ bảng tính Bạn vào trống nhập vào:

=GetCommentText(B2)

Với B2 có thích Nhấn Enter để xem kết

Chiêu thứ 30: Sort thứ tự dựa nhiều ba cột

Chức sort Excel bị giới hạn với sort phạm vi cột Trong hầu hết trường hợp, sort theo cột đủ bạn cần sort nhiều cột liệu Chiêu giúp bạn vượt qua hạn chế

Với ví dụ sau, chúng tơi giả sử bạn có cột liệu liên quan với A, B, C, D E, bạn muốn sort liệu theo cột A, cột B, cột C, tiếp cột D cuối cột E

(130)

đó đến cột E Nhấn vào sort Bây chọn cột từ A đến E chọn Data ➝

Sort Lúc này, sort theo thứ tự cột A trước đến cột B Click sort thứ xếp theo thứ tự

Excel sort theo cột thay cột Nếu bạn muốn Excel tự động làm điều này, bạn sử dụng macro mà sort theo vùng chọn giả định liệu bạn có tiêu đề cột xác định định dạng hàng vùng chọn Nếu tiêu đề in đậm, Excel cho biết chúng tiêu đề không sort chúng Thay vào đó, sort cột bên trái trước tới cột bên phải tối đa 256 cột

Đoạn code macro bạn cần sử dụng phải đặ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 gõ đoạn code sau vào:

Sub SortByX( ) Dim i As Long

For i = Selection.Columns.Count To 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 lại nhấn Alt+ Q Ngay bạn dán đoạn code vào, bạn thực việc sort này: Tô chọn vùng cần sort, kể tiêu đề, chạy code

Chiêu thứ 31: Sắp xếp ngẫu nhiên

Bạn dùng Excel để chọn cách ngẫu nhiên ba người thắng – 1, từ danh sách bảng tính Để thực điều cách dễ dàng công nhất, bạn nên dùng hàm RAND kết hợp với tính xếp Excel

(131)

Tại ô A2 bạn nhập vào hàm =RAND chép xuống đến ô A10 Bạn xếp cột Name, Age ID No theo cột A từ chọn ngẫu nhiên người thắng

Hàm RAND tự động tính lại có thay đổi bảng tính, nhấn F9 để ép Excel tính tốn lại từ chọn phần tử danh sách cách ngẫu nhiên Tuy nhiên cần phải tạo thủ tục xếp lại liệu sau Excel tạo số ngẫu nhiên

Để việc chọn lựa dễ dàng, ghi Macro gán vào nút lệnh bảng tính Mỗi muốn chọn nhóm người thắng bạn cần nhấn nút lệnh Bạn làm theo hướng dẫn sau:

(132)

Bước tiếp theo, bạn vào ngăn Developer ➝ nhóm Controls ➝ Insert (E2003: View ➝ Toolbars ➝ Forms) ➝ chọn Button (Form Control) vẽ thành nút bảng tính ➝ chọn tên Macro vừa ghi ➝ nhấn OK để hoàn tất

(133)

nhiên bạn dễ dàng chọn người thắng

Lưu ý: Hàm RAND phiên trước Excel 2003 có tồn lỗi việc phát số ngẫu nhiên Về mặt lý thuyết, hàm RAND trả giá trị từ đến 1, điều luôn phát nhiều số ngẫu nhiên đơi hàm trả giá trị nhỏ Xem thêm thông tin việc Microsoft thay đổi giải thuật phát số ngẫu nhiên phiên Excel 2003 & 2007

http://support.microsoft.com/default.aspx?kbid=828795

Chiêu thứ 32: Thao tác liệu với Advanced Filter

Nếu bạn quen với công cụ Auto Filter, bạn hẳn thấy hạn chế

AutoFilter Nếu bạn cần xử lý chọn lọc liệu giới hạn này, Advanced Filter chọn lựa tốt

Dù cho bị hạn chế, AutoFilter cơng cụ hữu ích để thể phần liệu lên hình theo vài điều kiện Nhưng đơi bạn chọn lọc thông tin cần thiết dùng AutoFilter

Xin nói thêm, Excel 2003 kể Excel 2007 lọc lần điều kiện (And Or) cho cột Hơn thế, bạn muốn lọc liệu theo tiêu chí cột, kết hợp toán tử And điều kiện cột

(134)

phải xếp liệu chuẩn lời nói đầu (bài 1, 2, 3): - chừa dịng trống bảng liệu

- Dùng dòng làm tiêu đề bảng liệu - Không merge ô bảng liệu

Khi sử dụng AdF, bạn phải dùng tiêu đề cột làm tiêu chí lọc, nên bạn phải copy tiêu đề cột dán vào chỗ dịng Nhưng tốt bạn nên dùng công thức chẳng hạn =A4 để bảo đảm lúc điều kiện lọc đúng, bạn có thay đổi tiêu đề cột

Dùng công thức cho tất cột mà bạn muốn làm tiêu chí lọc

Sau tiêu đề (dịng 2, 3) bạn để điều kiện lọc Những điều kiện lọc dùng toán tử so sánh như: =, >, <, >=, <=, <>

Ghi nhớ điều điều kiện Or cần xếp theo chiều đứng, điều kiện And theo hàng ngang Do bạn cần lọc theo điều kiện And tiêu chí, phải dùng tiêu đề cột ô

Sau hình minh hoạ:

(135)(136)

Kết hợp And Or: (MLuong<700 And MLuong>400 And BPhan=”KT”) Or BPhan=”HC”

(137)

Trên thí dụ đơn giản, mà bạn sử dụng AutoFilter Bây ta áp dụng AdF cho vài thí dụ mà AutoFilter khơng làm Bây ta áp dụng AdF cho vài thí dụ mà AutoFilter không làm được:

Bất áp dụng AdF cho điều kiện công thức trường hợp đây, bạn phải nhớ không dùng tiêu đề bảng liệu làm tiêu đề cho điều kiện Bạn đặt tên cho điều kiện, để trống

Thí dụ 1: Bạn muốn lọc liệu cột mức lương với giá trị thoả điều kiện nhỏ mức lương trung bình, dùng công thức sau:

(138)

Bạn kết hợp với điều kiện phận KT:

Lưu ý D6 tham chiếu tương đối $D$6:$D$22 tham chiếu tuyệt đối Điều cần thiết để Excel dị tìm D6, D7, … vùng cố định $D$6:$D$22, giá trị D6, D7, … mà có kết True cho hiện, False ẩn dịng Đó cách mà anh Bill ta thực thi AdF

(139)

=COUNTIF($D$6:$D$22;D6)>1

Còn muốn lọc người có mức lương độc, người có, ta dùng công thức:

=COUNTIF($D$6:$D$22;D6)=1

(140)

location, click chọn vào ô Unique records only, chọn thêm ô copy sang ô Copy To, để trống vùng Criteria:

(141)

Chiêu thứ 33: Tạo định dạng số cho riêng bạn Excel có định dạng số riêng bạn cần sử dụng định dạng số khơng có sẵn Excel Sử dụng chiêu này, bạn tạo định dạng số mà bạn điều chỉnh cho nhu cầu riêng bạn

Trước bạn thử chiêu này, có ích cho bạn bạn hiểu làm Excel nhận biết định dạng ô Excel nhận biết định dạng có phần sau (từ trái sang phải): số dương, số âm, giá trị 0, giá trị chuỗi Mỗi phần ngăn cách dấu chấm phẩy (;)

Khi bạn tạo định dạng số cho riêng bạn, bạn không cần phải định dạng tất phần Nói cách khác, định dạng bạn có hai phần phần sử dụng cho số dương giá trị 0, phần thứ sử dụng cho số âm

Nếu định dạng bạn bao gồm phần, tất loại số dùng định dạng Chuỗi bị ảnh hưởng định dạng riêng bạn sử dụng tất phần, phần cuối sử dụng cho chuỗi

Đừng cho định dạng riêng áp dụng cho liệu kiểu số Các định dạng số áp dụng cho liệu kiểu chữ

Định dạng riêng cho số hiển thị hình 2-18 định dạng tiền tệ chuẩn Excel, số tiền âm màu đỏ

(142)

ngay 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 định dạng tương tự cho giá trị âm, ngoại trừ số âm hiển thị màu đỏ Bất kỳ giá trị khơng có ký hiệu tiền tệ hiển thị hai số lẻ thập phân (0.00) Nếu bạn gõ chuỗi vào ô, Excel hiển thị dòng chữ “Chuỗi hiển thị,” giá trị thật chuỗi bạn gõ vào

Điều quan trọng phải ý, việc định dạng giá trị ô không ảnh hưởng đến giá trị đích thực

Ví dụ, gõ số vào ô A1 Nhấn chuột phải chọn Format Cells ➝ Number ➝ Custom, sử dụng định dạng trỏ chuột (trong hộp "Type), gõ "Hello" (với dấu ngoặc kép ("")) Sau nhấn OK Mặc dù hiển thị từ "Hello" bạn thấy giá trị thật ô cách chọn ô xem công thức (Formula bar), nhấn F2 Nếu bạn tham chiếu cơng thức - ví dụ, =A1+20 - kết ô dẫn đến định dạng lúc nãy, nghĩa trả kết "Hello" (bạn làm thử, bạn thấy kết tức khắc!)

Nếu bạn tham chiếu A1 với khác mà có định dạng chuẩn Excel - ví dụ, =Sum(A1:A10)- kết trả theo định dạng riêng ô A1

Excel đưa giả thiết thiết lập trước bạn muốn kết ô định dạng giống cách tham chiếu đến hay nhiều ô Nếu ô tham chiếu chứa nhiều loại định dạng định dạng riêng ưu tiên trước

Điều có nghĩa là, bạn phải luôn nhớ Excel sử dụng giá trị thật để tính tốn, khơng lấy giá trị thể

(143)

dạng khơng có số lẻ thập phân có vài số lẻ thập phân, thí dụ:

Để thấy điều này, bạn gõ 1.4 vào ô A1 1.4 vào ô A2, định dạng cho hai ô số lẻ thập phân theo sau cách bạn chọn vùng A1:A2, click chuột phải, chọn Format Cells ➝ Number, khung "decimal places" chọn Sau gõ cơng thức =A1+A2 vào khác Dĩ nhiên kết trả Excel làm tròn

(144)(145)

thay gõ trực tiếp A1 1.53, bạn gõ =1.53 tương tự cho ô khác làm theo bước hồi kiểm tra kết bạn thấy có khác biệt Định dạng mặc định cho tất ô Excel General Nếu bạn gõ số vào ơ, Excel thường đốn định dạng số phù hợp Ví dụ, bạn gõ 10% vào ô, Excel định dạng ô kiểu Percentage Trong hầu hết trường hợp Excel đốn xác bạn cần thay đổi lại

Khi sử dụng định dạng cho ô, tránh việc bị cám dỗ để định dạng canh trái, canh phải hay canh Theo mặc định số canh phải chuỗi canh trái Nếu bạn bỏ điều này, bạn nhận biết thống qua chuỗi hay số trường hợp ví dụ trước, ô A1 bạn thấy chuỗi ("Hello") thực số

Mỗi phần định dạng đưa sử dụng mã định dạng riêng Các mã ảnh hưởng đến Excel việc thể liệu theo cách mà bạn muốn Vì vậy, thí dụ, giả sử bạn muốn số âm xuât ngoặc đơn(), tất số, số dương, số âm số hiển thị 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ự khung Type

bạn gõ: 0.00_ ;[Red](-0.00)

Chú ý 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 số màu đỏ Bạn sử dụng nhiều code định dạng khác mục Format cells/number/custom

Bảng 2-1 đến bảng 2-5 lấy từ tài liệu Microsoft giải thích code

(146)

Mã số Mô tả General Định dạng số chung (gõ thấy ấy)

0 (số 0)

Ký hiệu đóng vai trị số chổ cho ký hiệu số Ký hiệu số định dạng khơng có nhiều ký tự số số mã định dạng số chổ số Thí dụ mã định dạng 0000.000 số 123.45 mà bạn gõ vào hiển thị 0123.450

#

Ký hiệu # đóng vai trị ký hiệu khác khơng buộc ký số phải chổ khơng có số tương ứng Ví dụ mã định dạng #,###.## số 1234.5 hiển thị 1,234.5

?

Ký hiệu giống ký hiệu chí có khác trống chổ thay khoản trắng khơng phải số Điều hữu ích bạn muốn canh thẳng đấu phân cách thập phân bảng Ngoài ký hiệu ? sử dụng phần định dạng phân số Ví dụ: # ???/??? số thể đuợc trình bày xác đến số giản ước tốt đến mức có thêm khoản trắng

% Nếu bạn sử dụng ký hiệu hiển thi số Excel tự động nhân số với 100 thêm dấu đằng sau ,(dấu

phẩy) Dấu phân cách hàng ngàn

E+, E-,e+,e-

Thể số dạng scientific thí dụ: mã 0.00E+00 số

12345.56 thể hiên 1.23E+04

Bảng 2.2: Các mã định dạng chuỗi

Mã chuỗi Mô tả

%,-,+,/,:,(),khoảng

Các ký hiệu thể mã định dạng thể phần hiển thị cúa số Các ký hiệu khác muốn

(147)

trắng thể bạn phải tham khảo ký tự \ bên

\

Đây ký hiệu đặc biệt định dạng bắt buộc Excel thể ký tự sau dù ký tự ký tự ví dụ: \” dấu ” thể Nếu bạn muốn thể dấu \ bạn phải ghi mã \\

"text"

Trong trường hợp bạn muốn thể chuổi ký tự sau hay trước số bạn bỏ chuỗi ký tự dấu ngoặc kép này."VND" #,##0.00 số thêm vào đằng trước “VND”

* Giống ký hiệu \ khác điều Excel ký

tự sau chiếm đến hết ô

_ (dấu gạch dưới)

Ký hiệu thường dùng _), nhắc nhở Excel chèn khoảng trắng vào vị trí Ví dụ: định dạng có dấu ngoặc bao quanh số âm, dấu chấm thập phân số dương không canh thẳng hàng với dấu chấm thập phân số âm, số âm nhiều vị trí bên phải dấu thập phân phải thể dấu đóng ngoặc Trong trường hợp bạn dùng dấu _ cuối phần định dạng số dương để Excel dành khoảng trắng sau số dương: khoảng trắng tương đương với vị trí dấu đóng ngoặc số âm Ví dụ:

#,##0_);(#,##0)

@ Ký hiệu @ dùng để chuổi ký tự nhập vào ô Trong ví dụ phần ký hiệu @ thể nhập vào

Bảng 2.3: Các mã định dạng ngày tháng năm

ngày Mô tả

(148)

dụ: 1, 2, 12

Mm Chỉ số tháng có số đầu với số tháng có chữ số Ví dụ: 01,

02,03 12

Mmm Chỉ tháng với chữ đầu tháng (theo tiếng Anh) thí dụ

tháng = Jan

Mmmm Chỉ tháng đầy đủ tên tháng thíí dụ tháng = January D Chỉ ngày với chữ số số nhỏ 10 Dd Chỉ ngày vơi chữ số số nhỏ 10 ví dụ ngày thành 08 Ddd Chỉ thứ tuần với ký tự thí dụ thứ Hai = Mon, thứ Ba = Tue Dddd Chỉ thứ tuần với đầy đủ ký tự Thí dụ: Monday, Tuesday,

Wednesday

Yy Chỉ năm với số cuối năm Ví dụ: năm 2008 = 08, năm 2009 = 09 Yyyy Chỉ năm vơi đủ số năm Ví dụ: 2008, 2009, 2010 Bảng 2.4: Các mã định dạng thời gian

Mã ngày Mô tả

H Chỉ với chữ số

Hh Chỉ giở với chữ số

m Chỉ phút với chữ số

mm Chỉ phút với chữ số

s Chỉ giây với chữ số

(149)

AM/PM am/pm

Hiển thị với 12 tiếng, hiển thị AM, PM hay bạn

dùng am/pm, A/P, a/p, S/C

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ể màu Màu bạn chọn phải màu 56 màu bảng màu

[giá trị điều kiện]

Dùng để điều kiện vơi toán tử so sánh: >, <, =, >=, <= , <> (không bằng) Ví du: [>100] : điều kiện lớn 100

Hãy ý đến điểm đặc biệt mã định dạng cuối bảng 2-5: 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 màu đỏ ngoặc đơn số nhỏ -100 Để làm điều này, bạn làm sau: 0.00_ ;[Red][<-100](-0.00);0.00

Mã định dạng [Red][<-100](-0.00) đặt phần số âm tạo nên kết Việc sử dụng phương pháp kết hợp với định dạng có điều kiện bạn nhân đơi số điều kiện định dạng có điều kiện từ lên đến điều kiện

(150)

khung type Format cells/number/custom, bạn gõ: "Dollars and" 00 "Cents" Định dạng ảnh hưởng đến số nhập vào 55.25 hiển thị "55 Dollars and 25 Cents" Nếu bạn muốn đổi số thành dollars cents, tham khảo thêm hai hàm tự tạo từ link sau Microsoft:

http://www.ozgrid.com/VBA/ValueToWords.htm and http://www.ozgrid.com/VBA/CurrencyToWords.htm

Bạn dụng định dạng riêng để hiển thị từ : Low, Average, hay High với số gõ vào Đơn giản việc sử dụng mã định dạng sau: [<11]"Low"* 0;[>20]"High"* 0;"Average"*

Hãy ý đên việc sử dụng dấu "*" Dấu lặp lại ký tự định dạng để điền đầy ô theo độ rộng cột, nghĩa tât từ Low, Average, or High bị dồn bên phải, số bị dồn bên trái

Chiêu thứ 34: Tăng thêm số lần Undo cho Excel Tất quen thuộc với chức Undo Excel, cho phép làm lại sai lầm Tuy nhiên, mặc định, Undo 16 lần Chiêu giúp bạn tăng số lần Undo lên nhiều hơn, đến 100 lần

Khi bạn sử dụng chức Undo Excel, bạn thực Undo 16 lần, nút Undo bị mờ đi, khơng thể Undo Ngoài ra, bạn nhấn nút Save để lưu bảng tính, nút Undo bị mờ đi, danh sách tác vụ (những hành động thực bảng tính) mà bạn thực bị Đó bạn lưu bảng tính, Excel cho bạn hài lịng với bảng tính (thì nhấn Save), thấy khơng cần thiết phải giữ lại danh sách tác vụ trước lưu

(151)

Để làm điều này, trước hết, bạn thoát khỏi Excel Sau bạn chạy lệnh Run

của Windows (Start | Run, nhấn phím Window + R), gõ vào Regedit.exe

và nhấn OK

Khi bạn mở chương trình Regedit, tìm đến khóa:

(152)

Nhấn Edit | New | DWORD Value (xem hình) Một mục New Value #1 tạo khung bên phải, bạn nhập vào chữ UndoHistory, nhấn

(153)

Nhấn đúp (double-click) vào mục UndoHistory tạo, gõ vào hộp thoại mở số bất kỳ, miễn lớn 16 nhỏ 100 Nhấn OK, thoát

(154)

Bạn khởi động lại Excel thử làm đó, nhấn vào nút Undo xem bạn Undo lần Hy vọng Undo 100 lần, đủ cho bạn Tuy nhiên, bạn nhấn lưu bảng tính, danh sách tác vụ Undo

Chiêu thứ 35: Tự tạo danh sách để fill

Bằng cách tự tạo danh sách, bạn cần gõ giá trị đầu, sau fill xuống fill ngang Fill Handle, danh sách tự động điền vào Excel cung cấp cho bạn khả tiết kiệm đáng kể thời gian cho việc nhập liệu, khơng cho số mà cho chuỗi Nó có tạo sẵn cho bạn vài danh sách: tháng năm, thứ tuần Bạn cần gõ từ đầu (có list), kéo Fill Handle, danh sách tự động điền vào với giá trị list Thí dụ bạn gõ Tue, fill xuống, ô kế tự động điền Wed, Thu, Fri, Sat, Sun, Mon, trở lại Tue cịn tiếp

Bạn hồn tồn tự tạo list riêng bạn để dùng sau Một cách đơn giản để tạo list gõ danh sách bạn cần vào Thí dụ bạn cần danh sách tháng năm tiếng Việt Vậy bạn gõ vào ô từ A1 đến A12:

(155)

(đối với Excel trước 2007, Tools ➝ Options ➝ Custom Lists), vùng Import List in cells, chọn $A$1:$A$12 Nhấn Import nhấn OK

(156)(157)

Chiêu thứ 36: Làm Subtotal Excel

(158)

Trước tiên, cần có tập số liệu để thực hành Các bạn nhập vào số liệu hình sau:

(159)

Trong hình trên, bạn thấy tiêu đề subtotal Region cột A in đậm giá trị subtotal bên cột B khơng Đối với tập số liệu khơng q khó để đọc kết quả, nhiên khó nhận biết subtotal có nhiều cột số liệu

Chúng ta dùng định dạng theo điều kiện để định các giá trị subtotal in đậm cách tự động bạn phải thực điều trước dùng lệnh subtotal Do thực lệnh subtotal bạn xố bỏ theo cách sau: chọn ô hành vùng kết subtotal vào Data ➝ Outline ➝ Subtotal ➝ chọn

Remove All

(160)

Lưu ý phải cố định cột A (thêm $ vào trước A) dùng tham chiếu tương đối cho dòng Nhấn nút Format… ➝ vào hộp Format Cells ➝ chọn ngăn Font ➝ chọn Bold Font Style chọn màu đỏ Color ➝ nhấn OK ➝ nhấn tiếp OK để trở bảng tính

(161)

Do bạn chọn ô A1 ô mặc định sau áp dụng định dạng theo điều kiện, Excel thay đổi địa tham chiếu công thức định dạng cho vùng chọn Ví dụ ô A2 B2 có công thức định dạng theo điều kiện =Right($A2,5)=”Total” ô A3, B3 =Right($A3,5)=”Total” Khi công thức ô trả True áp dụng định dạng theo thiết lập lệnh định dạng theo điều kiện

Cải tiến định dạng cho subtotal

(162)

khác

Trước tiên, bạn phải xoá định dạng theo điều kiện phần trước cách đặt ô hành vùng số liệu vào Home ➝ Styles ➝ Conditional Formatting ➝ Manage Rules ➝ chọn Rule nhấn nút Delete Rule

Bạn phải xoá vùng kết Subtotal tương tự hướng dẫn phần trước Sau đó, bạn chọn vùng A1:B16, nhớ chọn ô A1 ô hành vào Home ➝ Styles ➝ Conditional Formatting ➝ Manage Rule ➝ New Rule ➝“Use a formula to

determine which cells to format” (E2003, Format ➝ Conditional Formatting… ➝ Formula Is) ➝ nhập công thức sau hộp “Format values where this formula is true”

=$A1=”Grand Total”

(163)

=Right($A1,5)=”Total”

Nhấn nút Format ➝ chọn ngăn Font ➝ chọn Bold Italic Font Style ➝ chọn Single Underline ➝ nhấn OK ➝ OK Nhấp tiếp OK để trở lại hình bảng tính

Trong Excel 2007, Rule thêm vào trước nằm Do bạn chọn Rule tạo =$A1=”Grand Total” nhấn Move Up để đưa lên danh sách Rule

(164)

Chiêu thứ 37: Chuyển đổi hàm công thức trong Excel thành giá trị

Hầu hết bảng tính Excel chứa công thức Thỉnh thoảng bạn muốn lên kết công thức ơ, thay để cơng thức đó, thay đổi liệu mà tham chiếu đến thay đổi

(165)

1 Dùng Paste Special

Bạn chép kết công thức để lại công thức ô gốc việc sử dụng công cụ Paste Special Excel Giả sử bạn có công thức vùng A1:A100 Chọn vùng này, chọn lệnh copy (bạn làm điều cách chọn lựa chọn Clipboard tab Home nhấn chuột phải), sau chọn bắt đầu để dán kết (giả sử ô B1) Chọn Clipboard ➝ Paste ➝ Paste Values (hoặc nhấn phải chuột chọn Paste Special ➝ Values dùng phím tắt Alt+E+S+V) nhấn OK Lúc bạn thấy vùng B1:B100 kết công thức ô vùng A1:A100 giá trị Nếu bạn muốn chép đè công thức gốc với kết chúng, chọn dãy công thức chọn Copy Vẫn dãy cơng thức chọn đó, chọn Paste ➝ Paste

Values (hoặc click phải chuột chọn Paste Special ➝ Values dùng phím tắt Alt+E+S+V), sau click OK

2 Sử dụng "Copy Here As Values Only"

Bạn chép kết công thức mà để lại công thức ô gốc cách sử dụng menu ẩn mà chí nhiều người dùng khơng biết tồn Chọn dãy cơng thức, nhấn phải chuột đường biên bên phải bên trái vùng chọn (nói cách khác bạn click chuột phải đường biên 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 nhấn "Copy Here as Values Only" từ menu xổ xuống

(166)

3 Sử dụng Macro

Nếu bạn thường xun chuyển đổi có cơng thức hàm thành giá trị bạn sử dụng macro đơn giản sau:

Sub ValuesOnly( ) Dim rRange As Range On Error Resume Next

Set rRange = Application.InputBox(Prompt:="Select the formulas", _

Title:="VALUES ONLY", Type:=8) If rRange Is Nothing Then Exit Sub rRange = rRange.Value

End Sub

(167)

Nhấn chọn nút Close cửa sổ code nhấn Alt + Q để quay trở lại bảng tính Excel Chọn Developer ➝ Code ➝ Macros (với phiên trước Excel 2007, chọn Tools ➝ Macro ➝ Macros) nhấn Alt+F8, chọn ValuesOnly, sau click chọn nút Options, shortcut key bạn thêm phím để gán nút tắt cho macro (Ví dụ: bạn gõ shortcut key E sau muốn sử dụng macro bạn cần gõ Ctrl+E) Chú ý bạn khơng nên chọn phím tắt trùng với phím tắt có sẳn Excel Ctrl+V, Ctrl+C, Ctrl+S

Khi bạn sử dụng macro, bạn thấy Input box hiển thị hỏi dãy chứa công thức bạn dãy Địa dãy chọn hiển thị cách tự động Inputbox, tất bạn cần để làm thực việc chuyển đổi nhấn OK

Chiêu thứ 38: Thêm liệu vào danh sách Validation cách tự động

Nếu bạn sử dụng validation, bạn thấy tính hay Có lẽ điểm ấn tượng khả thêm danh sách lựa chọn vào bảng tính cho phép người sử dụng chọn lựa Nó tuyệt hay không bạn nhập vào tên áp dụng tính validation Excel tự động thêm tên vào danh sách validation? Điều thực bạn làm theo hướng dẫn

(168)

Danh sách tên nhân viên công ty Tại ô áp dụng validation, bạn nhập vào tên nhân viên danh sách lựa chọn, mà bạn phải thêm tên nhân viên vào dòng cuối danh sách điều chỉnh lại vùng liệu validation trước Điều bất tiện sử dụng

Để hạn chế nhược điểm này, ô A11 bạn nhập vào công thức bên chép đến A20 (dự trù trước thêm 10 tên mới)

=IF(OR($D$1="",COUNTIF($A$1:A10,$D$1)),"x",$D$1)

Chọn Formulas ➝ Defined Names ➝ Define Name (E2003: Insert ➝ Name ➝ Define), nhập vào tên MyName hộp Names Tại Refers To, bạn nhập vào công thức bên nhấp OK (E2003: nhấn Add ➝ OK)

=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),1) Theo tôi, ta thay công thức

(169)(170)

Validation) Chọn List từ hộp Allow, Source nhập vào =MyNames, bạn đảm bảo chọn thêm hộp In-Cell dropdown Chọn ngăn Error Alert bỏ chọn Show error alert after invalid data is entered Nhấn nút OK hoàn tất

(171)

VB Code:

Private Sub Worksheet_Change(ByVal Target As Range) Dim lReply As Long

If Target.Cells.Count > Then Exit Sub

If Target.Address = "$D$1" Then

If IsEmpty(Target) Then Exit Sub

If WorksheetFunction.CountIf(Range("MyNames"), Target) = Then

lReply = MsgBox("Add " & Target & " to list",

vbYesNo + vbQuestion)

If lReply = vbYes Then

Range("MyNames").Cells(Range("MyNames").Rows.Count + 1, 1) = Target

End If

End If

End If

End Sub

Đóng cửa sổ VBE lưa bảng tính lại, sau chọn ô D1 nhập vào tên chưa có danh sách validation nhấn Enter Bạn thấy tên xuất xuất danh sách liệu bảng tính A11 chọn D1 mở danh sách validation bạn thấy tên bổ sung vào

Chiêu thứ 39: Ngày tháng Excel

Ngày tháng Excel xử lý tuyệt tạo sử dụng Excel, nhiên có vướng mắc xử lý với liệu ngoại lai import vào May thay, Excel có cơng cụ phương thức để giải khơng bạn muốn

Mặc định, Excel sử dụng hệ thống ngày dựa 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, Các giá trị giúp cho Excel thực u cầu tính tốn thời gian

(172)

ngày

9ể thấy giá trị số ngày giờ, bạn định dạng ô General Thí dụ liệu ngày đầy đủ 03/05/2007 03:00:00 PM có giá trị số 39.025,625, nghĩa 39.025 ngày tính từ ngày gốc 01/01/1900 kèm theo 0,625 ngày tương đương 15/24 ngày

Tính tốn cho kết nhiều 24 giờ:

Bạn cộng giá trị với tốn tử cộng dùng hàm Sum() Vì Sum(A1:A5) cho kết tổng vùng A1:A5 vùng có giá trị nghĩa Thế bạn không để ý bạn tưởng kết sai tổng tính nhiều 24 giờ: 24 Excel coi ngày, định dạng phút, số ngày khơng hiển thị bạn thử biết:

Trong bạn gõ cơng thức =5:00 + 17:00 + 6:00, bạn cho kết phải 28:00, Excel lại cho bạn thấy ô 4:00, 24 bị chuyển thành ngày, lẻ

Muốn buộc Excel rõ số lớn 24, bạn phải định dạng custom cho đó [h]:mm [h]:mm:ss.

Bạn dùng kiểu định dạng để biết số phút số giây giá trị giờ, ngày Thí dụ ô có giá trị (24 giờ) định dạng [m] hiển thị số phút 24 1.440 Nếu bạn định dạng [s], bạn thấy số giây 86.400

Tính tốn ngày giờ:

Để tính tốn ngày bạn cần nhớ số sau: ngày = 24 = 1.440 phút = 86.400 giây

1 = 60 phút = 3.600 giây

Khi nhớ số này, bạn dễ dàng sử dụng để tính tốn quy đổi đơn vị thời gian

Thí dụ bạn có số 5,5 A1, bạn muốn:

(173)

- Bạn muốn 17:30 5:30 PM, bạn dùng công thức =A1/24 + 0,5

- ngược lại bạn muốn tính xem 5,5 ngày có giờ, dùng cơng thức =A1*24

Thí dụ khác: bạn có giá trị ngày (đúng nghĩa) 22/05/2007 15:36 bạn muốn:

- Lấy số ngày : = Int(A1)

- Lấy số giờ: =A1- Int(A1), = Mod(A1, 1)

Để tìm khoảng thời gian tính ngày mốc ngày, bạn tính cơng thức: =DatedIf(A1, A2, “d”), với A1 ngày sớm (có giá trị nhỏ hơn)

Hàm DatedIf dùng với tham số “m” cho tháng, “y” cho năm Hàm datedif danh sách hàm Excel hàm Lotus123

Nếu bạn ngày nhỏ ngày cơng thức tính, dùng kết hợp Min Max sau:

=DatedIf(Min(A1, A2), max(A1, A2), ”d”)

Để hiển thị âm sau tính tốn:

Khi tính tốn thời gian, có kết âm, Excel bị lỗi hiển thị tràn số: #########

Chẳng hạn bạn tính khoảng thời gian bắt đầu kết thúc: =A2 - A1 Nếu bắt đầu 17:00 kết thúc 5:00 sáng hơm sau cơng thức bị lỗi Bạn dùng công thức này:

=A2- A1+ If(A2<A1, 1)

Cịn bạn cần tính hiệu số ngày, bạn dùng công thức =Max(A1:A2)- Min(A1:A2)

hoặc = ABS(A2- A1)

(174)

Đây cịn gọi hệ thống ngày MacinTosh, nói kỹ Chiêu 87

Bạn yêu cầu Excel cộng thêm vào giá trị ngày có sẵn khoảng thời gian mà bạn muốn (khi tính thời hạn kể từ thời điểm), 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)

Thí dụ thêm tháng vào A1: = Date(Year(A1, Month(A1) + 3, Day(A1)) AddIns Analysis ToolPak hỗ trợ nhiều hàm có hàm thời gian Edate() để cộng trừ số tháng vào ngày cho trước Hoặc hàm EoMonth() để tính ngày cuối tháng thời điểm

Ghi chú:

Excel có lỗi coi năm 1900 năm nhuận, Điều ngạc nhiên anh Bill cố tình làm vậy, theo họ tuyên bố

Sau số link hữu ích 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

(175)

Chiêu thứ 40: Cho phép sử dụng tính Group and Outline bảng tính bị khoá

Để thực điều này, trước tiên bạn thiết lập Group and Outline cho liệu Chọn vùng liệu vào Data ➝ Group ➝ Outline chọn Auto Outline (E2003: Data ➝ Group & Outline) kết hình sau:

Sau đó, bạn dùng tính Protect Sheet để khố bảng tính lại: vào Review ➝ nhóm Changes ➝ chọn Protect Sheet đặt vào mật mã bảo vệ (Ví dụ mật mã Secret)

Khi bảng tính chế độ bảo vệ bạn khơng thể sử dụng tính Group and Outline Do sử dụng tham số UserInterfaceOnly phương thức Protect kết hợp với kiện mở bảng tính (Workbook_Open) để bật

(176)

Sau áp dụng Group and Outline xong, bạn nhấn ALT+F11 để vào cửa sổ VBE Bạn chọn ThisWorkbook nhập vào đoạn mã sau (Tên Sheet1 CodeName Sheet Formulas Exercise, bạn thay Index sheet bảng tính dùng TabName):

VB Code:

Private Sub Workbook_Open() With Sheet1

.Protect Password:="Secret", UserInterfaceOnly:=True

.EnableOutlining = True

End With End Sub

(177)

Ghi thêm:

Tham số UserInterfaceOnly phương thức Protect

là True: bảo vệ giao diện người dùng (user interface) cho phép dùng macro để thay đổi

nếu không khai báo nhận giá trị mặc định False: bảo vệ giao diện người dùng ngăn lệnh macro can thiệp vào giao diện người dùng EnableOutlining = True ➝ bật nút Show/ Hide Detail

Chiêu thứ 41: Bẫy lỗi để trống liệu

(178)

Bên dưới, bạn muốn người nhập liệu vào bảng phải nhập đủ nội dung Nếu bạn bắt đầu với bảng liệu có sẵn bị để trống, cần điền đầy vào, xem phần sau:

Điền liệu vào ô trống:

Một số công cụ hàm Excel không làm việc với ô trống Pivot table, Sorting, Filter, hàm SumProduct, … Giả sử bạn có cột A với đống ô trống nằm xen kẽ bạn nhấn F5, Control – G, nhấn Special, chọn ô chọn blank, nhấn OK Bây tất ô trống chọn Nếu bạn muốn điền vào giá trị cơng thức giống liền nó, nhấn dấu (=), nhấn mũi tên lên, nhấn Ctrl-Enter

Bây đến phần chính:

Tơ chọn từ A3 đến ô B100 chẳng hạn, theo độ lớn vùng bạn định nhập liệu Mở hộp thoại Data – Validation, tab setting chọn Custom ô Allow, điền công thức sau vào khung công thức:

=AND(COUNTA($A$2:$A2)=ROW()-2,COUNTA($B$2:$B2)=ROW( )-2)

(179)(180)

Bây bạn nhập thiếu dòng trên, mà nhảy xuống nhập dòng dưới, bạn cảnh báo sau:[/

Chiêu thứ 42: Giảm danh sách xổ xuống Validation, sau chọn

Rất hữu ích cho người dùng Excel bạn cho họ danh sách để chọn

Validation, danh sách tự động ngắn lại họ chọn mục danh sách, để khỏi phải lựa chọn danh sách dài, đồng thời tránh việc nhập trùng liệu (đôi cần thiết)

Bước 1:

Trong sheet (thí dụ sheet1) bạn có danh sách vùng A1:A10 Bạn hy đặt name cho danh sách cách tô chọn vùng danh sách, gõ tên MyList hộp namebox

Bước 2:

Trong 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 List, source =MyList, nhấn OK

Bước 3: mở cửa sổ VBA sheet đó, copy đoạn code sau:

(181)

PrivateSub Worksheet_Change(ByVal Target As Range) Dim strVal As String

Dim strEntry As String

OnError ResumeNext

strVal = Target.Validation.Formula1 IfNot strVal = vbNullStringThen

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" EndWith

EndIf

Application.EnableEvents = True

OnError GoTo

EndSub

Đóng cửa sổ VBA quay Excel Thử chọn mục validation, sang ô khác xổ validation xuống, bạn thấy mục vừa chọn xong khơng cịn list

Lưu ý code, nói đến name MyList, phải xác định rõ Sheet1.MyList, không, VBA cho name nằm chung sheet với sheet chứa code khơng tìm thấy báo lỗi

Chiêu thứ 43: Thêm danh sách có sẵn danh sách tự tạo vào menu chuột phải

(182)

Handle

Trước tiên, bạn cần nhập vào danh sách phần tử cần đưa vào Custom List bảng tính Ví dụ bạn nhập 26 chữ ô A1:A26 Sheet1 Sau nhấn vào nút Office ➝ Excel Options ➝ Popular ➝ Edit Custom Lists (E2003: Tools ➝ Options ➝ Custom Lists) Nhấp chọn nút nằm bên trái nút Import dùng chuột quét chọn vùng liệu A1:A26 Sau nhấn nút Import OK Kể từ lúc danh sách chữ sử dụng để fill tất bảng tính máy tính

(183)

VB Code:

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 cửa sổ VBAProject nhập vào đoạn mã sau:

VB Code:

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

(184)

Next lCount End With

On Error GoTo

End Sub

Đóng cửa sổ VBE lưu bảng tính lại Sau nhấp phải chuột vào bảng tính, bạn thấy Custom List dựng sẵn bạn tạo xuất trình đơn ngữ cảnh

http://www.giaiphapexcel.com/ http://www.microsoft.com/downloads/s displaylang=vi, đ ngôn ngữ tự nhiên Openoffice.org, Corrupt File Recovery SUMIF() đ SUMIFS() trong http://www.ozgrid.com/Excel/arrays.htm. DSUM() các Hàm sở liệu SUMPRODUCT(). http://support.microsoft.com/default.aspx?kbid=828795. http://www.ozgrid.com/VBA/ValueToWords.htm http://www.ozgrid.com/VBA/CurrencyToWords.htm.

Ngày đăng: 29/04/2021, 19:41

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w