Cách ngắt dòng khi code dài

Liên hệ QC

PhanTuHuong

VBA & VB.NET for Excel & AutoCad
Thành viên danh dự
Tham gia
13/6/06
Bài viết
7,120
Được thích
24,279
Một dòng lệnh trong VBA có thể chứa tới 1024 ký tự. Như vậy, với đoạn code dài trên một dòng thì bạn phải cuộn màn hình mới xem được hết, như thế thì rất bất tiện và khó kiểm tra. Khi đó bạn có thể ngắt đoạn code dài đó thành 2 hoặc nhiều dòng để chúng thể hiện đầy đủ trên màn hình, nhưng vẫn hiểu là dòng lệnh liên tục. Visual Basic có sử dụng ký tự đặc biệt ở cuối dòng để cho biết dòng tiếp theo vẫn là nối tiếp của dòng trước. Ví dụ như sau:

Mã:
Selection.PasteSpecial _
   Paste:=xlValues, _
   Operation:=xlMultiply, _
   SkipBlanks: =False, _
   Transpose:=False

Thực tế, đoạn code trên như sau:

Mã:
Selection.PasteSpecial Paste:=xlValues, Operation:=xlMultiply, SkipBlanks: =False, Transpose:=False

Ký tự đặc biệt để nối liền trên là ký tự gạch dưới (_). Trước ký tự gạch dưới phải có khoảng trống (bằng cách gõ thanh space bar). Việc ngắt các dòng code không phải là tuỳ tiện mà có quy định cụ thể. Bạn có thể sử dụng ký tự gạch dưới trong các trường hợp sau:
- Trước hoặc sau các toán tử, ví dụ như &, +, Like, NOT, AND
- Trước hoặc sau dấu phẩy (,)
- Trước hoặc sau dấu hai chấm :)) và ký hiệu bằng :)=)

Bạn không thể sử dụng ký tự gạch dưới ở giữa dấu hai chấm và ký hiệu bằng. Ví dụ trường hợp ngắt dòng dưới đây sẽ không được chấp nhận (đoạn code sẽ có màu đỏ và hiện thông báo lỗi):

Mã:
Selection.PasteSpecial Paste: _
   =xlValues, Operation: _
   =xlMultiply, SkipBlanks: _
   =False, Transpose: _
   =False

Ngoài ra, bạn không dùng được ngắt dòng trong chuỗi đã được khép kín (bằng ngoặc kép). Trường hợp như sau là không được (đoạn code sẽ có màu đỏ):

Mã:
Msgbox “Trong trường hợp lệnh quá dài, bạn có  _
      thể dùng ký tự gạch dưới để ngắt dòng.”

Và bạn phải sửa lại như sau:

Mã:
Msgbox “Trong trường hợp lệnh quá dài, bạn có ” & _
      “thể dùng ký tự gạch dưới để ngắt dòng.”
 
Web KT
Back
Top Bottom