Cách đặt biến cho người mới bắt đầu

Liên hệ QC

Thái Phúc

Thành viên mới
Tham gia
1/12/18
Bài viết
31
Được thích
2
Giới tính
Nam
Em mới tiếp xúc với VBA nên có một số thắc mắc về cách đặt biến, cụ thể:
Ví dụ File của em có 10 Form và 10 Module
Trường hợp 1: Tất cả các Form của em đều khai báo :
Mã:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Vậy em muốn tạo thêm 1 Module "Khaibao" cho để khai báo chung cho cả file:
Mã:
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Trường hợp 2: Các biến ở một số module em thường khai báo:
Mã:
Dim sArr, RArr, Dic
hoặc
Mã:
Dim i as long, St as String
Giờ em khai báo chung cho cả file:
Mã:
Public sArr, RArr, Dic
Public i as long, St as String
Có được không ạ, mong các anh chị giải thích giúp em, trường hợp nào nên và không nên. Em xin chân thành cảm ơn!
 
Mới bắt đầu mà đã nói chuyện 10 Forms, 10 Modules, Lib Functions...
Thiệt tôi là dân chuyên kỹ thuật đặt biến (*) mà cũng không dám mách "trường hợp nào nên và không nên".

(*) Hồi xưa, trước khi có kiểu LT HĐT, mấy cái projects lớn có quy định luật đặt tên (identifier) và phạm vi (scope) biến. Lập trình viên bắt buộc phải theo.
 
Upvote 0
Mới bắt đầu mà đã nói chuyện 10 Forms, 10 Modules, Lib Functions...
Thiệt tôi là dân chuyên kỹ thuật đặt biến (*) mà cũng không dám mách "trường hợp nào nên và không nên".

(*) Hồi xưa, trước khi có kiểu LT HĐT, mấy cái projects lớn có quy định luật đặt tên (identifier) và phạm vi (scope) biến. Lập trình viên bắt buộc phải theo.
Mong anh chia sẻ kinh nghiệm. Cái con số "10" nó chỉ hàm ý là nhiều thôi anh ạ, chứ nhiều khi có là 100 form + 100 module thì cũng không hiệu quả bằng 1 module + 1 form của người khác :)
Bài đã được tự động gộp:

Tạm đọc bài này để biết khi nào thì dùng kiểu biến nào (toàn cục, nội bộ) để khai báo.. Thắc mắc tiếp thì tiếp tục..

https://www.giaiphapexcel.com/diendan/threads/bài-4-biến-trong-vba.130732/
Trước em cũng đọc bài này rôi ạ. Nhưng vì liên quan giải phóng biến và các hàm API em chưa biết xử lý thế nào anh ạ
 
Upvote 0
Mới tiếp xúc nên học cái khác, không phải học cái chế,
Khi quen rồi, quen cấu trúc lệnh, khai báo, ...
Và quan trọng hơn là quen với các cách thức (thuật toán) giải quyết vấn đề thì khi đó tự thấu hiểu ra là nên đặt thế nào cho khai báo, tổ chức chương trình sao cho hay và phù hợp với mình nhất, phù hợp với quy mô bài toán, vấn đề nhất

Ở đây tôi nói là phù hợp với mình, vì với lập trình chuyên nghiệp thì VBA thuộc loại tiểu khu giải quyết mấy bài toán nho nhỏ mà thôi
 
Upvote 0
Tôi chia sẻ kinh nghiệm rồi:
1. Tạm quên ba cái rắc rối Lib Functions
2. Tạm quên mấy cái con số 10, 100,... Chỉ nghĩ đến vài ba thôi.
 
Upvote 0
Tôi chia sẻ kinh nghiệm rồi:
1. Tạm quên ba cái rắc rối Lib Functions
2. Tạm quên mấy cái con số 10, 100,... Chỉ nghĩ đến vài ba thôi.
Cảm ơn anh, thực tế là mấy cái Lib Functions em chưa hiểu gì. Chỉ ví dụ là khi em tạo Form, để viết Caption của Form bằng tiếng Việt thì bắt buộc phải khai báo nó. Em thấy lặp đi lặp lại nên nhờ các anh chị mách nước là có nên cho nó vào 1 chỗ không ạ (Tất nhiên có thêm lời giải thích tại sao sẽ rất quý giá với em).
 
Upvote 0
.... Em thấy lặp đi lặp lại nên nhờ các anh chị mách nước là có nên cho nó vào 1 chỗ không ạ (Tất nhiên có thêm lời giải thích tại sao sẽ rất quý giá với em).
Bạn cho rằng mình có thể sử dụng nó thì cũng nên tự tin rằng mình có thể tự thử nghiệm. Hỏi làm gì?
Nhắc lại: nếu bạn không có khả năng nghĩ ra 10 trường hợp để thử nghiệm thì trở lại cái chỗ tôi khuyên, tạm quên...
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom