Microsoft Excel là một chương trình xử lý bảng tính rất mạnh, có thể giải quyết hầu hết các bài toán từ đơn giản đến phức tạp bằng những tính năng sẵn có trong chương trình. Thế mạnh của bảng tính Excel, ngoài các công thức sẵn có còn là Macro. Giáo trình Excel nâng cao này sẽ cung cấp cho người học các nội dung sau: Một số tính năng cao cấp, cơ sở dữ liệu nâng cao, một số hàm tài chính, một số ứng dụng excel trong kế toán, chia sẻ với các chương trình khác, macro.
LỜI NĨI ĐẦU Microsoft Excel chương trình xử lý bảng tính mạnh, giải hầu hết toán từ đơn giản đến phức tạp tính sẵn có chương trình Thế mạnh bảng tính Excel, ngồi cơng thức sẵn có cịn Macro Excel nâng cao mơn học nâng cao mơn Bảng tính Excel Để học mơn người học cần có kiến thức mơn Bảng tính Excel Giáo trình Excel nâng cao cung cấp cho người học nội dung sau: Một số tính cao cấp Cơ sở liệu nâng cao Một số hàm tài Một số ứng dụng Excel kế toán Chia sẻ với chương trình khác Macro Từ kiến thức học sinh – sinh viên ứng dụng để giải số toán kế toán chuyên dụng Đây tài liệu tổng hợp lại từ giáo trình khác trình giảng dạy rút kinh nghiệm người biên soạn Do khơng tránh thiếu sót, mong bạn đọc thơng cảm góp ý kiến để hồn thiện MỤC LỤC LỜI NÓI ĐẦU BÀI 1: MỘT SỐ TÍNH NĂNG CAO CẤP I GOAL SEEK Khái niệm: Cách dùng Ứng dụng tốn Tìm giá trị tốn khoản tiền tương lai Ứng dụng toán Thiết lập giá Bài tập 11 II Solver 12 Khái niệm 12 Cách dùng 12 Ứng dụng toán giá 12 Ứng dụng toán với ràng buộc 14 Bài Tập 15 BÀI 2: CƠ SỞ DỮ LIỆU NÂNG CAO 18 I Subtotal 18 Đặt vấn đề 18 Các bước tính tổng: 18 II Pivot Table 22 Đặt vấn đề 22 Tạo Pivot Table 23 Chỉnh sửa Pivot Table 23 Tạo biểu đồ từ Pivot Table 24 Ví dụ 25 III Consolidate 29 Khái niệm Consolidate: 29 Cách sử dụng Consolidate 29 Tạo Consolidate 29 Chỉnh sửa Consolidate 30 BÀI 3: MỘT SỐ HÀM TÀI CHÍNH 31 I Hàm DB (Declining Balance) 31 Cú pháp 31 Giải thích lệnh 31 Ví dụ 31 II Hàm FV 32 Cú pháp 32 Giải thích lệnh 32 Ví dụ 33 Trang 2/ 89 Bài tập 33 III Hàm IPMT 35 Cú pháp 35 Giải thích lệnh 35 Ví dụ .35 IV Hàm ISPMT 36 Cú pháp 36 Giải thích lệnh 36 Ví dụ .36 V Hàm NPER .37 Cú pháp 37 Giải thích lệnh 37 Ví dụ .37 VI Hàm NPV .38 Cú pháp: 38 Giải thích lệnh 38 Ví dụ .39 VII Hàm PMT .40 Cú pháp 40 Giải thích lệnh 40 Ví dụ .40 VIII Hàm PPMT 41 Cú pháp 41 Giải thích lệnh 41 Ví dụ .42 IX Hàm PV 43 Cú pháp 43 Giải thích lệnh 43 Ví dụ .44 X Hàm SLN (Straight Line) 44 Cú pháp 44 Giải thích lệnh 44 Ví dụ .45 XI Bài tập: 45 BÀI 4: MỘT SỐ ỨNG DỤNG EXCEL TRONG KẾ TOÁN .49 I Kế toán tiền mặt ngân hàng .49 Giới thiệu tài khoản liên quan 49 Những nghiệp vụ kế toán tiền mặt 49 Kế toán tiền mặt ngân hàng Excel .50 Ví dụ kế toán tiền mặt – Ngân hàng 51 Lời giải cho ví dụ kế tốn tiền mặt 51 Trang 3/ 89 II Kế toán tiền Lương 56 Các nghiệp vụ kế toán tiền lương 56 Đặt vấn đề cho cơng việc kế tốn tiền lương doanh nghiệp cụ thể 57 Giải toán Excel 57 III Bài tập 59 BÀI 5: CHIA SẺ VỚI CÁC CHƯƠNG TRÌNH KHÁC 61 I Hòa trộn Excel với Word 61 Tạo bảng tính Excel từ Word: 61 Chèn bảng tính Excel có sẵn vào Word 62 Liên kết phần bảng tính Excel có sẵn vào Word 64 Hòa trộn tài liệu Word vào Excel 65 II Hòa trộn Excel với Access 65 Bài 6: MACRO 70 I Định nghĩa Macro 70 II Tạo Macro 70 Tạo Macro theo kịch 70 Tạo Macro sử dụng Microsoft Visual Basic for Application 75 Quản lý Macro 76 Xóa Macro 77 III Thực thi Macro 77 IV Xây dựng hàm Excel VBA 79 Khái niệm hàm Excel 79 Tạo hàm VBA 80 Ví dụ đơn giản với VBA 83 Bài tâp ứng dụng 84 Bài tập 87 Tài liệu tham khảo 89 Trang 4/ 89 BÀI 1: MỘT SỐ TÍNH NĂNG CAO CẤP Mục tiêu: Hiểu ý nghĩa, công dụng, thao tác hàm Goal seek, Solver; Phân tích tốn đưa tốn dạng phương trình ẩn ẩn; Thiết lập tốn bảng tính Excel; Sử dụng hàm Goal seek hàm Solver; Có tính cẩn thận, khoa học, sáng tạo phân tích thiết lập tốn I GOAL SEEK Khái niệm: Goal seek (Hàm mục tiêu) thường áp dụng tốn tính doanh thu hịa vốn, thay đổi tiêu chi phí để có lợi nhuận mong muốn, tính tổng chi phí cho tổng chi phí rịng phải trả… Cách dùng a Yêu cầu dùng hàm Goal seek: Trước chạy Goal Seek, cần thiết lập bảng tính theo mẫu thực bước sau đây: Thiết lập ô làm ô thay đổi (changing cell) Đây giá trị mà Goal Seek xử lý lặp lặp lại để cố gắng đạt kết gần Rồi nhập giá trị ban đầu này, giả định không Thiết lập giá trị nhập liệu khác cho công thức đặt cho chúng giá trị thích hợp Tạo cơng thức để Goal Seek sử dụng trình cố gắng đạt mục tiêu Thực bảng tính Excel: Thực MS Excel 2010: Data\ What-If Analysis\Goalseek Xác định tham số cho hàm (Set cell, To value, By changing cell) Hình 1.1 Trang 5/ 89 Lưu ý: Khi thiết lập bảng tính để sử dụng Goal Seek, thường có cơng thức ô biến cho công thức (với giá trị ban đầu) ô khác Công thức có nhiều biến, Goal Seek cho phép xử lý lần biến mà Xác định biến công thức giá trị ban đầu cho biến b Cách hoạt động Goal Seek Hàm Goal Seek hoạt động cách sử dụng phương pháp lặp lặp lại (iterative method) để tìm lời giải Nghĩa là, Goal Seek thử giá trị ban đầu biến để xem có tạo kết mong muốn hay không Nếu không, Goal Seek thử tiếp với giá trị khác nhau, kết mà tìm gần giống với kết mong muốn Ứng dụng tốn Tìm giá trị tốn khoản tiền tương lai a Thiết lập toán Một người muốn để dành tiền để mua thiết bị có trị giá $50.000, thời gian năm tính từ hơm Giả sử rằng, tiền gửi ngân hàng có lãi suất 5% năm, cần phải gửi vào ngân hàng năm tối thiểu để đạt mong muốn mình? b Dùng hàm Goal seek Dùng hàm Goal seek để tìm kiếm số tiền phải nộp vào ngân hàng năm để sau năm có $50.000 Hình 1.2 Trong hình 1.2 trên: Ơ B5 thay đổi (changing cell): số tiền tối thiểu phải gửi vào ngân hàng năm (với giá trị ban đầu khơng có đồng cả) Các B1và B2 sử dụng làm cho hàm FV() ô B5 Ô B5 chứa hàm FV(), hàm chuyên dùng để tính giá trị tương lai cho khoản đầu tư Kết mong muốn $50,000 Trang 6/ 89 Tại ô B5 = FV(B1, B2, B3) Chạy Goal Seek: 1) Chọn Data, What-If Analysis, Goal Seek Excel hiển thị hộp thoại Goal Seek 2) Nhập tham chiếu đến ô chứa công thức hộp Set Cell Trong trường hợp này, $B$5 3) Nhập giá trị mong muốn 50000 kết công thức hộp To Value 4) By changing cell ô $B$3 để đạt giá trị To Value cho công thức Set Cell Hình 1.3 5) Sau nhấn OK hộp thoại, Goal Seek hiển thị kết mà tìm vào thay đổi (là giá trị $-9,048.739906 ô B3) hộp thoại Goal Seek Status cho biết có tìm lời giải hay khơng Đồng thời so sánh kết áp dụng lời giải (Current value) với kết mà bạn muốn có (Target value) Goal Seek tính kết quả: Nếu muốn có $50,000 sau năm, từ bây giờ, năm phải gửi vào ngân hàng $-9,048.739906, với giả thiết lãi suất tiền gửi suốt năm 5% năm Nếu đồng ý với kết Goal Seek tìm được, nhấn OK để chấp nhận kết ô thay đổi (là giá trị $-9,048.739906 ô B3) Bỏ qua kết này, nhấn Cancel c Các dạng thay đổi toán Các phương trình đại số thường khơng xuất mơ hình kinh doanh, nhiên, khả Goal Seek Giải phương trình sau: Trang 7/ 89 3x 82 x 1 4x Thực giải toán theo bước sau: Bước 1: Mở MS Excel thiết lập bảng sau: Hình 1.4 Giả sử biến x = lưu ô A2 phương trình lưu ô B2 Mục tiêu cần đạt Ô B2=(((3 * A2 - 8) ^ 2) * (A2 - 1)) / (4 * A2 ^ - 5) Bước 2: Dùng Goal Seek để xác lập mục tiêu cho công thức (vế phải phương trình), cách thay đổi giá trị A2 Bước 3: Dùng hàm Goal seek: * Set cell: B2 * To value: * By changing celling: A2 Bước 4: Nhấn OK Kết đạt Hình 1.6 Giá trị ô A2 lời giải cho nghiệm x phương trình kết phương trình (ơ B2) khơng xác Kết xác hơn, phải thay đổi giới hạn hội tụ (Maximum Change) Excel Ví dụ thiết lập cho Maximum Change 0.000001 (Xem khảo thêm phần 4.c) Ứng dụng toán Thiết lập giá a Thiết lập mơ hình tốn Tối ưu hóa lợi nhuận sản phẩm Có nhiều doanh nghiệp sử dụng lợi nhuận từ sản phẩm thước đo cho tình hình tài Một mức lợi nhuận mạnh, có nghĩa chi phí kiểm soát tốt, cho thấy thị trường hài lòng với giá sản phẩm Dĩ nhiên, lợi nhuận phụ thuộc vào nhiều yếu tố khác nữa, sử dụng Goal Seek để tìm mức lợi nhuận tối ưu dựa vào yếu tố Trang 8/ 89 Ví dụ: Muốn đưa dòng sản phẩm muốn thu 30% lợi nhuận từ sản phẩm năm Giả sử có giả định sau đây: Trong năm bán 100,000 sản phẩm (Số lượng bán) Mức chiết khấu trung bình (Chiết khấu cho đại lý) cho đại lý 40% Tổng chi phí cố định (CP Cố định) $750,000 chi phí riêng cho sản phẩm (CP riêng/ sp) $12.63 Từ thông tin trên, tìm mức giá bán hợp lý cho sản phẩm để kiếm 30% lợi nhuận Hình 1.7 b Goal seek mơ hình định giá: Giá trị ban đầu $1.00 nhập ô giá bán cho sản phẩm (ô D4) Với mức giá này, bán hết 100,000 sản phẩm, sau chiết khấu 40% cho đại lý Doanh thu $60,000 Chi phí cho 100,000 sản phẩm cộng với chi phí cố định $2,013,000 Như vậy, bán với giá $1.00 sản phẩm, lỗ $1,953,000 Tương đương với lợi nhuận mong muốn -3255% Trang 9/ 89 Để tìm giá bán cho sản phẩm (giá trị D4) mà kiếm 30% lợi nhuận, thiết lập tham số hộp thoại Goal Seek sau: Tham chiếu cho Set Cell D15 Giá trị cho To Value 0.3 (tức 30%) Tham chiếu cho By Changing Cell D4 Hình 1.8 Vậy giá bán 01 sản phẩm phải $47.92772 để đạt mức lời 30% c Giá trị xấp xỉ Goal Seek Excel sử dụng phép tính lặp lặp lại (iterative calculations) Việc lặp lặp lại phải thời gian dài để tìm lời giải xác Do Excel hịa hợp việc xác lập giới hạn định trình lặp lại Để điều chỉnh số lần lặp lại này, vào Excel Options\ Formulas Trong có hai tùy chọn xác lập cho việc lặp lại: Maximum Iterations — Giá trị text box quy định số lần lặp lại tối đa Trong Goal Seek, số giá trị tối đa mà Excel đưa vào ô thay đổi (changing cell) để thử Maximum Change — Giá trị text box giới hạn mà Excel sử dụng để định xem có hội tụ đến lời giải hay không Nếu hiệu số lời giải hành mục tiêu muốn đạt nhỏ giá trị này, Excel ngừng lại Trang 10/ 89 ' Kết thúc macro End Sub Đoạn mã thêm vào vài dòng ghi để làm rõ phần Macro, ghi bắt đầu dấu ' Tạo Macro sử dụng Microsoft Visual Basic for Application Ngoài cách tạo Macro theo kịch cịn tạo Macro cách trực tiếp viết mã lệnh VBAIDE Theo cách này, người sử dụng phải tự viết mã lệnh để thực thao tác mong muốn Thực tế tạo Macro theo kịch bản, tất thao tác thực Để khắc phục nhược điểm này, người sử dụng phải tiến hành viết đoạn mã lệnh riêng để thực thao tác Ví dụ sau minh hoạ cách thức tạo Macro sử dụng VBA Nội dung Macro tiến hành định dạng lại phông chữ cho vùng tính lựa chọn bảng tính: thay đổi tên phơng chữ thành “Time News Roman”, kiểu chữ thành “Italic”, kích cỡ chữ “11” Trong hình Excel, chọn trình đơn Tools Macro Visual Basic Editor Trong hình VBAIDE vừa hiển thị, chọn trình đơn Insert Module Gõ đoạn mã lệnh sau vào cửa sổ mã lệnh: Sub Dinh_dang() With Selection.Font Name = "Times New Roman" FontStyle = "Italic" Size = 11 End With End Sub Sau gõ xong đoạn mã lệnh, chọn trình đơn Close and Return to Microsoft Excel để trở hình Excel Nhấn Alt + F8 Chú ý: Mỗi Macro có tên riêng tên tài liệu Excel Trang 75/ 89 Hình 6.2 Nhấp Run, kết sau: Hình 6.3 Quản lý Macro Nhằm tạo điều kiện thuận lợi cho người sử dụng làm việc với Macro, chương trìnhExcel tích hợp sẵn trình quản lý Macro Để hiển thị trình quản lý Macro, chọn trình đơn ToolsMacroMacros… nhấn tổ hợp Trang 76/ 89 phím ALT+F8 Xóa Macro Để xố Macro: kích chuột vào nút Delete, Macro chọn xoá danh sách Macro mã lệnh Macro III THỰC THI MACRO Việc sử dụng Macro tạo, thực chất thực thi đoạn mã lệnh cấu thành Macro, thực theo nhiều cách khác nhau: Thực thi cách dùng phím tắt gán cho Macro; Thực thi Macro theo cách thơng qua trình quản lý Macro; Thực thi Macro trực tiếp từ VBAIDE; Thực thi cách nhấn chuột vào nút lệnh hay điều khiển đồ hoạ; Thực thi cách nhấn chuột vào đối tượng đồ hoạ; Thực thi thông qua nút lệnh công cụ; Thực thi thơng qua mục trình đơn Chi tiết cách thực thi Macro xin tìm hiểu thêm tài liệu “Microsoft Office Excel Help” cài đặt sẵn Excel Ở trình bày cách thực thi Macro theo số cách thông thường a Thực thi Macro phím tắt Trong q trình tạo Macro theo kịch bản, người sử dụng gán phím tắt cho Macro Và để thực thi Macro, người dùng cần nhấn tổ hợp phím tắt gán cho Macro Trong ví dụ phần “Tạo Macro theo kịch bản” trang 10, Macro gán tổ hợp phím tắt CTRL+SHIFT+L, vậy, để thực thi Macro này, người sử dụng cần chọn vùng liệu để định dạng bảng, sau nhấn tổ hợp phím CTRL+SHIFT+L Đối với Macro tạo cách sử dụng VBAIDE, người dùng tạo phím tắt cho Macro thơng qua trình quản lý Macro Chi tiết tham khảo phần “Quản lý Macro” phần b Thực thi Macro thơng qua trình quản lý Macro Nhằm tạo điều kiện thuận lợi cho người sử dụng làm việc với Macro, chương trìnhExcel tích hợp sẵn trình quản lý Macro Để hiển thị trình quản lý Macro, chọn trình đơn ToolsMacroMacros… nhấn tổ hợp phím ALT+F8 (Xem Hình 6.9) Trang 77/ 89 Trong cửa sổ Macro, Macro tạo theo kịch VBAIDE có phiên làm việc Excel hiển thị danh sách Tất thao tác quản lý Macro thực dễ dàng Để bắt đầu thao tác đó, trước hết cần phải chọn Macro có danh sách: Để thực thi Macro (chạy Macro): kích chuột vào nút Run Để hiệu chỉnh Macro: kích chuột vào nút Edit, cửa sổ lệnh VBAIDE chứa mã lệnh Macro chọn hiển thị để người sử dụng có thay đổi mã lệnh Macro Kích chuột vào nút Options… hiển thị hộp thoại lựa chọn, cho phép người sử dụng thiết lập lại phí Hình: Hộp thoại Macro Options Hình 6.4 c Thực thi Macro trực tiếp từ VIBAIDE Cách thực thi Macro trực tiếp từ VBAIDE thích hợp người sử dụng muốn thử nghiệm Macro q trình xây dựng Để thực thi Macro VBAIDE, cần thực sau: Trong cửa sổ mã lệnh VBAIDE, đặt trỏ vào khối Sub … End Sub Nhấn phím F5 chọn biểu tượng công cụ Trong trường hợp người sử dụng không đặt trỏ giữa, đanh sách Macro lên để người dùng lựa chọn để thực thi Macro cần thiết Trang 78/ 89 Hình 6.5 Khi Macro tạo chưa đáp ứng đủ nhu cầu người sử dụng thường có nhu cầu thay đổi mã lệnh Macro Quá trình hiệu chỉnh Macro thực thơng qua VBAIDE IV XÂY DỰNG HÀM MỚI TRONG EXCEL BẰNG VBA Khái niệm hàm Excel a Khái niệm hàm Excel Hàm công thức định nghĩa sẵn Excel thực tính tốn dựa số liệu đầu vào, gọi tham số, theo trình tự lập trình sẵn nhằm thực phép tính từ đơn giản đến phức tạp Để hiểu rõ cấu trúc hàm, ta tìm hiểu hàm ROUND có sẵn Excel, hàm dùng để làm trịn số: Hình 6.6 Cấu trúc Một hàm bắt đầu dấu “=”, tiếp sau tên hàm, dấu ngoặc đơn “(“, danh sách tham số cách dấu phẩy “,” cuối dấu ngoặc đơn “)” Tên hàm Ấn phím SHIFT+F3 để hiển thị danh sách tất hàm Excel Các tham số Tham số số, chữ, giá trị logic TRUE FALSE, Trang 79/ 89 mảng, giá trị lỗi #NA, tham chiếu đến ô khác Tham số truyền vào phải có kiểu thích hợp với kiểu tham số tương ứng hàm Tham số truyền vào số, cơng thức, hàm Chú thích hàm Chú thích hàm dùng để thể cấu trúc danh sách tham số hàm, lên ta nhập vào tên hàm Chú thích hàm xuất hàm xây dựng sẵn Excel Tạo hàm VBA a Tạo hàm VBA Excel cho phép xây dựng hàm VBA, đặc biệt, việc sử dụng hàm khơng khác so với việc sử dụng hàm có sẵn Excel Hàm ln mang đặc tính: Trả giá trị đó, tương tự hàm có sẵn Excel; Hàm sử dụng chương trình VBA, nghĩa vừa sử dụng bảng tính (trong ơ), đồng thời sử dụng chương trình viết VBA b Cấu trúc hàm Hàm chương trình dạng Function Khác với Macro, hàm chương trình có giá trị trả có tham số Khi tạo hàm mới, người sử dụng cần phải tuân thủ theo dạng thức khai báo sau: [ P u b l i c / P r i v a te ] kiểu_dữ_liệu] F u n c t io n T ê n _ h m ( [ D S c h_ t h a m _ s ố ]) [ as [Câu_lệnh] [Tên_hàm = biểu_thức] [ E x i t F u n ct i o n ] [Câu_lệnh] [Tên_hàm = biểu_thức] End Function Trong đó: Public: (tuỳ chọn) từ khố biểu thị phạm vi hàm, hàm sử dụng đâu tất dự án VBA có Khi có từ khố Public, tên hàm hiển thị danh sách hàm Excel Private: (tuỳ chọn) từ khoá biểu thị phạm vi hàm, hàm sử dụng bên mơ-đun có chứa hàm Khi có từ khố Private, tên hàm Trang 80/ 89 khơng hiển thị danh sách hàm Excel, người sử dụng dùng hàm bảng tính cách bình thường Chú ý Nếu khơng khai báo phạm vi cho hàm (từ khố Public/Private), mặc định, hàm có phạm vi Public Function: (bắt buộc) từ khoá báo hiệu bắt đầu hàm Tên_hàm: (bắt buộc) tên hàm, cách đặt tên hàm tương tự cách đặt tên biến Tên_hàm sử dụng biến toàn hàm, hàm kết thúc giá trị trả hàm giá trị gán cho biến Tên_hàm cuối Danh_sách_tham_số: (tuỳ chọn) danh sách tham số đầu vào hàm Các tham số phân cách với dấu phẩy Kiểu_dữ_liệu: (tuỳ chọn) quy định kiểu giá trị trả hàm Nếu không quy định kiểu liệu, hàm có kiểu liệu mặc định Variant Exit Function: (tuỳ chọn) câu lệnh dùng để kết thúc hàm (cho dù phía sau câu lệnh khối lệnh khác) End Function: (bắt buộc) từ khoá báo hiệu kết thúc hàm c Tạo hàm Để tạo hàm mới, thực theo bước sau: Khởi động VBAIDE Trong trình đơn Tools, chọn mục Macro/Visual Basic Editor; Trong trình đơn Insert, chọn mục Module để tạo mô-đun mới, nơi chứa hàm người dùng định nghĩa Trong trình đơn Insert, chọn mục Procedure… để hiển thị hộp thoại Add Procedure Sau điền tên hàm vào mục Name, chọn kiểu chương trình Function phạm vi Public Cuối chọn OK; Hình 6.6 Trang 81/ 89 Chương trình tự động phát sinh đoạn mã lệnh sau: Public Function Dien_Tich() End Function Thay đoạn mã lệnh đoạn mã lệnh thích hợp Public Function Dien_Tich(Rong As Double, Cao As Double) As Double ‘Ham tinh dien tich hinh chu nhat Dien_Tich = Rong * Cao End Function Chọn mục Close and Return to Microsoft Excel để quay trở hình Excel Lúc này, hàm mà ta vừa xây dựng, có tên Dien_Tich, sử dụng bình thường hàm khác Excel d Hàm trả lỗi cách khắc phục Hàm trả lỗi: Một số giá trị lỗi số tương ứng VBA GIÁ TRỊ LỖI HẰNG SỐ GIẢI THÍCH #DIV/0! xlErrDiv0 Cơng thức có chia số cho Lỗi phát sinh chia cho ô trống #N/A xlErrNA Lỗi biểu thị liệu #NAME? xlErrName Hàm có tên mà Excel khơng thể nhận dạng Thường xảy nhập tên hàm sai, thay đổi tên hàm chưa cập nhật bảng tính #NULL! xlErrNull Giá trị rỗng, chẳng hạn tìm giao hai vùng khơng giao #NUM! xlErrNum Có vấn đề với giá trị Ví dụ người dùng nhập vào số âm, chấp nhận số dương #REF! xlErrRef Tham chiếu đến ô không tồn Điều thường xảy bị xố khỏi bảng tính Trang 82/ 89 #VALUE! xlErrValue Hàm có chứa tham số cơng thức không phù hợp kiểu liệu Trong trình xây dựng dự án phần mềm, việc gặp lỗi khơng thể tránh khỏi Vì vậy, việc tìm xử lý lỗi điều tất yếu Trình tự cơng việc sau: Tìm phân loại lỗi Tìm kiếm vị trí mã lệnh phát sinh lỗi Sửa lỗi Ngăn chặn lỗi xảy tương lai Ví dụ đơn giản với VBA Ví dụ trình bày với mục đích giúp người dùng làm quen với VBA IDE Excel Kết ví dụ hiển thị nội dung A1 Sheet1 bảng tính lên tiêu đề hộp thoại người dùng (UserForm) Trình tự thực sau: Mở ứng dụng Excel, nhấn tổ hợp phím ALT+F11 để vào VBA IDE Trong VBA IDE, chọn menu Insert / UserForm để thêm hộp thoại người dùng vào dự án Chọn tiếp menu Insert /Module để thêm mô-đun chuẩn vào dự án Chọn Module1 soạn thảo mã lệnh mơ-đun sau: P ub l i c S u b F i r s t P r o ( ) Us e r F or m1 S h o w Us e r F or m1 C a p t i o n = S h e e t s ( " S h e e t " ) R a n g e ( " A1 " ) Va l u e E n d S ub Hình 6.7 Trang 83/ 89 Sau quay trở lại Excel, chạy chương trình theo trình tự: Gõ vào ô A1 Sheet1 nội dung “tin hoc ung dung” Chọn menu Tools / Macro / Macros (hoặc nhấn tổ hợp phím ALT+ F8) Trong hộp thoại Macro, chọn macro có tên FirstPro nhấn nút Run Hình 6.5 Bài tâp ứng dụng Sử dụng công cụ VBA: Dịch số tiền chữ (Chuyển số thành chữ) Bước Mở tập tin cần chuyển >> Nhấn tổ hợp phím Alt + F11 để mở trình soạn thảo VBA Excel Bước Nhấp chuột phải lên VBA Project >> Insert >> Module >> dán đoạn mã bên vào cửa sổ Module chèn Function ConvertCurrencyToVietnamese(ByVal MyNumber) Dim Temp Dim Dollars, Cents Dim DecimalPlace, Count ReDim Place(9) As String Place(2) = " Nghin " Place(3) = " Trieu " Place(4) = " Ty " Place(5) = " Ngan ty " ' Convert MyNumber to a string, trimming extra spaces MyNumber = Trim(Str(MyNumber)) ' Find decimal place DecimalPlace = InStr(MyNumber, ".") ' f we fin ecimal place If DecimalPlace > Then ' Convert cents Temp = Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2) Cents = ConvertTens(Temp) ' Strip off cents from remainder to convert MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) Trang 84/ 89 End If Count = Do While MyNumber "" ' Convert last digits of MyNumber to English dollars Temp = ConvertHundreds(Right(MyNumber, 3)) If Temp "" Then Dollars = Temp & Place(Count) & Dollars If Len(MyNumber) > Then ' Remove last converted digits from MyNumber MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else MyNumber = "" End If Count = Count + Loop ' Clean up dollars Select Case Dollars Case "" Dollars = "khong Nghin" Case "One" Dollars = "Mot Nghin" Case Else Dollars = Dollars & " Nghin" End Select ' Clean up cents Select Case Cents Case "" Cents = " va khong Dong" Case "One" Cents = " va mot Dong" Case Else Cents = " va " & Cents & " Dong" End Select ConvertCurrencyToVietnamese = Dollars & Cents End Function Private Function ConvertHundreds(ByVal MyNumber) Dim Result As String ' Exit if there is nothing to convert If Val(MyNumber) = Then Exit Function ' Append leading zeros to number MyNumber = Right("000" & MyNumber, 3) Trang 85/ 89 ' Do we have a hundreds place digit to convert? If Left(MyNumber, 1) "0" Then Result = ConvertDigit(Left(MyNumber, 1)) & " Tram " End If ' Do we have a tens place digit to convert? If Mid(MyNumber, 2, 1) "0" Then Result = Result & ConvertTens(Mid(MyNumber, 2)) Else ' If not, then convert the ones place digit Result = Result & ConvertDigit(Mid(MyNumber, 3)) End If ConvertHundreds = Trim(Result) End Function Private Function ConvertTens(ByVal MyTens) Dim Result As String ' Is value between 10 and 19? If Val(Left(MyTens, 1)) = Then Select Case Val(MyTens) Case 10: Result = "Muoi" Case 11: Result = "Muoi mot" Case 12: Result = "Muoi hai" Case 13: Result = "Muoi ba" Case 14: Result = "Muoi bon" Case 15: Result = "Muoi lam" Case 16: Result = "Moi sau" Case 17: Result = "Muoi bay" Case 18: Result = "Muoi tam" Case 19: Result = "Muoi chin" Case Else End Select Else ' otherwise it’s between 20 an 99 Select Case Val(Left(MyTens, 1)) Case 2: Result = "Hai muoi " Case 3: Result = "Ba muoi " Case 4: Result = "Bon muoi " Case 5: Result = "Nam muoi " Case 6: Result = "Sau muoi " Case 7: Result = "Bay muoi " Trang 86/ 89 Case 8: Result = "Tam muoi " Case 9: Result = "Chin muoi " Case Else End Select ' Convert ones place digit Result = Result & ConvertDigit(Right(MyTens, 1)) End If ConvertTens = Result End Function Private Function ConvertDigit(ByVal MyDigit) Select Case Val(MyDigit) Case 1: ConvertDigit = "Mot" Case 2: ConvertDigit = "Hai" Case 3: ConvertDigit = "Ba" Case 4: ConvertDigit = "Bon" Case 5: ConvertDigit = "Nam" Case 6: ConvertDigit = "Sau" Case 7: ConvertDigit = "Bay" Case 8: ConvertDigit = "Tam" Case 9: ConvertDigit = "Chin" Case Else: ConvertDigit = "" End Select End Function Bước Nhấn phím Alt + F11 lần nhấn Ctrl + S để save lại toàn tài liệu Bước Sử dụng công thưc =ConvertCurrencyToVietnamese(B3) để chuyển đổi tiền tệ từ số chữ (với B3 số tiền chữ số) Ví dụ: B3 có giá trị là: 123456 kết =ConvertCurrencyToVietnamese(B3) trả Mot Tram Hai muoi Ba Nghin Bon Tram Nam muoi Sau Nghin va khong Dong Bài tập Bài tập 1: 1) Tạo Macro có tên "Dinhdang" ghi lại hành động Format (màu, loại font, cỡ, ) Gán Macro "Dinhdang" lên Toolbar (không yêu cầu dùng VBA), dùng với phương pháp "ustomize " Định dạng số ô Macro "Dinhdang" 2) Đọc hiểu Macro Mở xem nội dung Macro "Dinhdang" (ALT+F11) Giải thích dịng lệnh Bản chất Macro Sub (thủ tục)? 3) Có cách để chạy Macro? Nội dung cách? 4) Tạo Macro định dạng bảng, giải thích dịng lệnh Macro Trang 87/ 89 5) Tạo Macro để dán giá trị (Paste Value) Ứng dụng: Khi cần copy giá trị cơng thức, bạn chọn lệnh Copy sau đặt trỏ vào địa cần dán liệu chạy Macro 6) Tạo Macro định dạng số tiền dạng "#,##0" 7) Tạo Macro định dạng ngày tháng dạng "dd/MM/yy" 8) Tạo Macro dán định dạng (Paste Formats) 9) Tạo Macro để xoay chiều giá trị Ứng dụng: Khi cần xoay giá trị nằm theo hàng thành theo cột 10) Tạo cơng cụ (Toolbar) có tên "Các lệnh tơi" Trên toolbar gán tất Macro tạo từ câu 1-9 đặt tên rõ ràng theo nội dung công việc Bài tập 2: 1) Viết hàmMax2So nhận đầu vào giá trị số thực, giá trị trả hàm trả giá trị lớn đối số 2) Viết hàmMax3So nhận đầu vào giá trị số thực, giá trị trả hàm trả giá trị lớn đối số Trang 88/ 89 TÀI LIỆU THAM KHẢO Nguyễn Quỳnh, Giáo trình Microsoft Excel nâng cao, http://www.ebook.edu.vn; Đinh Thế Hiển, Excel Ứng Dụng - Phân Tích Hoạt Động Kinh Doanh & Tài Chính Kế Tốn, NXB Thống kê, 2007; Nguyễn Ngọc Hiển, Dẫn Thực Hành Sổ Sách Kế Tốn Lập Báo Cáo Tài Chính Và Báo Cáo Thuế GTGT Trên Excel, NXB Tài chính, 2007 Cao Bá Thành, Giáo trình Excel & Ứng dụng Kế tốn, NXB Thanh niên; Giáo trình Excel 2010, Microsoft Office-Việt Nam Trang 89/ 89 ... Solver khơng có sẵn Excel 2010 mà phải cài: Add-in Solver File Excel Options Add-Ins Ở mục Excel Add-ins, chọn "Go" Click chọn Solver Addins ấn OK YES (Để cài đặt) Xuất Add-Ins Solver Ribbon... lưu ô A2 phương trình lưu ô B2 Mục tiêu cần đạt Ô B2=(((3 * A2 - 8) ^ 2) * (A2 - 1)) / (4 * A2 ^ - 5) Bước 2: Dùng Goal Seek để xác lập mục tiêu cho công thức (vế phải phương trình) , cách thay... toán Excel 57 III Bài tập 59 BÀI 5: CHIA SẺ VỚI CÁC CHƯƠNG TRÌNH KHÁC 61 I Hòa trộn Excel với Word 61 Tạo bảng tính Excel từ Word: 61 Chèn bảng tính Excel