Bài 5: Di chuyển dòng từ Sheet này sang Sheet khác

Đây là bài tập nâng cao của Bài 4: copy / di chuyển dải ô sang sheet khác. Mục tiêu của bài này là chúng ta sẽ biết thêm về cách di chuyển dòng từ 1 sheet sang 1 sheet khác. Điều kiện kèm theo là khi ghi dòng mới qua sheet thứ 2, ta phải ghi được vào dòng tiếp theo trong sheet, chứ không ghi đè lên dòng cũ.

Xem clip hướng dẫn

Code

Giải thích

Biến activeCell dùng để lấy vị trí của ô hiện tại chúng ta đang bấm vào.

Còn biến range để lấy dải ô bắt đầu từ ô ta đang bấm vào đến ô cuối cùng trong dòng.

Sử dụng biến dich để lấy vị trí của “dòng bên dưới dòng cuối cùng” trong bảng sheet1.

Lưu ý: khi chỉ dùng getLastRow(), ta chỉ lấy được dòng cuối cùng có dữ liệu. Để lấy dòng tiếp theo nó, ta phải cộng 1 vào: getLastRow()+1

Tiếp theo dùng moveTo (hoặc copyTo) để di chuyển dải ô từ sheet0 sang sheet1. Sau đó, xóa dải ô bên sheet0 đi. Vì nếu không dùng deleteRow() thì sau khi di chuyển dải ô, dải ô cũ trong sheet0 sẽ trở thành dải ô trống không có dữ liệu.

Leave a Reply