Chuyển động các ô khác nhau trong một trang tính (Microsoft Excel)
Patrick tự hỏi liệu có cách nào để di chuyển ô di chuyển sang phải trên một trang tính trong sổ làm việc và xuống trên trang tính khác trong cùng sổ làm việc không. Điều duy nhất anh ta có thể tìm thấy là cài đặt chung cho tất cả các trang tính trong sổ làm việc.
Patrick đúng; cài đặt này là một cái gì đó được xử lý toàn cầu trong Excel. Bạn có thể thay đổi cài đặt bằng cách làm theo các bước sau:
-
Hiển thị hộp thoại Tùy chọn Excel. (Trong Excel 2007, hãy nhấp vào nút Office, sau đó nhấp vào Tùy chọn Excel. Trong Excel 2010 hoặc phiên bản mới hơn, hiển thị tab Tệp của dải băng và sau đó nhấp vào Tùy chọn.)
-
Ở bên trái của hộp thoại, nhấp vào Nâng cao. (Xem Hình 1.)
-
Trong Tùy chọn Chỉnh sửa, hãy đảm bảo rằng hộp kiểm “Sau khi Nhấn Enter, Di chuyển Lựa chọn” được chọn. (Nó nên được kiểm tra, theo mặc định.)
-
Sử dụng danh sách thả xuống Hướng, thay đổi hướng theo ý muốn.
-
Bấm OK.
Điều này thay đổi hướng di chuyển cho tất cả các sổ làm việc bạn mở trong Excel. Nếu bạn muốn chuyển động thay đổi cho một trang tính, bạn có thể thực hiện điều này thông qua việc sử dụng một vài trình xử lý sự kiện. Hai trong số này được đính kèm với trang tính mà bạn muốn được xử lý khác nhau; chỉ cần nhấp chuột phải vào tab của trang tính và chọn Mã từ trình đơn Ngữ cảnh kết quả. Sau đó, bạn có thể dán phần sau vào cửa sổ Mã:
Private Sub Worksheet_Activate() Application.MoveAfterReturnDirection = xlToRight End Sub
Private Sub Worksheet_Deactivate() Application.MoveAfterReturnDirection = xlDown End Sub
Các trình xử lý sự kiện này được kích hoạt tương ứng khi trang tính được kích hoạt và khi bạn hủy kích hoạt trang tính bằng cách chọn một trang tính khác. Lưu ý rằng khi kích hoạt, hướng được đặt thành xlToRight, có nghĩa là chuyển động sẽ di chuyển sang phải. Khi trang tính bị hủy kích hoạt, hướng được đặt thành xlDown, được coi là hướng mặc định.
Bạn cũng sẽ cần một trình xử lý sự kiện thứ ba; cái này nên được thêm vào mô-đun ThisWorkbook:
Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.MoveAfterReturnDirection = xlDown End Sub
Điều này là cần thiết vì nếu bạn đóng Excel trong khi “di chuyển sang phải”
trang tính đang hoạt động, sau đó hướng di chuyển vẫn được đặt thành xlToRight. Điều này có nghĩa là lần tiếp theo bạn khởi động Excel, hướng đó sẽ trở thành hướng mặc định. Bằng cách bao gồm trình xử lý sự kiện BeforeClose, bạn đảm bảo rằng mặc định được đặt như bình thường.
Chỉ có một điểm nhỏ tiềm năng với cách tiếp cận này: Khi bạn mở sổ làm việc lần đầu tiên, sự kiện Kích hoạt không được kích hoạt cho bất kỳ trang tính nào được hiển thị đầu tiên. Điều này có nghĩa là nếu bạn “di chuyển đúng”
trang tính được hiển thị cho sổ làm việc, theo mặc định, chuyển động sẽ không được thay đổi thành xlToRight; nó sẽ vẫn được đặt thành mặc định, có lẽ là xlDown. Để buộc trình xử lý sự kiện chạy, bạn sẽ cần hiển thị một trang tính khác trong sổ làm việc và sau đó quay lại trang tính ban đầu. Nếu bạn không muốn làm điều này theo cách thủ công, bạn có thể thêm trình xử lý sự kiện thứ tư, trình xử lý sự kiện này cũng có trong mô-đun ThisWorkbook:
Private Sub Workbook_Open() Sheets("Sheet2").Select Sheets("Sheet1").Select End Sub
Macro này chọn trang tính có tên Sheet2 và sau đó chọn ngay trang có tên Sheet1. Tất nhiên, bạn nên thay đổi tên trang tính để phản ánh những tên phù hợp với sổ làm việc của bạn — chỉ cần đảm bảo rằng trang tính cuối cùng được chọn là “di chuyển đúng”
bảng tính.
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (13640) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365.