Ẩn / hiển thị các hàng và cột không cần thiết

Công thức của vấn đề

Giả sử chúng ta có một chiếc bàn như vậy mà chúng ta phải "nhảy" với mỗi ngày:

 

To whom the table seems small – mentally multiply it twenty times by area, adding a couple more blocks and two dozen large cities. 

Nhiệm vụ là tạm thời xóa khỏi màn hình các hàng và cột hiện không cần thiết cho công việc, tức là 

  • ẩn chi tiết theo tháng, chỉ để lại các quý
  • ẩn tổng số theo tháng và quý, chỉ để lại tổng số trong nửa năm
  • ẩn những thành phố không cần thiết vào lúc này (tôi làm việc ở Moscow - tại sao tôi nên xem St. Petersburg?), v.v.

Trong cuộc sống thực, có một biển các ví dụ về các bảng như vậy.

Phương pháp 1: Ẩn hàng và cột

Nói thẳng ra, phương pháp này còn thô sơ và không tiện lợi lắm, nhưng có thể nói hai từ về nó. Bất kỳ hàng hoặc cột nào đã chọn trước đó trên trang tính đều có thể bị ẩn bằng cách nhấp chuột phải vào cột hoặc tiêu đề hàng và chọn lệnh từ menu ngữ cảnh Ẩn giấu (Ẩn giấu):

 

Để hiển thị ngược, hãy chọn các hàng / cột liền kề và bằng cách nhấp chuột phải, chọn từ menu, trưng bày (Bỏ ẩn).

Vấn đề là bạn phải xử lý từng cột và từng hàng riêng lẻ, điều này thật bất tiện.

Phương pháp 2. Phân nhóm

Nếu bạn chọn nhiều hàng hoặc cột rồi chọn từ menu Dữ liệu - Nhóm và Cấu trúc - Nhóm (Dữ liệu - Nhóm và Dàn ý - Nhóm), sau đó chúng sẽ được đặt trong một dấu ngoặc vuông (được nhóm lại). Hơn nữa, các nhóm có thể được lồng vào nhau (cho phép tối đa 8 cấp độ lồng nhau):

Một cách thuận tiện hơn và nhanh hơn là sử dụng phím tắt để nhóm các hàng hoặc cột đã chọn trước. Alt + Shift + Mũi tên Phảivà để hủy nhóm Alt + Shift + Mũi tên Trái, Tương ứng.

Phương pháp ẩn dữ liệu không cần thiết này thuận tiện hơn nhiều - bạn có thể nhấp vào nút có biểu tượng “+" hoặc "-“, Hoặc trên các nút có cấp độ nhóm bằng số ở góc trên bên trái của trang tính - khi đó tất cả các nhóm cấp độ mong muốn sẽ được thu gọn hoặc mở rộng cùng một lúc.

Cũng thế, nếu bảng của bạn chứa các hàng hoặc cột tóm tắt có chức năng tổng hợp các ô lân cận, nghĩa là, một cơ hội (không đúng 100%) mà Excel anh ấy sẽ tạo tất cả các nhóm cần thiết trong bảng với một chuyển động - thông qua menu Dữ liệu - Nhóm và Cấu trúc - Tạo cấu trúc (Dữ liệu - Nhóm và Dàn ý - Tạo Dàn ý). Thật không may, một hàm như vậy hoạt động rất khó đoán và đôi khi hoàn toàn vô nghĩa trên các bảng phức tạp. Nhưng bạn có thể thử.

Trong Excel 2007 và mới hơn, tất cả những niềm vui này đều có trên tab Ngày (Ngày) trong nhóm   Structure (Đề cương):

Phương pháp 3. Ẩn các hàng / cột được đánh dấu bằng macro

Phương pháp này có lẽ là linh hoạt nhất. Hãy thêm một hàng trống và một cột trống vào đầu trang tính của chúng ta và đánh dấu bằng bất kỳ biểu tượng nào những hàng và cột mà chúng ta muốn ẩn:

Bây giờ, hãy mở Visual Basic Editor (ALT + F11), chèn một mô-đun trống mới vào sách của chúng tôi (menu Chèn - Mô-đun) và sao chép văn bản của hai macro đơn giản ở đó:

