Tự động ẩn hàng trong Excel

Tự động ẩn hàng trong Excel

CHÀO,

Tôi phải tạo một bảng tính excel trong đó 2 hàng tiếp theo sẽ xuất hiện nếu câu trả lời là Có và sẽ bị ẩn nếu câu trả lời là Không hoặc Không áp dụng hoặc để trống.

Trong mẫu dưới đây:

* Cột A có số mục (1,2,3....) có đáp án Yes hoặc No hoặc N/A ở Cột D.

* Nếu Cột D trả lời Có thì 2 hàng tiếp theo (hàng 10 & 11) sẽ hiện ra, nếu không sẽ ẩn đi. Hàng 1-6 nên được loại trừ khỏi điều này.

* Nội dung trên các cột B & C đã hợp nhất sẽ tự động khớp.

Tuy nhiên, mã bên dưới đã hoạt động, nó không tự động điều chỉnh nội dung trong ô B10 và nó cũng tự động ẩn các hàng 4-5 nếu ngày được nhập.

Tôi sẽ đánh giá cao một phản ứng về điều này.

----------------------------------------

Bảng tính phụ riêng tư_Change (Mục tiêu ByVal dưới dạng phạm vi)

Dim rng As Range

Nếu không giao nhau(Range("D:D"), Target) thì không có gì

Application.ScreenUpdating = Sai

Application.EnableEvents = Sai

Mật khẩu Me.Unprotect:="bí mật"

Đối với mỗi rng trong Intersect(Range("D:D"), Target)

Nếu rng.Value = "Có" thì

rng.Offset(1).Resize(2).EntireRow.Hidden = Sai

rng.Offset(1).Resize(2).EntireRow.AutoFit

Khác

rng.Offset(1).Resize(2).EntireRow.Hidden = True

Kết thúc nếu

Chuông tiếp theo

Mật khẩu Me.Protect:="bí mật"

Application.EnableEvents = Đúng

Application.ScreenUpdating = Đúng

Kết thúc nếu

Kết thúc phụ


------------------------------------------

Cảm ơn,

Shaynne




Trả lời:

Tôi có thể hỏi liệu chúng tôi có thể chọn "Có" hoặc "Y" làm câu trả lời hiển thị 2 hàng tiếp theo không? Bởi vì một số người có xu hướng trả lời Y thay vì Có.

Chắc chắn. Chúng ta có thể kiểm tra xem ký tự ngoài cùng bên trái có phải là "Y" hay không và nếu chúng ta thêm Văn bản so sánh tùy chọn vào mô-đun mã thì mã cũng chấp nhận các câu trả lời viết thường: "có", "y", "Có", "Yaa", ...

Andreas.

Tùy chọn So sánh văn bản

Bảng tính phụ riêng tư_Change (Mục tiêu ByVal dưới dạng phạm vi)
Đặt mục tiêu = Giao nhau(Mục tiêu, _
Range("A9", Range("A" & Rows.Count).End(xlUp)).EntireRow, Columns("D"))
Nếu mục tiêu không có gì thì thoát Sub
Mật khẩu Me.Unprotect:="bí mật"
Target.Offset(1).Resize(2).EntireRow.Hidden = Left(Target, 1) <> "Y"
Mật khẩu Me.Protect:="bí mật"
Kết thúc phụ

Comments

Popular posts from this blog

Excel 2016 - mở tất cả các tệp trong MỘT phiên bản

Điều tôi muốn làm trong Excel 2010 là tạo một nút tùy chỉnh và gắn nó vào thanh công cụ Truy nhập nhanh và chạy một macro cụ thể.

Khẩn cấp - File Excel chứa các ký tự đặc biệt ở họ và tên liên hệ