Ẩn cột bằng VBA

Liên hệ QC

satthuvae

Thành viên thường trực
Tham gia
12/3/09
Bài viết
381
Được thích
52
Em chào Anh Chị

Em có báo cáo muốn ẩn cột theo điều kiện cho sẵn.

Từ cột F30 đến cột V30 nếu mà trả giá trị "in" thì hiện cột đó, nếu trả về giá trị "khong" thì ẩn cột đó.

Nút VBA e nhờ Thầy BaTe thiết kế là ẩn dòng ở sheet "TB" ở ô AR 1, Trình độ không hiểu biết VBA chỉ ngồi mò không hiểu em viết sai ở điểm nào báo lỗi, nhờ Anh- Chị xem giúp em.

Em xin cám ơn Anh/Chị.
 

File đính kèm

  • Ẩn cột VBA.xlsb
    112.5 KB · Đọc: 18
Em chào Anh Chị

Em có báo cáo muốn ẩn cột theo điều kiện cho sẵn.

Từ cột F30 đến cột V30 nếu mà trả giá trị "in" thì hiện cột đó, nếu trả về giá trị "khong" thì ẩn cột đó.

Nút VBA e nhờ Thầy BaTe thiết kế là ẩn dòng ở sheet "TB" ở ô AR 1, Trình độ không hiểu biết VBA chỉ ngồi mò không hiểu em viết sai ở điểm nào báo lỗi, nhờ Anh- Chị xem giúp em.

Em xin cám ơn Anh/Chị.
Gửi Anh - Chị trên diễn đàn

Nhờ Anh- Chị xem giúp em cách làm của em có chỗ nào chưa đúng ạ.

Em xin cám ơn Ạ.
 
Upvote 0
Em chào Anh Chị

Em có báo cáo muốn ẩn cột theo điều kiện cho sẵn.

Từ cột F30 đến cột V30 nếu mà trả giá trị "in" thì hiện cột đó, nếu trả về giá trị "khong" thì ẩn cột đó.

Nút VBA e nhờ Thầy BaTe thiết kế là ẩn dòng ở sheet "TB" ở ô AR 1, Trình độ không hiểu biết VBA chỉ ngồi mò không hiểu em viết sai ở điểm nào báo lỗi, nhờ Anh- Chị xem giúp em.

Em xin cám ơn Anh/Chị.
Mục đích của bạn ẩn làm gì vậy.
 
Upvote 0
Upvote 0
Dạ là để in báo cáo hàng tháng ạ, vì em liên tục báo cáo, và muốn tự động ẩn, hiện luôn đỡ mất thời gian ạ

Cám ơn Anh
Bài đã được tự động gộp:


Dạ ở cột AU 1 và AU3 ạ
Bạn thử.
Mã:
Sub ancot()
    Application.ScreenUpdating = False
        Dim i As Long
        With Sheets("IS")
             .Activate
            For i = 6 To 22
                If UCase(.Cells(30, i).Value) <> "IN" Then
                   .Columns(i).Hidden = True
                End If
            Next i
        End With
    Application.ScreenUpdating = True
End Sub
Sub hiencot()
    Application.ScreenUpdating = False
        Dim i As Long
        With Sheets("IS")
             .Activate
            For i = 6 To 22
                   .Columns(i).Hidden = False
            Next i
        End With
    Application.ScreenUpdating = True
End Sub
 
Upvote 0
Bạn thử.
Mã:
Sub ancot()
    Application.ScreenUpdating = False
        Dim i As Long
        With Sheets("IS")
             .Activate
            For i = 6 To 22
                If UCase(.Cells(30, i).Value) <> "IN" Then
                   .Columns(i).Hidden = True
                End If
            Next i
        End With
    Application.ScreenUpdating = True
End Sub
Sub hiencot()
    Application.ScreenUpdating = False
        Dim i As Long
        With Sheets("IS")
             .Activate
            For i = 6 To 22
                   .Columns(i).Hidden = False
            Next i
        End With
    Application.ScreenUpdating = True
End Sub
Anh ơi, Em đưa VAB vào không được ạ
Nhờ anh xem giúp em.
Em cám ơn Anh.
 

File đính kèm

  • Ẩn cột VBA.xlsb
    108.6 KB · Đọc: 3
Upvote 0
Tôi thấy Code hoạt động bình thường mà bạn.
 
Upvote 0
Web KT
Back
Top Bottom