Tôi khuyên bạn nên tách mã của bạn dựa trên chức năng và mục đích cụ thể cho từng trang tính hoặc mô-đun. Theo cách này, bạn sẽ chỉ đặt mã tương ứng với giao diện người dùng của trang tính trong mô-đun của trang tính và chỉ đặt mã liên quan đến các mô-đun trong các mô-đun tương ứng. Ngoài ra, sử dụng các mô-đun riêng biệt để đóng gói mã được chia sẻ hoặc tái sử dụng trong số các trang tính khác nhau.
Ví dụ: giả sử bạn có nhiều trang tính chịu trách nhiệm hiển thị dữ liệu từ cơ sở dữ liệu theo cách đặc biệt. Chúng ta có những loại chức năng nào trong tình huống này? Chúng tôi có chức năng liên quan đến từng trang tính cụ thể, các tác vụ liên quan đến việc nhận dữ liệu từ cơ sở dữ liệu và các tác vụ liên quan đến việc điền một trang tính có dữ liệu. Trong trường hợp này, tôi có thể bắt đầu với một mô-đun cho truy cập dữ liệu, một mô-đun để điền một trang tính với dữ liệu và trong mỗi trang tôi có mã để truy cập mã trong các mô-đun đó.
Nó có thể được đặt ra như thế này.
Module: DataAccess:
Function GetData(strTableName As String, strCondition1 As String) As Recordset
'Code Related to getting data from the database'
End Function
Module: PopulateSheet:
Sub PopulateASheet(wsSheet As Worksheet, rs As Recordset)
'Code to populate a worksheet '
End Function
Sheet: Sheet1 Mã:
Sub GetDataAndPopulate()
'Sample Code'
Dim rs As New Recordset
Dim ws As Worksheet
Dim strParam As String
Set ws = ActiveSheet
strParam = ws.Range("A1").Value
Set rs = GetData("Orders",strParam)
PopulateASheet ws, rs
End Sub
Sub Button1_Click()
Call GetDataAndPopulate
End Sub
Nguồn
2010-07-15 12:45:21
ký hiệu Hungarian như im plemented trong Công ước đặt tên Reddick đã nhiều hơn hoặc ít hơn là tiêu chuẩn cho đặt tên biến cho Visual Basic cho các ứng dụng và VB6. Trong khi tôi chắc chắn sẽ tránh sử dụng nó trong .NET, nơi công cụ rất mạnh, nó không làm tổn thương khi sử dụng nó trong VBA, nơi mà công cụ cũ hơn. –
@Ben - "Crazy hungarian" được nói lưỡi-in-má :) Trong khi hungarian không giúp đỡ với việc thiếu gõ tĩnh và dụng cụ xung quanh "những gì này một lần nữa", tôi nghĩ rằng nó rơi ngắn khi bạn đi nhiều hơn đối tượng- định hướng VBA và bắt đầu tạo các đối tượng miền của riêng bạn. Khiếu nại lớn nhất của tôi, tuy nhiên, là thực sự gây rối với dòng chảy của mã * đọc * thực sự. Mỗi người trong số họ mặc dù, không phải là một điểm tôn giáo đối với tôi. Nhưng nếu ai đó hỏi, tôi sẽ không giới thiệu nó. – jevakallio
Điểm tốt. Tôi đồng ý rằng khi xây dựng các lớp trong VBA, hungarian có thể làm cho các đối tượng của bạn trông xấu xí. Có lẽ tôi vẫn còn sử dụng nó trong VB6 để nhắc nhở bản thân mình rằng tôi đang làm việc trong VB6 :-). –