Sub Hide () Dim cell As Range Application.ScreenUpdating = False 'Tắt cập nhật màn hình để tăng tốc cho mỗi ô Trong ActiveSheet.UsedRange.Rows (1) .Cells' Lặp lại trên tất cả các ô trong hàng đầu tiên Nếu ô.Value = "x "Sau đó, ô .EntireColumn.Hidden = True 'nếu trong ô x - ẩn cột Tiếp theo Đối với Mỗi ô Trong ActiveSheet.UsedRange.Columns (1) .Cells' đi qua tất cả các ô của cột đầu tiên Nếu ô.Value =" x "Sau đó cell.EntireRow.Hidden = True 'nếu trong ô x - ẩn hàng Next Application.ScreenUpdating = True End Sub Sub Show () Columns.Hidden = False' hủy bỏ tất cả các hàng và cột ẩn Rows.Hidden = False End Sub  

Như bạn có thể đoán, macro Ẩn giấu ẩn và macro Chỉ - Hiển thị lại các hàng và cột có nhãn. Nếu muốn, macro có thể được gán phím nóng (Alt + F8 và nút Thông số) hoặc tạo các nút trực tiếp trên trang tính để khởi chạy chúng từ tab Nhà phát triển - Chèn - Nút (Nhà phát triển - Chèn - Nút).

Phương pháp 4. Ẩn các hàng / cột với một màu nhất định

Giả sử trong ví dụ trên, ngược lại, chúng ta muốn ẩn các tổng, tức là các hàng màu tím và đen và các cột màu vàng và xanh lá cây. Sau đó, macro trước đó của chúng tôi sẽ phải được sửa đổi một chút bằng cách thêm, thay vì kiểm tra sự hiện diện của “x”, hãy kiểm tra để khớp màu tô với các ô mẫu được chọn ngẫu nhiên:

Sub HideByColor () Dim cell As Range Application.ScreenUpdating = False For Each cell In ActiveSheet.UsedRange.Rows (2) .Cells If cell.Interior.Color = Range ("F2"). Interior.Color Then cell.EntireColumn.Hidden = True If cell.Interior.Color = Range ("K2"). Interior.Color Then cell.EntireColumn.Hidden = True Next Cho Mỗi ô Trong ActiveSheet.UsedRange.Columns (2) .Cells If cell.Interior.Color = Range ("D6"). Interior.Color Then cell.EntireRow.Hidden = True If cell.Interior.Color = Range ("B11"). Interior.Color Then cell.EntireRow.Hidden = True Next Application.ScreenUpdating = True End Sub  

Tuy nhiên, chúng ta không được quên một lưu ý: macro này chỉ hoạt động nếu các ô của bảng nguồn được tô màu theo cách thủ công và không sử dụng định dạng có điều kiện (đây là một hạn chế của thuộc tính Interior.Color). Vì vậy, ví dụ: nếu bạn tự động đánh dấu tất cả các giao dịch trong bảng của mình khi số lượng nhỏ hơn 10 bằng cách sử dụng định dạng có điều kiện:

Ẩn / hiển thị các hàng và cột không cần thiết

… Và bạn muốn ẩn chúng trong một chuyển động, thì macro trước đó sẽ phải được “hoàn thành”. Nếu bạn có Excel 2010-2013, thì bạn có thể thoát ra bằng cách sử dụng thay vì thuộc tính Cảnh Nội Thất tài sản DisplayFormat.Interior, xuất ra màu của ô, bất kể nó được đặt như thế nào. Khi đó macro để ẩn các đường màu xanh lam có thể trông như thế này:

Sub HideByConditionalFormattingColor () Dim cell As Range Application.ScreenUpdating = False For Each cell In ActiveSheet.UsedRange.Columns (1) .Cells If cell.DisplayFormat.Interior.Color = Range ("G2"). DisplayFormat.Interior.Color Then ô .EntireRow.Hidden = True Next Application.ScreenUpdating = True End Sub  

Tế bào G2 được lấy làm mẫu để so màu. Thật không may là tài sản định dạng hiển thị chỉ xuất hiện trong Excel bắt đầu từ phiên bản 2010, vì vậy nếu bạn có Excel 2007 trở lên, bạn sẽ phải nghĩ ra những cách khác.

  • Macro là gì, chèn mã macro ở đâu, cách sử dụng chúng
  • Tự động nhóm trong danh sách đa cấp

 

Bình luận