Chia màn hình không đều giữa hai sổ làm việc (Microsoft Excel)
Thường khi Dave mở hai sổ làm việc, anh ta sử dụng Sắp xếp | Ngang để xem chúng đồng thời. Điều này chia đều không gian giữa hai sổ làm việc. Tuy nhiên, điều thường xảy ra là Dave chỉ muốn xem một vài hàng dữ liệu trong một sổ làm việc và nhiều hàng trong sổ kia. Anh ấy tự hỏi liệu có cách nào thuận tiện để kích thước sổ làm việc nhỏ hơn theo cách thủ công và để Excel lấp đầy khoảng trống còn lại trên màn hình bằng sổ làm việc thứ hai hay không.
Cách làm thủ công là cách mà Dave (và hầu hết những người dùng Excel khác) đã quen thuộc: Bạn sắp xếp các cửa sổ theo chiều ngang, thay đổi kích thước cửa sổ trên cùng, sau đó thay đổi kích thước cửa sổ dưới cùng. Bằng cách này, bạn sẽ có được các cửa sổ theo cách bạn muốn để thực hiện công việc của mình.
Nếu bạn muốn một cách tự động hơn để thay đổi kích thước cửa sổ, bạn có thể sử dụng macro để hoàn thành tác vụ. Macro sau dựa vào việc bạn định kích thước cửa sổ đầu tiên theo cách bạn muốn và sau đó nó tự động thay đổi kích thước cửa sổ thứ hai để chiếm không gian còn lại bên dưới cửa sổ trên cùng.
Sub UnevenSplit1() Dim Ht0 As Single Dim Ht1 As Single Dim Ht2 As Single Dim Top2 As Single If Windows.Count = 2 Then With Windows(1) Ht1 = .Height .WindowState = xlMaximized Ht0 = .Height End With Top2 = Ht1 + 3 Windows.Arrange ArrangeStyle:=xlHorizontal With Windows(1) .Top = 1 .Height = Ht1 End With With Windows(2) .Top = Top2 .Height = Ht0 - Ht1 - 22 End With Windows(1).Activate End If End Sub
Macro sẽ chỉ thay đổi kích thước cửa sổ sổ làm việc của bạn nếu bạn chỉ mở hai sổ làm việc. Nếu bạn có nhiều hơn hoặc ít hơn mức này, nó sẽ xuất hiện như thể không có gì xảy ra.
Bạn cũng có thể thực hiện tự động hóa một bước khác bằng cách đặt macro thay đổi kích thước cửa sổ trên cùng. Ví dụ sau kết thúc với cửa sổ trên cùng của bạn chiếm 25% màn hình và cửa sổ dưới cùng chiếm 75%.
Sub UnevenSplit() Dim Ht1 As Single Dim Ht2 As Single Dim Ht1a As Single Dim Ht2a As Single Dim Top2 As Single If Windows.Count = 2 Then Windows.Arrange ArrangeStyle:=xlHorizontal Ht1 = Windows(1).Height Ht2 = Windows(2).Height Ht1a = Ht1 / 2 Top2 = Ht1a + 3 Ht2a = Ht2 + Ht1a With Windows(1) .Top = 1 .Height = Ht1a End With With Windows(2) .Top = Top2 .Height = Ht2a End With Windows(1).Activate End If End Sub
Bạn cũng nên biết rằng giá trị của macro này phụ thuộc phần lớn vào những gì bạn có thể nhìn thấy trong cửa sổ của mình. Nếu bạn có các dải ruy băng ở độ sâu theo chiều dọc đầy đủ của chúng, điều đó sẽ chiếm rất nhiều không gian màn hình. Trên thực tế, có thể mất nhiều thời gian đến nỗi mặc dù cửa sổ trên cùng chiếm 25% chiều cao màn hình, nó có thể không hiển thị bất kỳ hàng nào trong trang tính của bạn vì không gian bị dải băng và các phần tử giao diện khác chiếm dụng.
Đây là hai phương pháp khả thi. Đầu tiên là giảm thiểu các phần tử màn hình, chẳng hạn như dải băng. (Bấm đúp vào bất kỳ tab ruy-băng nào để thu nhỏ ruy-băng.) Giải pháp khác, tất nhiên, là để macro sử dụng các phép tính khác nhau để xác định kích thước cuối cùng của cửa sổ. (Chiều cao cửa sổ cuối cùng nằm trong các biến Ht1a và Ht2a.)
_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 (13380) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365.