Tham khảo tài liệu ''giáo trình hình thành quá trình ứng dụng các phương pháp lập trình trên microsoft access marco p1'', tài liệu phổ thông, tin học phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Giáo trình hình thành trình ứng dụng phương pháp CHƯƠNG IV: LẬP TRÌNH TRÊN MICROSOFT EXCEL lập trình microsoft access marco Chọn vùng liệu cần định dạng, ví dụ vùng A1:D5 Trong trình đơn Tools, chọn MacrRecord New Macro… Để hiển thị hộp thoại Record Macro Hình IV-2: Hộp thoại Record Macro Trong mục Macro name, nhập tên Macro, ví dụ Macro1 Nếu muốn thực thi Macro cách nhấn phím tắt, nhập chữ thơng thường vào Shortcut Key Sau đó, để thực thi Macro, ta cần nhấn tổ hợp phím CTRL+Chữ (với chữ viết thường) CTRL+SHIFT+Chữ (với chữ viết hoa) Chữ đặt làm phím tắt khơng phép số hay ký tự đặc biệt @ # Nếu phím tắt trùng với phím tắt có phím tắt có bị vơ hiệu hố Trong mục Store Macro In, chọn nơi lưu trữ Macro Nếu muốnMacro sử dụng cho bảng tính sử dụng Excel, chọn mục Personal Macro Workbook Trong ví dụ này, chọn This Workbook CHÚ Ý Nếu người dùng tạo Macro hữu dụng muốn dùng lại nhiều lần nên chọn lưu Macro Personal Macro Workbook Tệp bảng tính tệp bảng tính ẩn có tên Personal.xls, lưu thư mục Xlstart Mỗi khởi động Excel, tệp bảng tính tự động tải lên chế độ ẩn Mặc định, tệp Personal.xls không tồn người dùng tạo Macro Macro lưu vào Personal Macro Workbook (chọn Store Macro In hộp thoại Record Macro) Nhập thông tin vào mục Description cần mô tả thêm Macro Chọn OK CHÚ Ý Trong trình tạo Macro kịch bản, muốn lưu địa ô tương đối so với ô hành, ta làm sau: công cụ Stop Recording , chọn vào biểu Kể từ thời điểm ấy, địa ô lưu tương đối so với ô tượng Relative Reference hành thoát khỏi Excel chọn lần vào biểu tượng Relative Reference Thực thao tác mà sau lặp lại Macro kịch thực thi a Định dạng đường kẻ cho bảng liệu: Chọn trình đơn FormatƯCells… Ư Chọn thẻ Border để định dạng đường kẻ cho bảng liệu 103 b Định dạng dòng tiêu đề bảng liệu: Chọn dòng bảng liệu Ư Chọn trình đơn FormatÖCells… Ö Chọn thẻ Font Ö chọn Font Style Bold Ö Chọn thẻ Partern Ö Chọn màu xám Trên công cụ Stop Recording, nhấn chuột vào biểu tượng Stop Recording hoàn thành việc tạo Macro theo kịch để Sau kết thúc trình tạo Macro theo kịch bản, Excel tự động phát sinh đoạn mã lệnh sau: Sub Macro1() 'ÅTên Macro ' ' Macro1 Macro ' Macro recorded 6/10/2007 by TTH ' ' Keyboard Shortcut: Ctrl+Shift+L ÅPhím tắt Macro ' Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) LineStyle = xlContinuous Weight = xlMedium ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeTop) LineStyle = xlContinuous Weight = xlMedium ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeBottom) LineStyle = xlContinuous Weight = xlMedium ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeRight) LineStyle = xlContinuous Weight = xlMedium ColorIndex = xlAutomatic End With With Selection.Borders(xlInsideVertical) LineStyle = xlContinuous Weight = xlThin ColorIndex = xlAutomatic End With With Selection.Borders(xlInsideHorizontal) LineStyle = xlContinuous Weight = xlThin ColorIndex = xlAutomatic End With ActiveWindow.SmallScroll Down:=-6 Range("A1:D1").Select 'ÅLựa chọn hàng tiêu đề With Selection.Font 'ÅPhông chữ cho hàng tiêu đề Name = "Arial" FontStyle = "Bold" Size = 10 Strikethrough = False Superscript = False Subscript = False OutlineFont = False Shadow = False 104 CHƯƠNG IV: LẬP TRÌNH TRÊN MICROSOFT EXCEL Underline = xlUnderlineStyleNone ColorIndex = xlAutomatic End With With Selection.Interior ColorIndex = 48 Pattern = xlSolid PatternColorIndex = xlAutomatic End With End Sub 'ÅTô màu cho hàng tiêu đề 'ÅKết thúc Macro Đoạn mã thêm vào vài dòng ghi để làm rõ phần Macro, ghi bắt đầu dấu 'Å 2.2.2 Tạo Macro sử dụng VBA Trong thực tế, Macro kịch đáp ứng nhu cầu, thơng thường đáp ứng tốt yêu cầu thao tác tương tác với Excel Để khắc phục nhược điểm này, người dùng viết đoạn mã lệnh riêng với VBA để tạo Macro có khả đáp ứng nhu cầu Như vậy, ngồi cách tạo Macro theo kịch bản, cịn tạo Macro cách lập trình VBAIDE Ví dụ sau minh hoạ cách thức tạo Macro sử dụng VBA Mục đich Macro định dạng lại phông chữ cho vùng ô 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” Tạo Macro sử dụng VBAIDE Trong hình Excel, chọn trình đơn ToolsƯMacrVisual Basic Editor Trong hình VBAIDE vừa hiển thị, chọn trình đơn InsertƯModule Nhập đoạn mã lệnh sau: Sub Dinh_dang() With Selection.Font Name = "Times New Roman" FontStyle = "Italic" Size = 11 End With End Sub Sau nhập xong đoạn mã lệnh, chọn trình đơn FilClose and Return to Microsoft Excel để trở hình Excel CHÚ Ý Mỗi Macro có tên riêng tên tài liệu Excel (Workbook) 2.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, Excel 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 ToolsƯMacrMacros… nhấn tổ hợp phím ALT+F8 105 Hình IV-3: Trình quản lý Macro 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 thơng qua trình quản lý Để bắt đầu thao tác đó, trước hết cần phải chọn Macro tương ứng 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 Ø Để xố Macro: kích chuột vào nút Delete, Macro chọn xoá danh sách Macro 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ím tắt thay đổi mơ tả cho Macro chọn Hình IV-4: Hộp thoại Macro Options 2.4 Sử dụng Macro Việc sử dụng Macro tạo, thực chất thực thi đoạn mã lệnh tạo nên Macro Có nhiều cách khác để chạy Macro: Ø Thực thi cách bấm phím tắt gán cho Macro; 106 CHƯƠNG IV: LẬP TRÌNH TRÊN MICROSOFT EXCEL Ø 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ạ mà gán trỏ tới Macro cần thực hiện; Ø Thực thi cách nhấn chuột vào đối tượng đồ hoạ mà gán trỏ tới Macro; Ø 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 2.4.1 Thực thi Macro phím tắt Trong 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 102, 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” trang 105 2.4.2 Thực thi Macro thơng qua trình quản lý Macro Chi tiết tham khảo phần “Quản lý Macro” trang 105 2.4.3 Thực thi Macro trực tiếp từ VBAIDE 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ụ Hình IV-5: Thực thi Macro trực tiếp từ VBAIDE 107 Trong trường hợp người sử dụng không đặt trỏ giữa, danh sách Macro để người dùng lựa chọn Macro cần thực thi 2.5 Hiệu chỉnh Macro Khi Macro tạo chưa đáp ứng đủ nhu cầu người sử dụng thay đổi, bổ sung mã lệnh cho Macro Quá trình hiệu chỉnh Macro thực thơng qua VBAIDE Để hiệu chỉnh Macro, ta dùng trình quản lý Macro (xem mục “Quản lý Macro” trang 105) truy cập trực tiếp VBAIDE Về chất, việc hiệu chỉnh (sửa đổi) Macro tương đương việclập trình để xây dựng nên Macro 2.6 Vấn đề an toàn sử dụng Macro Do Macro đoạn mã lệnh tự động thực thi đoạn mã lệnh gây nguy hiểm cho máy tính người dùng (dạng Macro Virus) Chính vậy, Excel sử dụng chế bảo vệ để chống lại nguy lây nhiễm virus thông qua Macro Cơ chế điều chỉnh thơng qua mức an ninh khác nhau: Ø Very High Ø High Ø Medium Ø Low GỢI Ý Mức an ninh Excel thiết lập cách chọn trình đơn ToolsƯMacrSecurity… Thơng thường, sử dụng Excel với tệp bảng tính có chứa Macro, nên đặt mức an ninh Medium Ở mức này, Excel yêu cầu người dùng xác thực xem đoạn mã lệnh tệp bảng tính có phải từ nguồn tin cậy hay khơng Hình IV-6: Hộp thoại cảnh báo an ninh Excel Nếu người dùng chọn Enable Macros, Macro chứa workbook phép thực thi Nếu người dùng chọn Disable Macros, Macro chứa workbook tồn workbook thực thi Xây dựng hàm Excel 3.1 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 108 CHƯƠNG IV: LẬP TRÌNH TRÊN MICROSOFT EXCEL Để 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ố: 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, 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 3.2 Tạo hàm VBA 3.2.1 Tại phải dùng hàm? Trong q trình tính tốn với bảng tính, người ta thấy ln tồn nhu cầu: giá trị tính dựa vào hai yếu tố: Ø Tính theo nhiều cơng thức theo trình tự logic Ø Việc tính tốn cần phải dựa thơng số bên ngồi khác Nếu đối chiếu hai yếu tố với cấu trúc hàm (ở mục trước) ta thấy nhu cầu giải cách thỏa đáng với việc sử dụng hàm Hơn nữa, sử dụng hàm, việc sử dụng lặp cho nhiều ô hiệu chỉnh nội dung tính tốn sau thuận tiện so với việc khơng dùng hàm (tính trực tiếp ơ) Chính ưu điểm mà hàng loạt hàm Excel xây dựng sẵn phân loại theo nhóm để tạo thuận tiện cho người dùng Một câu hỏi đặt với 300 hàm có sẵn Excel cộng với hàm có sẵn VBA, lại cần phải tạo hàm mới? Câu trả lời đơn giản: để đơn giản hố cơng việc Với chút sáng tạo, người dùng tạo thêm hàm phục vụ cho nhu cầu Khơng phải lúc hàm có sẵn giải cơng việc người dùng, giải phải thông qua nhiều hàm khác thực theo cách phức tạp Thay vào đó, người dùng tạo hàm đảm nhận nhiệm vụ Hàm có cách thức tính tốn hồn mới, việc tập hợp lại hàm sẵn có để tạo thành hàm đơn giản Càng đơn giản, dễ hiểu, dễ nhớ dễ sử dụng Lấy ví dụ Excel, có cung cấp cơng cụ có tên Lookup Bộ công cụ cho phép người sử dụng tiến hành tra bảng chiều cách dễ dàng Nhưng việc tra bảng nội suy thực nhờ cơng cụ Vì thế, xây dựng hàm dùng để tra bảng nội suy chiều công cụ tốt phục vụ cho q trình tính tốn, ngành cơng trình 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: 109 Ø 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 3.2.2 Cấu trúc hàm Thực chất, 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: [Public/Private] Function Tên_hàm([DSách_tham_số])[as kiểu_dữ_liệu] [Câu_lệnh] [Tên_hàm = biểu_thức] [Exit Function] [Câu_lệnh] [Tên_hàm = biểu_thức] End Function Trong đó: Ø Public: (tuỳ chọn) từ khoá 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 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 cịn khối lệnh khác) Ø End Function: (bắt buộc) từ khoá báo hiệu kết thúc hàm 3.2.3 Tạo hàm Để minh hoạ rõ cách thức tạo hàm mới, lấy ví dụ tạo hàm đơn giản: hàm tính diện tích hình chữ nhật Hàm có tên Dien_tich, với hai tham số đầu vào chiều rộng chiều cao Kiểu liệu tham số kiểu số thực giá trị trả hàm kiểu số thực Để tạo hàm mới, thực theo bước sau: 110 CHƯƠNG IV: LẬP TRÌNH TRÊN MICROSOFT EXCEL Khởi động VBAIDE Trong trình đơn Tools, chọn mục MacrVisual 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 IV-7: Hộp thoại Add Procedure 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 sau: Public Function Dien_Tich(Rong As Double, Cao As Double) As Double ‘Hàm tính diện tích hình chữ nhật Dien_Tich = Rong * Cao End Function Trong trình đơn File, 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 111 Hình IV-8: Sử dụng hàm Excel CHÚ Ý Các bước tạo hàm tương tự bước tạo Macro phần trước Tuy nhiên, hàm cần phải có giá trị trả nên khai báo kiểu chương trình cho hàm, người dùng cần phải chọn Function (khác với tạo Macro, phải chọn Sub) Thông thường, với yêu cầu tính tốn khơng thiết phải tạo hàm mới, đoạn ví dụ đơn giản nhằm minh hoạ cách thức tạo hàm cấu trúc hàm Để hiểu rõ hàm, ta xem lại đoạn mã trên: Public Function Dien_Tich(Rong As Double, Cao As Double) As Double ‘Hàm tính diện tích hình chữ nhật Dien_Tich = Rong * Cao End Function Ở dịng đầu tiên, khố Public, tên hàm hiển thị danh sách hàm Excel (được hiển thị nhập dấu vào bấm phím Shift+F3) Tiếp sau từ khố Function (chứ khơng phải Sub Macro) tên hàm, Dien_Tich Hàm có hai tham số, nằm hai dấu ngoặc đơn, Rong Cao, có kiểu số thực Từ khố As Double cuối xác định kiểu trả hàm Dien_Tich kiểu số thực Ở dòng thứ 2, đơn giản dịng thích bắt đầu dấu phẩy (‘) Ở dòng thứ 3, giá trị hàm tính dựa hai tham số đầu vào Rong Cao Hàm kết thúc câu lệnh End Function CHÚ Ý Khi xây dựng hàm mới, cần phải ý khác biệt hàm gọi từ chương trình VBA hàm sử dụng bảng tính Các hàm sử dụng bảng tính mang tính “bị động”, tức thao tác vùng liệu thay đổi nội dung bảng tính Nếu người dùng cố tạo hàm mà có thay đổi định dạng ô, màu chẳng hạn, hàm khơng thực được, hàm trả giá trị lỗi Như vậy, tạo hàm cần ghi nhớ: Hàm đơn giản trả giá trị đó; Hàm khơng thể thực thao tác làm thay đổi đối tượng 3.3 Hàm trả lỗi Trong số trường hợp, hàm phải trả giá trị lỗi Để làm rõ điều này, lấy ví dụ hàm phân loại sinh viên Function PhanLoai(DiemTB) As String If (DiemTB >= 5) Then PhanLoai = "Do" 112 CHƯƠNG IV: LẬP TRÌNH TRÊN MICROSOFT EXCEL Exit Function End If If (DiemTB < 5) Then PhanLoai = "Truot" Exit Function End If End Function Hàm lấy tham số đầu vào để phân loại điểm trung bình sinh viên thông qua biến DiemTB với thang điểm 10 Hàm trả giá trị kiểu chuỗi: “Đỗ” điểm trung bình lớn 5, ngược lại “Trượt” Tuy nhiên, với trường hợp điểm trung bình, lý đó, nhập vào giá trị nhỏ lớn 10 hàm trả thông báo “Trượt” “Đỗ” Như khơng hợp lý Trong trường hợp đó, cần phải trả thông báo cho người sử dụng biết khơng thể áp dụng hàm với điểm trung bình Như vậy, hàm thay đổi lại sau: Function PhanLoai(DiemTB) As String If (DiemTB < 0) Or (DiemTB > 10) Then PhanLoai = “#N/A” Exit Function End If If (DiemTB >= 5) Then PhanLoai = "Do" Exit Function End If If (DiemTB < 5) Then PhanLoai = "Truot" Exit Function End If End Function Và vậy, kể từ lúc này, vơ tình nhập giá trị điểm khơng thích hợp, hàm trả thông báo lỗi “#N/A” Mặc dù trông giống lỗi Excel, thực chất chuỗi thông thường Để trả giá trị lỗi thực sự, VBA cung cấp thêm hàm tên CVErr, hàm chuyển đổi số thành giá trị lỗi tương ứng Với giá trị lỗi thực thế, tất hàm có tham chiếu chứa giá trị lỗi trả giá trị lỗi tương tự Và vậy, người dùng cần thay đổi câu lệnh PhanLoai = “#N/A” câu lệnh PhanLoai = CVErr(xlErrNA) Cần lưu ý kiểu trả hàm CVErr kiểu Variant, cần phải thay đổi kiểu giá trị trả hàm Variant Hàm hiệu chỉnh lại sau: Function PhanLoai(DiemTB) As Variant If (DiemTB < 0) Or (DiemTB > 10) Then PhanLoai = CVErr(xlErrNA) Exit Function End If If (DiemTB >= 5) Then PhanLoai = "Do" Exit Function End If 113 If (DiemTB < 5) Then PhanLoai = "Truot" Exit Function End If End Function CHÚ Ý Để sử dụng hàm trả thông báo lỗi, nghĩa có sử dụng hàm CVErr, người dùng phải khai báo kiểu liệu trả hàm kiểu Variant Và vậy, giá trị đầu vào không đúng, hàm trả giá trị lỗi, giúp người sử dụng nhận sửa lỗi kịp thời Hình IV-9: Hàm trả lỗi Trong đoạn mã lệnh trên, để trả thông báo lỗi “#N/A” tham số hàm CVErr phải số xlErrNA Có nhiều giá trị lỗi khác nhau, mối giá trị lỗi có số tương ứng Bảng liệt kê 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 khơng có #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 #VALUE! xlErrValue Hàm có chứa tham số cơng thức khơng phù hợp kiểu liệu Add-in Phân phối ứng dụng mở rộng Một tính hữu ích cho người lập trình Excel khả tạo Add-In Phần trình bày lợi ích sử dụng Add-In, cách thức tạo sử dụng Add-In 114 CHƯƠNG IV: LẬP TRÌNH TRÊN MICROSOFT EXCEL 4.1 Khái niệm Add-In Add-In chương trình gắn thêm vào Excel nhằm bổ sung thêm tính cho Excel Thơng thường, tệp chứa Add-In có phần mở rộng XLA có cấu trúc tương tự workbook Excel So với ứng dụng tệp XLS Excel, việc sử dụng Add-In có số ưu điểm sau: Ø Đơn giản hoá việc sử dụng hàm Đối với hàm lưu Add-In, sử dụng không cần phải thêm tên workbook phía trước tên hàm Lấy ví dụ người dùng tạo hàm có tên MOVAVG workbook có tên Newfuncs.xls Khi muốn sử dụng hàm workbook khác, người dùng phải sử dụng hàm với cách thức sau: =Newfuncs.xls!MOVAVG(A1:A50) Nhưng hàm lưu Add-In mở Excel, người dùng không cần phải thêm tên Add-In hay tên workbook trước tên hàm nữa, đơn giản sử dụng tên hàm mà thôi: =MOVAVG(A1:A50) Đơn giản hố q trình mở ứng dụng Mỗi Add-In sau cài đặt tự động mở bắt đầu khởi động chương trình Excel Hơn nữa, hộp thoại cảnh báo an ninh Excel không xuất (xem mục “Khi Macro tạo chưa đáp ứng đủ nhu cầu người sử dụng thay đổi, bổ sung mã lệnh cho Macro Q trình hiệu chỉnh Macro thực thơng qua VBAIDE Để hiệu chỉnh Macro, ta dùng trình quản lý Macro (xem mục “Quản lý Macro” trang 105) truy cập trực tiếp VBAIDE Về chất, việc hiệu chỉnh (sửa đổi) Macro tương đương việclập trình để xây dựng nên Macro Ø Vấn đề an toàn sử dụng Macro” trang 108), tránh gây lúng túng cho người dùng chưa có kinh nghiệm Ø Tránh gây bối rối cho người dùng toàn liệu Sheet tệp AddIn che dấu, vậy, với người dùng kinh nghiệm, họ khơng phải thắc mắc hay cảm thấy khó hiểu khơng nhìn thấy liệu Ø Ngăn chặn việc truy cập vào mã lệnh Khi phân phối ứng dụng dạng Add-In có đặt chế độ bảo mật mật khẩu, người dùng xem thay đổi mã lệnh ứng dụng Điều tránh việc chép mã lệnh chương trình 4.2 Trình quản lý Add-In Việc quản lý Add-In Excel thực đơn giản thơng qua trình quản lý AddIn Để hiển thị trình quản lý Add-In, chọn trình đơn ToolsƯAdd-Ins… 115 Hình IV-10: Trình quản lý Add-In Ø Để tải/dỡ bỏ Add-In Excel: kích chuột vào hộp kiểm bên trái tên Add-In Ø Để mở Add-In: chọn nút lệnh Browse… Ư Chọn Add-In cần mở GỢI Ý Thơng thường, tệp Add-In có phần mở rộng XLA lưu trữ thư mục %UserProfile%\Application Data\Microsoft\AddIns 4.3 Tạo Add-In Nhìn chung, việc tạo Add-In thực dễ dàng cách chuyển từ workbook thông thường sang dạng Add-In Đương nhiên, workbook thích hợp để chuyển thành Add-In Nhìn chung, workbook thích hợp để chuyển thành Add-In workbook có chứa mã lệnh Một workbook chứa worksheet sử dụng chuyển thành Add-In, lẽ tất sheet workbook bị ẩn chuyển thành Add-In Việc tạo Add-In từ workbook thông thường thực dễ dàng theo bước sau: Viết mã lệnh cho workbook bình thường, đảm bảo tất mã lệnh thực bình thường mà khơng có lỗi xảy Nên nhớ tạo giao diện cho người dùng truy cập sử dụng tính Add-In Một cách để thực việc tạo trình đơn cho Add-In, có chứa mục trình đơn tương ứng với tính ứng dụng Chi tiết cách tạo trình đơn, xem mục “Tạo trình đơn tuỳ biến” trang 175 Kiểm tra ứng dụng cách thực thi kích hoạt workbook khác Điều mơ tình workbook chuyển thành Add-In, lẽ thân Add-In không hiển thị sheet mà lúc tất thao tác thực sheet workbook khác Nếu không muốn người khác xem mã lệnh ứng dụng thực bước này: đặt mật bảo vệ Kích hoạt VBAIDE Ö chọn workbook tương ứng cửa sổ Project Chọn trình đơn Tools Ư xxx Properties… (xxx tên Dự án VBA), sau chọn thẻ 116 CHƯƠNG IV: LẬP TRÌNH TRÊN MICROSOFT EXCEL Protection Tích vào ô Lock project for viewing, nhập vào mật (2 lần) Ư chọn OK Hình IV-11: Hộp thoại Project Properties Kích hoạt lại Excel, chọn trình đơn File Ư Properties, sau chọn thẻ Summary Nhập vào thơng tin cho Add-In để hiển thị trình quản lý Add-In Mục Title tên Add-In, không nhập vào mục này, tên Add-In tên tệp Add-In Mục Comments phần mô tả Add-In Chọn trình đơn File Ư Save As… Trong hộp thoại Save As, chọn Microsoft Excel add-in (*.xla) mục Save as type Hình IV-12: Hộp thoại Save As Chọn Save Một workbook lưu (với phần mở rộng *.xla), tệp XLS chứa workbook giữ nguyên Excel 117 ... Phân phối ứng dụng mở rộng Một tính hữu ích cho người lập trình Excel khả tạo Add-In Phần trình bày lợi ích sử dụng Add-In, cách thức tạo sử dụng Add-In 114 CHƯƠNG IV: LẬP TRÌNH TRÊN? ?MICROSOFT? ?EXCEL ... dùng truy cập sử dụng tính Add-In Một cách để thực việc tạo trình đơn cho Add-In, có chứa mục trình đơn tương ứng với tính ứng dụng Chi tiết cách tạo trình đơn, xem mục “Tạo trình đơn tuỳ biến”... thi cách bấm phím tắt gán cho Macro; 106 CHƯƠNG IV: LẬP TRÌNH TRÊN? ?MICROSOFT? ?EXCEL Ø 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