Hide và Unhide Cột có điều kiện

  • Thread starter Thread starter vba_gpe
  • Ngày gửi Ngày gửi
Liên hệ QC

vba_gpe

Thành viên thường trực
Tham gia
15/12/10
Bài viết
296
Được thích
44
Nghề nghiệp
Thất nghiệp
Thân gửi Giaiphapexcel
Mình có vấn đề này nhờ các mọi người chỉ giáo.
Mình tạo ra một vùng từ Cell "D33:I40" - ứng với cự ly đường. Có các cột từ J đến U (tương ứng với loại đường).
Ý mình là khi ra tất cả các giá trị trong vùng màu vàng, nếu cự ly đường của loại đường nào không có thì 2 cột tương ứng của loại đường đó cũng bị ẩn (ngược lại thì show ra).
Mình thử dùng vòng for nhưng không được (Thứ nhất là dài, thứ hai là không đúng ý). Biết chắc sẽ sai nhưng do VB kém quá nên up lên nhờ mọi người.
PHP:
Private Sub Worksheet_Activate()
    Dim cll As Range, V1, v2, v3, v4, v5, v6 As Range
    Set V1 = Range("D33:D40")
    Set v2 = Range("E33:E40")
    Set v3 = Range("F33:F40")
    Set v4 = Range("g33:g40")
    Set v5 = Range("H33:H40")
    Set v6 = Range("I33:I40")
    For Each cll In V1
        If cll = "" Then
            Columns("J:K").EntireColumn.Hidden = True
        Else
            Columns("J:K").EntireColumn.Hidden = False
        End If
    Next
    For Each cll In v2
        If cll = "" Then
            Columns("L:M").EntireColumn.Hidden = True
        Else
            Columns("L:M").EntireColumn.Hidden = False
        End If
    Next 
... ' Mấy cái kia cũng vậy
End Sub
Mình có đính kèm file.
Nếu ai có cách giải quyết dùng for hoặc dùng [Do...(Loop While hoặc Loop Until)] thì cho mình xin góp ý nhé.
Thân.
Mong nhận được hồi đáp của mọi người.
 

File đính kèm

Chưa thể hiểu ngay ý bạn ra răng

Mình có một vùng từ Cell "D33:I40" (Vùng G ứng với cự ly đường).
Có các cột từ J đến U (tương ứng với loại đường).

Ý mình là khi ra tất cả các giá trị trong vùng màu vàng, nếu cự ly đường của loại đường nào không có thì 2 cột tương ứng của loại đường đó cũng bị ẩn (ngược lại thì show ra).

Hiện tại trong file, cả 6 loại đường đều có dữ liệu (?). Như vậy nó sẽ fải hiện hết 12 cột.

Ngoài ra việc ẩn hiện này không liên quan gì đến các tỉnh A, B, C & D chứ? Vì mình thấy trong bảng A chỉ có 2 tỉnh A & B có số liệu mà thôi.

Chờ giải thích thêm từ bạn, chứ macro thì không khó lắm ru, chắc vậy!
 
Upvote 0
Cảm ơn bạn HYen17. Mình xin bổ sung thêm thông tin như sau:
Hiện tại trong file, cả 6 loại đường đều có dữ liệu (?). Như vậy nó sẽ fải hiện hết 12 cột.
Đó cũng chính là thắc mắc của mình, mong nhờ giúp đỡ. Hiện tại cả 6 loại đường đều hiển thị dữ liệu, tuy nhiên 12 cột đều bị ẩn bởi vì: Vùng lặp là vùng màu vàng (tương ứng range D33:I40). Vòng for nó lặp 2 hàng đầu thì nó hiển thị (33 và 34); đến các vòng tiếp theo là nó bị ẩn do dữ liệu cell tương ứng khác 0.

Ngoài ra việc ẩn hiện này không liên quan gì đến các tỉnh A, B, C & D chứ? Vì mình thấy trong bảng A chỉ có 2 tỉnh A & B có số liệu mà thôi.
.
Đúng là như vây: Việc ẩn này không liên quan gì đến các tỉnh A,B,C....: Chỉ liên quan đến số km trong từng loại đường. Nghĩa là không biết bao nhiêu tỉnh A,B,C...; chỉ cần đường loại 1 có thì 2 cột (số km, đơn giá) tương ứng với đường loại 1 sẽ hiện, 2 cột này chỉ ẩn khi không có có tỉnh nào có đường loại 1.

Chờ giải thích thêm từ bạn, chứ macro thì không khó lắm ru, chắc vậy!
Câu này giúp mình có thêm hi vọng đấy. Hhihi.
Mình có gửi lại file. Có phần giải thích trong file. Bạn test nhé.
Mong nhận hồi âm từ bạn.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom