Danh mục

Giáo trình hướng dẫn nghiên cứu các phương pháp lập trình trên microsoft access marco p9

Số trang: 5      Loại file: pdf      Dung lượng: 753.16 KB      Lượt xem: 5      Lượt tải: 0    
Jamona

Hỗ trợ phí lưu trữ khi tải xuống: miễn phí Tải xuống file đầy đủ (5 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tham khảo tài liệu giáo trình hướng dẫn nghiên cứu các phương pháp lập trình trên microsoft access marco p9, công nghệ thông tin, tin học văn phòng phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Giáo trình hướng dẫn nghiên cứu các phương pháp lập trình trên microsoft access marco p9 CHƯƠNGIV:LẬPTRÌNHTRÊNMICROSOFTEXCELActivate Worksheet được chọn làm worksheet hiện hànhBeforeDoubleClick Người dùng kích đúp chuột trên sheet. Sự kiện này xảy ra ngay trước khi kích đúp.BeforeRightClick Ngay trước khi người dùng kích phải chuột trên sheetCalculate Khi trên workshet có thực hiện tính toán nào đóChange Khi một ô nào đó trong worksheet bị thay đổiDeactivate Worksheet không còn hiện hànhFollowHyperlink Người dùng kích chuột vào một siêu liên kết trong worksheetSelectionChange Khi người dùng thay đổi vùng lựa chọn trên worksheetCần phải lưu ý là mã lệnh của các bộ xử lý sự kiện của worksheet phải được đặt trong mô-đunmã lệnh của worksheet tương ứng.SựkiệnChangeSự kiện Change xảy ra khi có một ô nào đó trong worksheet bị thay đổi. Sự kiện này sẽ khôngxảy ra khi quá trình tự động tính toán của Excel làm thay đổi giá trị của ô, hoặc khi chèn mộtđối tượng vào trong worksheet.Khuôn mẫu của bộ xử lý sự kiện Change như sau:Private Sub Worksheet_Change(ByVal Target As Range) ‘Mã lệnh sẽ được đặt ở đâyEnd SubTham số Giải thíchTarget Tham số kiểu Range, là ô/vùng dữ liệu bị thay đổiKhi thủ tục Worksheet_Change được thực thi (nghĩa là khi sự kiện xảy ra), thủ tục này sẽ nhậnđược một đối tượng kiểu Range được truyền thông qua tham số Target. Đối tượng này có thể làmột ô hoặc một vùng dữ liệu đã bị thay đổi. Ví dụ sau sẽ hiển thị một hộp thông báo thể hiệnđịa chỉ của ô đã bị thay đổi (địa chỉ của đối tượng Target): Private Sub Worksheet_Change(ByVal Target As Excel.Range) MsgBox “Vùng dữ liệu “ & Target.Address & “ đã thay đổi.” End SubĐể có thể hiểu rõ hơn các loại thao tác làm phát sinh sự kiện Change của workshet, nhập đoạnmã trên vào trong mô-đun mã lệnh của worksheet. Sau khi nhập xong đoạn mã lệnh trên, quaytrở lại Excel và thực hiện thay đổi worksheet bằng nhiều cách khác nhau. Mỗi khi sự kiệnChange xảy ra, một hộp thông báo sẽ được hiện lên thông báo địa chỉ của vùng dữ liệu đã bị tácđộng. Khi thực hiện theo cách như vậy, ta có thể tình cờ phát hiện ra nhiều điều thú vị về sựkiện này. Một số thao tác làm phát sinh sự kiện, nhưng một số thao tác khác lại không như thế: Thay đổi định dạng của ô không làm phát sinh sự kiện Change như mong đợi, nhưng nếu sử dụng trình đơn Edit Clear Formats thì lại làm phát sinh sự kiện này. Thêm, hiệu chỉnh hoặc xoá chú thích của các ô không làm phát sinh sự kiện Change. Nhấn phím DEL trên bàn phím sẽ làm phát sinh sự kiện Change (mặc dù ô hiện tại đang là một ô trắng). 143 Những ô bị thay đổi khi sử dụng các lệnh của Excel có thể có hoặc không làm phát sinh sự kiện này. Ví dụ, chọn trình đơn Data Form và Data Sort không làm phát sinh sự kiện. Nhưng nếu chọn trình đơn Tools Spelling và Edit Replace thì lại làm phát sinh sự kiện này. Nếu trong các chương trình con của VBA có làm thay đổi một ô nào đó thì sẽ làm phát sinh sự kiện Change. Rõ ràng, sự kiện Change khá phức tạp và có thể có tính chất khác nhau tuỳ theo từng phiên bản của Excel. Tuy nhiên, sự kiện này lại rất hữu ích, đặc biệt là những ứng dụng quan trọng, đòi hỏi cần phải có sự kiểm tra, giám sát đến giá trị của từng ô. Sự kiện Change phát sinh khi có một ô nào đó bị thay đổi, nhưng thông thường người lập trình chỉ cần quan tâm đến một vùng nào đó trong worksheet mà thôi. Ví dụ sau sẽ thực hiện giám sát một vùng dữ liệu có tên là SoLieu trong worksheet. Nếu người dùng làm thay đổi giá trị bất kỳ ô nào trong vùng này, chương trình sẽ xuất hiện thông báo cho người dùng: Private Sub Worksheet_Change(ByVal Target As Range) Dim VRange As Range Set VRange = Range(SoLieu) If Not Intersect(Target, VRange) Is Nothing Then MsgBox Ô thay đổi nằm trong vùng dữ liệu: SoLieu. End If End Sub Ví dụ trên sử dụng biến kiểu Range có tên là VRange, thể hiện cho vùng dữ liệu cần giám sát sự thay đổi (là vùng dữ liệu có tên là SoLieu). Thủ tục này còn sử dụng hàm Intersect của VBA, là hàm tìm giao của hai vùng dữ liệu, để kiểm tra xem vùng dữ liệu Target (được truyền qua tham số của sự kiện) có nằm trong vùng dữ liệu VRange hay không. Hàm Intersect trả về giá trị Nothing có nghĩa là hai vùng dữ liệu đó không có ô nào chung nhau. Do có sử dụng toán tử Not nên biểu thúc “Not Intersect(Target, VRange) Is Nothing” sẽ trả về giá trị TRUE nếu hai vùng dữ liệu có ít nhất một ô chung nhau. Vì vậy, nếu vùng dữ liệu bị thay đổi có chung ô nào đó với vùng dữ liệu tên là SoLieu thì chương trình sẽ hiển thị hộp thông báo. C ...

Tài liệu được xem nhiều: