Bài viết: 3 gợi ý nhỏ mang lại thành công trong khai báo biến trong VBA

Liên hệ QC

kyo

Nguyễn Khắc Duy
Thành viên danh dự
Tham gia
4/6/06
Bài viết
901
Được thích
2,714
3 gợi ý nhỏ mang lại thành công trong khai báo biến trong VBA

Có rất nhiều cách khai báo biến bao gồm nhiều cách đặt tên khác nhau cũng như nhiều kiểu dữ liệu được sử dụng khác nhau. Tuy nhiên, nhìn chung, tất cả đều có một vài quy luật chung tuy rất nhỏ nhưng sẽ giúp cho bạn rất nhiều trong lập trình VBA sau này mà GPE sẽ giới thiệu tới bạn dưới đây.

Sử dụng Option Explicit

Mặc định, Excel không ép buộc bạn sử dụng lựa chọn này. Tuy nhiên, trước hết bạn cần hiểu rõ chức năng của Option Explicit. Đây là một lệnh của VBA giúp bạn kiểm soát tất cả các biến bạn có bằng cách buộc bạn phải khao báo toàn bộ. Điều này sẽ giúp bạn tránh được lỗi gõ nhầm tên biến, hoặc phát sinh những biến ngẫu nhiên một cách mất kiểm soát.

Bạn có thể tưởng tượng, giả sử như bạn đang vận hành một Sub rất dài và nhiều biến. Và trong khi lập trình, chẳng may bạn gõ nhầm biến Goc thành Gocc, ngay lập tức, VBA nếu không có Option Explicit sẽ tự hiểu biến Gocc là một biến mới, và chắc chắn là Sub của bạn sẽ chạy sai. Tệ hơn nữa, nếu Sub của bạn quá dài, quá trình debug sẽ thật sự rất khó khăn.

Do đó, một lần nữa, bạn nên sử dụng Option Explicit chỉ bằng cách khai báo nó vào ngay dòng đầu tiên trong Module của bạn. Trong trường hợp bạn muốn kích hoạt để Excel luôn hiện giúp bạn, bạn có thể vào VBA, chọn Tools -> Option -> thẻ Editor -> nhấp chọn Require Variable Declaration.

sHXoH1MCqN81R75z-i-_HHuJblvl-9SKPcK-dz0szhOMAqTo_ucvWzTsgkSOg40d37Q4dsK_xeNAVJuAN0SSlxhVYzDJDw85rRiavzgttNxRnjQci3f6ZgaNrVFQP-9B90TDTssyvxWsZaTmTRwtIWhMmm-huHjHOV4dl4V95N-92ezew8Z4DX2fl1xef-PvvP06Ix3sVVbMi1Nh3jvMbXkvDvA3hmEkEFkyjlzXpBo0BMeKE01-cdPjSwqcJuv80NaKoBsOB9vzQ2jHv8xOIPBzbl2KnRcCUf1aDpXi52JlfGud1eeyZD0OI7GeKIu-BsgaQ1-zHcn-cMzsJu6Rk-mwQ4-l7KZ1Q2Goi1PYoiWJYpbAolhvnSfsV6f_pNOLWqIlaeX5cYEyOrUaSyVWvahrAxaalgmSY7O-tAq5dMQLBOLvl772gL_W3b1uGySoxQePUlZpuACZUo_uw98tsB63aOs-XMO2JufKbDx7V6XWCFxUu1cHYi5lrLb_3XQuvi3NL4e7qPGy-Yw03IfUs078XZmsrDhwFej549KZbQz4jvUwCJjxQX8MRIwuvbAc6DvqNSkwq-BxLFdBp8E72NV4Nt7Wort9c9uKbptnOmZY-Xo2PrQT=w431-h370-no


Khai báo cụ thể loại biến

Một trường hợp khác, khi bạn khai báo biến, hoàn toàn dễ dàng khi khai báo:

Mã:
Dim a
Dim b
Dim c

Tuy nhiên, nếu bạn không khai báo cụ thể, VBA sẽ tự mặc định rằng các biến của bạn sẽ ở dạng Variant, là một loại chấp nhận hầu hết tất cả loại biến khác nhau.

Có một sự thật rằng hầu hết 90% trường hợp bạn không cần đến biến Variant và như vậy, việc sử dụng biến này sẽ gây nên lãng phí và làm chậm chương trình của bạn. Nhưng điều quan trọng hơn, đây cũng là một dạng khiến bạn khó kiểm soát biến của mình, đặc biệt là sự nhầm lẫn giữa biến số và biến chữ, giữa 1 và "1". Bạn biết đấy, Variant chấp nhận cả hai, trong khi, nếu bạn khai báo rõ ràng loại Long hay String, bạn có thể tránh đi trường hợp này.

Hơn nữa, việc khai báo cụ thể loại biến sẽ giúp bạn sau này khi nhìn lại code của mình, bạn sẽ tránh được sự bỡ ngỡ cũng như tốn thời gian tìm hiểu lại từ đầu biến này được khai báo để làm gì.

Sử dụng ký hiệu Hungarian khi đặt tên biến

Charles Simonyi, một lập trình viên người Hungary đã tạo nên phương pháp đặt tên này bằng việc sử dụng tiền tố của tên để gợi nhớ về loại biến được sử dụng. Ví dụ như chúng ta có:

Mã:
Dim nCount As Integer
Dim rngList As Range
Dim sAddress As String

Đây chỉ là một đề nghị về việc sử dụng một quy luật để đặt tên biến. Thực chất bạn có thể sử dụng những quy luật khác nếu bạn cảm thấy hữu ích và dễ dùng hơn. Mục đích của gợi ý thứ ba này muốn nhấn mạnh về một quy luật chung trong cách đặt tên nhằm giúp bạn dễ nhận biết biến mà bạn đang sử dụng mà không cần phải truy ngược lại câu lệnh khai báo ở phía đầu Sub.

Hy vọng những gợi ý trên sẽ giúp bạn thao tác tốt hơn và dễ dàng hơn với biến của mình. Bạn có thể xem thêm bài viết về khai báo biến và đặt tên biến trong thư viện của GPE tại đây.

Những bài viết có liên quan:
1/ Cách viết hàm hiệu quả
2/ Khai báo biến và đặt tên biến trong VBA
3/ Kiến thức cơ bản về Visual Basic for Applications (VBA) (P4)
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom