Khi tìm hiểu về Header, Footer trong Excel, chúng ta thường thấy việc đưa nội dung vào Header, Footer khá cứng nhắc. Muốn thay đổi nội dung này khá tốn thời gian. Đặc biệt nữa là chúng ta không thể sử dụng công thức tham chiếu trong Header, Footer được. Vậy làm thế nào để thay đổi nội dung header trong Excel theo ý muốn một cách nhanh chóng? Hãy tìm hiểu ngay qua bài viết này nhé:
Xem nhanh
Nhắc lại một chút về cách để có thể tạo Header, Footer trong Excel nếu bạn còn chưa biết: Có 3 cách để có thể tạo Header, Footer trong bài viết
Hướng dẫn cách chèn logo vào Header của các trang in trong Excel
Và một số đặc điểm về Header, Footer như sau:
Với những đặc điểm trên, chúng ta có thể thấy Header và Footer trong Excel có những hạn chế nhất định. Khi muốn thay đổi nội dung trong Header/ Footer thì chúng ta thường phải xóa nội dung cũ đi làm lại nội dung mới (hoặc đánh máy lại đoạn text). Như vậy có thể khiến bạn mất nhiều thời gian, đặc biệt khi phải làm việc với bảng tính yêu cầu Header/ Footer phải thay đổi liên tục.
Thật may là chúng ta hoàn toàn có thể khắc phục nhược điểm đã nêu ở trên bằng cách sử dụng VBA trong Excel. Nếu bạn chưa biết VBA trong excel là gì thì có thể tham khảo bài viết sau đây:
Khóa học về lập trình VBA trong Excel
Câu lệnh giúp điều khiển Header/ Footer trong VBA như sau:
Tên Sheet + thuộc tính PageSetup +Vị trí header =….
Khi muốn gán nội dung tại ô A1 trong Sheet1 vào phần bên trái trong Header của Sheet1 chúng ta viết lệnh sau:
Sheet1.PageSetup.LeftHeader = Sheet1.Range(“A1”)
Thứ tự thực hiện có thể mô tả như sau:
Rất đơn giản phải không nào. Trong đối tượng PageSetup có một số thuộc tính về Header/ Footer như sau:
Như vậy chúng ta có thể quản lý chi tiết cho 2 loại đối tượng là Text và Picture có trong cả 3 phần Left-Center-Right của Header hoặc Footer.
Tùy vào từng mục đích mà chúng ta có thể lựa chọn từng đối tượng phù hợp để làm việc.
Header / Footer thường được sử dụng liên quan tới in ấn trong Excel. Vì vậy khi lập trình VBA cho đối tượng này, chúng ta thường làm việc liên quan tới sự kiện BeforePrint (trước khi lệnh in được thực hiện).
Ý nghĩa của nó là khi chúng ta thực hiện lệnh in (Print) trong Excel thì trước khi máy in hoạt động, VBA sẽ can thiệp để làm một điều gì đó mà chúng ta lập trình từ trước.
Ví dụ:
Bạn muốn trước khi in tại Sheet1 thì phần bên trái của Header trong Sheet đó sẽ được lấy nội dung theo vị trí ô A1 (vẫn trong Sheet1)
Sự kiện được thiết lập như sau:
Như vậy là sự kiện đã được thiết lập. Bây giờ bạn có thể kiểm tra lại khi thay đổi nội dung ở ô A1 trong Sheet1, sau đó bấm lệnh Print để xem Header có được cập nhật không nhé.
Chúc các bạn thành công!
Tham khảo:
Tìm hiểu về ý nghĩa và cách dùng các sự kiện trong VBA Excel