Tạo nút ẩn hiện dòng trong excel 2007

Liên hệ QC

jennysam

Thành viên mới
Tham gia
13/12/12
Bài viết
4
Được thích
1
Có ai giúp mình tạo ẩn hiện dòng trong excel 2007 kiểu dưới đây không? (không sử dụng group nhé) vì group như vậy chỉ không nhìn được header đâu nhé

Capture.JPG
Đó, kiểu từng cấp độ như vậy, ai làm được upfile excel lên giúp mình nhé, hoặc hướng dẫn cho mình nhé
Thay vì mấy biểu tượng kiểu kia có thể làm thành dấu + hoặc - như kiểu mấy web làm ý

Cảm ơn mọi người nhiều
 
Có ai giúp mình tạo ẩn hiện dòng trong excel 2007 kiểu dưới đây không? (không sử dụng group nhé) vì group như vậy chỉ không nhìn được header đâu nhé

View attachment 115631
Đó, kiểu từng cấp độ như vậy, ai làm được upfile excel lên giúp mình nhé, hoặc hướng dẫn cho mình nhé
Thay vì mấy biểu tượng kiểu kia có thể làm thành dấu + hoặc - như kiểu mấy web làm ý

Cảm ơn mọi người nhiều
Bạn giải thích rõ yêu cầu được không?
 
Mình muốn ẩn những nội dung sau 1 và 2 mà không phải là dùng chế độ group trong excel
 

File đính kèm

  • Mapping 1.xlsx
    8.2 KB · Đọc: 77
Ai giúp mình với, mình cần gấp lắm :(

Mình đã làm xong cho bạn rồi đây, mở macro trước khi dùng hi.
Bạn double click vào các ô + hoặc - ở cột B để xem kết quả --=0

File mình đã chỉnh, chạy rất OK. :-=, bạn xem file Mapping (tao group) 4.

Mã:
Private Sub [COLOR=#ff0000]Worksheet_SelectionChange[/COLOR](ByVal Target As Range)
On Error GoTo Thoat 'khi chon nguyen cot
    If Target.Column = 2 Then
        If Target.Value = "-" Then
            Range("C1").ClearContents
            
            If Right(Selection.End(xlDown).Address, 5) <> 65536 Then
                Range("C1") = Range(Selection, Selection.End(xlDown)).SpecialCells(xlCellTypeBlanks).Address
                Hyperlinks.Add Anchor:=ActiveCell.Offset(, 1), Address:="", ScreenTip:=Range("C1").Value
            Else
                Range("C1") = ActiveCell.Offset(1, 0).Address & ":" & Range("C65536").End(xlUp).Offset(0, -1).Address
                Hyperlinks.Add Anchor:=ActiveCell.Offset(, 1), Address:="", ScreenTip:=Range("C1").Value
            End If
        End If
    End If
    
Thoat:
Exit Sub
End Sub


Private Sub [COLOR=#ff0000]Worksheet_BeforeDoubleClick[/COLOR](ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 2 Then
    Cancel = True
        If Target.Value <> "" Then
            If Target.Row = 1 Then
                If Target.Value = "+" Then
                    Call showall_row
                Else
                    Call hideall_row
                End If
            Else
                ScreenTip = GetHyperlinkScreenTip(ActiveCell.Offset(, 1))
                If Target.Value = "-" Then
                    Range(ScreenTip).EntireRow.Hidden = True  'hide
                    ActiveCell.Value = "+"
                Else
                    Range(ScreenTip).EntireRow.Hidden = False  'show
                    ActiveCell.Value = "-"
                End If
            End If
        End If
    End If
End Sub

Mã:
Function [COLOR=#ff0000]GetHyperlinkScreenTip[/COLOR](Hyperlink_cell As Range)
    GetHyperlinkScreenTip = WorksheetFunction.Clean(Hyperlink_cell.Hyperlinks(1).ScreenTip)
End Function

Mã:
Dim rng As Range, rRange As Range


Sub [COLOR=#ff0000]showall_row[/COLOR]()
Dim LastRow As Long
    If WorksheetFunction.CountA(Cells) > 0 Then
        LastRow = Cells.Find(What:="*", After:=[B1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
    End If


    Range("C1") = ActiveCell.Offset(1, 0).Address & ":$B$" & LastRow
    Range(Range("C1").Value).EntireRow.Hidden = False  'show
    ActiveCell.Value = "-"
    Set rRange = Range(Selection, Selection.Cells(65536, 1).End(xlUp))
    For Each rng In rRange
        If rng = "+" Then rng = "-"
    Next
End Sub


Sub [COLOR=#ff0000]hideall_row[/COLOR]()
    ActiveCell.Value = "+"
    Set rRange = Range(Selection, Selection.Cells(65536, 1).End(xlUp))
    
    For Each rng In rRange
        If rng = "-" Then
        ScreenTip = GetHyperlinkScreenTip(rng.Offset(, 1))
            Range(ScreenTip).EntireRow.Hidden = True 'hide
            rng = "+"
        End If
    Next
End Sub

Link MediaFire: Mapping (tao group) 4
 
Lần chỉnh sửa cuối:
Bạn thử áp dụng tính năng Subtotal như file mình gửi xem sao. Khi nhấn vào dấu + thì nó sổ ra chi tiết, nhấn vào dấu - nó ẩn chi tiết đi, có thể đúng ý bạn.
 

File đính kèm

  • Mapping 1.xlsx
    9.3 KB · Đọc: 138
Mình không kỵ dùng group, như bạn nói mình muốn để hàng đầu làm header, cảm ơn bạn nhiều
Cảm ơn phucbugis nhé, đúng ý mình rồi đấy :)
 
Bạn có thể hướng dẫn mình làm không?

Bạn down lại file Mapping (tao group) 4.xls mình mới gửi ở #5

- Bạn double click vào các ô
+ hoặc - ở cột B, nếu - thì nó hide row, + thì show row.
- Mỗi khi chèn thêm row vào 1 group -> ko ảnh hưởng.
- Khi thêm group thì bạn chỉ cần thêm dấu - ở cột B (bên cạnh cái tiêu đề của group vừa tạo) :-=
 
Lần chỉnh sửa cuối:

File đính kèm

  • Mapping 1 (tao group, 97_2003).xls
    36.5 KB · Đọc: 25
Cả nhà ơi, giúp mình với. Mình muốn mở ẩn dòng mà không được. Sp này của bộ phận khác giao cho Đội nhập dữ liệu. có ddieuf kiện giúp mình hieur thêm
 

File đính kèm

  • DuyXuyen-T11.2015.xls
    714 KB · Đọc: 12
Lâu rồi không thấy Phucbugis xuất hiện nhỉ???
không biết có "đột biến gen" thành nick nào khác hay tuỵet tích giang hồ nhỉ?
 
Web KT

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

Back
Top Bottom