Điều quan trọng nhất khi học cách viết VBA là có thể tạo mã động (dynamic code). Điều này cho phép bạn không phải truy cập vào macro của mình và thay đổi địa chỉ phạm vi trong mã mỗi khi kích thước dữ liệu thay đổi.

Dưới đây, UniTrain đưa ra danh sách 5 phương pháp khác nhau mà bạn có thể sử dụng để biến các tham chiếu phạm vi tĩnh của mình thành những cỗ máy tự động điều chỉnh mạnh mẽ.  Tất cả các đoạn code này đều có ưu điểm và nhược điểm, vì vậy hãy đảm bảo bạn chọn đoạn code phù hợp với tình huống cụ thể của mình.

Phương pháp 1: usedRange

Phương thức usedRange tạo một phạm vi bao gồm mọi ô chứa dữ liệu trong đó trên bảng tính. Điều quan trọng là bạn phải làm mới (tính toán lại) usedRange trước khi sử dụng nó. Vì phương pháp này sẽ chọn các ô có giá trị và bạn đã sử dụng phím Delete để xóa. Bạn có thể thực hiện việc này theo cách thủ công bằng cách lưu bảng tính của mình hoặc sử dụng lệnh hiển thị trong mã bên dưới để làm mới bằng VBA.

5 CÁCH ĐỂ TẠO PHẠM VI VBA TỰ ĐỘNG ĐIỀU CHỈNH

Phương pháp 2: Ctrl + Shift + Mũi tên Phải / Mũi tên Xuống

Mã này mô phỏng phạm vi sẽ hiển thị nếu bạn sử dụng phím tắt Ctrl + Shift + Mũi tên Phải và sau đó Ctrl + Shift + Mũi tên Xuống . Nếu ô cuối cùng trong hàng đầu tiên hoặc ô cuối cùng trong cột đầu tiên trống, mã này sẽ không tính toán chính xác.

5 CÁCH ĐỂ TẠO PHẠM VI VBA TỰ ĐỘNG ĐIỀU CHỈNH

Phương pháp 3: SpecialCells – LastCell

Đoạn code này sử dụng phương thức SpecialCells (thuật ngữ không phải VBA được gọi là  Go To Cells ) để tìm kiếm ô cuối cùng chứa dữ liệu trên bảng tính. Khi ô này được tìm thấy, mã có thể sử dụng tham chiếu ô của “ô cuối cùng” để xác định hàng và cột cuối cùng.

5 CÁCH ĐỂ TẠO PHẠM VI VBA TỰ ĐỘNG ĐIỀU CHỈNH

Phương pháp 4: CurrentRegion

Ví dụ này sử dụng phương thức CurrentRegion. CurrentRegion sẽ tính toán phạm vi được liên kết với tham chiếu ô bằng cách phân tích các ô xung quanh. Nếu có một hàng hoàn toàn trống hoặc cột trống, CurrentRegion ngừng tìm kiếm và giả định rằng bạn chỉ muốn dữ liệu được kết nối với điểm xuất phát. Đảm bảo rằng dữ liệu không có hàng hoặc cột trống trước khi sử dụng phương pháp này.

5 CÁCH ĐỂ TẠO PHẠM VI VBA TỰ ĐỘNG ĐIỀU CHỈNH

Phương pháp 5: Static Columns

Rất nhiều tình huống trong đó độ dài cột không bao giờ thay đổi và mã VBA chỉ cần để điều chỉnh động cho độ dài hàng. Trong những trường hợp như thế này, bạn không muốn viết dòng để tìm cột cuối cùng. Đoạn code dưới đây cho bạn biết cách điều chỉnh động độ dài hàng trong phạm vi.

Lưu ý: Bạn cũng có thể sử dụng phép tính LastRow được sử dụng trong Phương pháp 2 thay vì phép tính Find được hiển thị bên dưới.