Code VBA auto hide dòng (2 người xem)

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

Người dùng đang xem chủ đề này

oshi

Thành viên chính thức
Tham gia
5/5/09
Bài viết
51
Được thích
1
các bác viết giúp em code auto hide dòng đối với những dòng mà có số 0 ở column A.
 

File đính kèm

các bác viết giúp em code auto hide dòng đối với những dòng mà có số 0 ở column A.
Bạn thử Code này nhé
Mã:
Option Explicit

Sub andong()
    Dim i As Integer, cell As Range, rng As Range
    Set rng = Sheet1.Range("A1:A50")
    For Each cell In rng
        If cell.Value = 0 Then
            cell.EntireRow.Hidden = True
        End If
    Next cell
End Sub
 
Mình dùng bộ thu ra kết quả, là vầy
PHP:
Option Explicit
Sub Macro1()
    Range("A2").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=1, Criteria1:=">0", Operator:=xlAnd
End Sub
 
Bạn thử Code này nhé
Mã:
Option Explicit

Sub andong()
    Dim i As Integer, cell As Range, rng As Range
    Set rng = Sheet1.Range("A1:A50")
    For Each cell In rng
        If cell.Value = 0 Then
            cell.EntireRow.Hidden = True
        End If
    Next cell
End Sub


Em làm thế này thì ok anh ạ. Nhưng khi em đổi sang dữ liệu khác, nó ko tự nhảy auto unhide cho các dòng có chứa giá trị 0 anh ạ ? cùng trong 1 range đó.
Em gửi lại file ạ. Có bác nào viết code giúp em và để cho em 1 cái shortcut key ạ (Ctrl + Shift + H).
Và lệnh Unhide là (Ctrl + Shift + U).

Ngoài ra thì em có điều kiện cho nhiều range ( như file đính kèm thì từ C6:C8 và E6:E8: nếu có giá trị nào =0 thì autohide).
và range từ C11:C21 và F11:F21: nếu có giá trị nào = 0 thì auto hide).
 

File đính kèm

hix hix, có cao nhân nào vào giúp em với ạ :)
 
Em làm thế này thì ok anh ạ. Nhưng khi em đổi sang dữ liệu khác, nó ko tự nhảy auto unhide cho các dòng có chứa giá trị 0 anh ạ ? cùng trong 1 range đó.
Em gửi lại file ạ. Có bác nào viết code giúp em và để cho em 1 cái shortcut key ạ (Ctrl + Shift + H).
Và lệnh Unhide là (Ctrl + Shift + U).
Ngoài ra thì em có điều kiện cho nhiều range ( như file đính kèm thì từ C6:C8 và E6:E8: nếu có giá trị nào =0 thì autohide).
và range từ C11:C21 và F11:F21: nếu có giá trị nào = 0 thì auto hide).
Dùng nút thay cho key, tham khảo code này xem:
[gpecode=vb]
Private Sub CommandButton1_Click()
Dim Rng As Range, Cls As Range
Dim Check As Boolean
Check = CommandButton1.Caption = "Hide"
Set Rng = Union([B6:B8], [E6:E8], [C11:C21], [F11:F21])
If Check Then
For Each Cls In Rng
If Cls.Value = 0 Then
Cls.EntireRow.Hidden = True
End If
Next Cls
Else
Range("A1").CurrentRegion.EntireRow.Hidden = False
End If
CommandButton1.Caption = IIf(Check, "Show", "Hide")
End Sub
[/gpecode]
 

File đính kèm

Em cám ơn anh,

hiện tại em đang làm giống bạn phucbugis và cũng phải dùng commandbutton :). Nhưng em phải có 1 cột riêng để xác nhận lệnh có hide hay ko hide.

Option Explicit
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim Rng As Range, Cll As Range
If CommandButton1.Caption = "An dong" Then
Set Rng = Range([J20], [J40].End(xlUp))
For Each Cll In Rng
If Cll.Value <> "In" Then
Cll.EntireRow.Hidden = True
End If
Next Cll
CommandButton1.Caption = "Bo An dong"
Set Rng = Nothing
Else
Cells.EntireRow.Hidden = False
CommandButton1.Caption = "An dong"
End If
Application.ScreenUpdating = True
End Sub
 
Em cám ơn anh,
hiện tại em đang làm giống bạn phucbugis và cũng phải dùng commandbutton :). Nhưng em phải có 1 cột riêng để xác nhận lệnh có hide hay ko hide.
Thì cũng như vậy thôi, Hide, Unhide đều nằm trong nút đó, dữ liệu đang ẩn thì nút là "Show", bấm vào thì dữ liệu unhide và nút có tên là "Hide", bạn chú ý vào tên của Nút bạn đang bấm, và thử bấm đi bấm lại vài lần xem.
 
Web KT

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

Back
Top Bottom