Thay đổi vùng in tự động trong Excel bằng VBA

Thông thường trong Excel nếu như chúng ta không thiết lập vùng in thì sẽ tự động in toàn bộ những trang in có chứa dữ liệu. Nhưng không phải lúc nào chúng ta cũng cần in toàn bộ sheet, mà chỉ cần in một vùng nhất định trong sheet đó. Điều này được thực hiện thông qua việc thiết lập Print Area trong mục Page Setup.

Hôm nay chúng ta sẽ cùng nhau tìm hiểu về việc làm thế nào để tự động thiết lập cho Print Area? Bởi thông thường muốn thiết lập Print Are chúng ta đều phải thực hiện một cách thủ công.

Câu trả lời là chúng ta có thể dùng VBA để làm việc đó. Hãy cùng tìm hiểu nào:

1. Đối tượng làm việc trong VBA

a. Đối tượng vùng in của Sheet

Trong các đối tượng của WorkSheet tại VBA chúng ta có đối tượng liên quan tới thiết lập vùng in là PageSetup.PrintArea

Muốn thiết lập vùng in tại Sheet nào chúng ta đặt tên Sheet đó và gọi đối tượng này ra:

Tên-Sheet.PageSetup.PrintArea = …………

b. Đối tượng địa chỉ của vùng in

Để gán 1 vùng (range) vào đối tượng PageSetup.PrintArea thì chúng ta phải gọi ra vùng đó kèm theo thuộc tính Address (địa chỉ)

Thủ tục như sau:

Tên-Sheet-chứa-vùng-cần-in.Range(“vùng-cần-in”).Address

Ví dụ:

Vùng cần in của chúng ta là B2:G100, tại Sheet1

2. Cách tạo vùng in tự động thay đổi

Thay vì in từ B2 tới G100, chúng ta muốn vùng in tự động thay đổi từ cột B tới cột G, từ dòng 2 tới dòng cuối cùng có chứa dữ liệu ở cột G:

Như vậy không giới hạn vùng in tới dòng thứ 100, mà tùy theo dòng cuối có dữ liệu ở cột G là dòng bao nhiêu thì vùng in sẽ tự động thay đổi từ B2 tới cột G, dòng cuối.

Tương tự như câu lệnh trên, chúng ta có thể sử dụng 1 cách khác để tìm dòng cuối:

Với 2 cách viết này, chúng ta có thể áp dụng tương tự sang các trường hợp khác, chỉ cần thay đổi vùng tọa độ:

  • Điểm bắt đầu: thay đổi B2
  • Điểm kết thúc: thay đổi cột G

* Thiết lập vùng in theo vùng được chọn:

Đôi khi chúng ta muốn tự tay chọn vùng muốn in thì có thể làm như sau:

Thật đơn giản phải không? Chúc các bạn học tốt cùng Học Excel Online!

Tải về file mẫu: http://bit.ly/2EfLaha

Nếu bạn chưa biết và chưa bao giờ sử dụng VBA, đừng lo, hãy để Học Excel Online đồng hành cùng bạn trong quá trình chinh phục VBA. Bạn tham khảo khóa học  VBA101 – VBA cơ bản dành cho người mới bắt đầu của hệ thống Học Excel Online để bắt đầu hành trình khám phá VBA nhé. Chi tiết xem tại:


Tác giả: duongquan211287

· · ·

Khóa học mới xuất bản