Bung sheet khi hide

Liên hệ QC

Thuywin198

Thành viên mới
Tham gia
8/11/07
Bài viết
8
Được thích
0
Trong khi làm mình tạo ra nhiều sheet wá nên mình hide lại, khi cần thì unhide mỏi cả tay luôn :(. Anh chị có cách nào mà nhanh hơn khg giúp em với. Thanks so much!!!

-------------------------------------
OverAC: lần sau bạn chú ý hơn nữa nhé, ngoài việc bạn tạo 4 topic giống nhau nhưng khác tiêu đề, bạn post bài sai vị trí, vấn đề này bạn nên post vào box 'Excel và những vấn đề chung'
 
Chỉnh sửa lần cuối bởi điều hành viên:
Bạn dùng code này:
Mã:
Sub Unhide()
Dim i, SheetCount, SheetHidden()
SheetCount = ActiveWorkbook.Sheets.Count
ReDim SheetHidden(1 To SheetCount)
For i = 1 To SheetCount
SheetHidden(i) = Not ActiveWorkbook.Sheets(i).Visible
If SheetHidden(i) Then ActiveWorkbook.Sheets(i).Visible = True
Next i
End Sub
 
Em xin tham gia cho vui
Mã:
Sub UnHide()
Dim ws As Worksheet
For Each ws In Worksheets
    If ws.Visible <> -1 Then ws.Visible = -1
Next
End Sub
Thân!
 
Mai làm tiếp, bi giờ buồn ngủ rùi
Mã:
Sub unhidesheet()
    msg = "Please choose sheet to unhide" & Chr(10)
    For i = 1 To Sheets.Count
        If Sheets(i).Visible = False Then
            msg = msg & Chr(10) & i & ". " & Sheets(i).Name
        End If
    Next i
    msg = msg & Chr(10) & Chr(10) & "*: all; 1,2 for sheet 1 and 2 ..."
    getsheets = InputBox(msg)
    For i = 1 To Sheets.Count
        If getsheets = "*" Or incolection(i, getsheets) Then
            Sheets(i).Visible = True
        End If
    Next i
End Sub

Function incolection(No, colect)
    incolection = False
    If No & "" = colect & "" Then
        incolection = True
        Exit Function
    End If
    If Len(No) >= Len(colect) Then
        Exit Function
    Else
        if len(no) + 1 =
    End If
    
    If Left(colect, Len(No) + 1) = No & "," Or _
        Right(colect, Len(No) + 1) = "," & No Or _
        InStr(1, colect, "," & No & ",", colect) > 0 Then
        incolection = True
    End If
End Function
 
Các code các bạn gởi giải ẩn toàn bộ các sheet đi theo vòng lặp và kiểm tra định dạng ẩn hiện (sheet visibility). Nếu cái workbook có vài chục sheet thì bung ra hết thì nhấp chuột đến sheet muốn coi thì phê lắm.

Nên lập các mục lục trong sheet nào đó, tạo hyperlink cho từng sheet trên đó rồi muốn giải ẩn và coi sheet nào thì chỉ nhấp chuột vào hyperlink của sheet ẩn đó thôi.

Mến
 
Phần đầu khi thực thi í tưởng Digita như sau

Nên lập các mục lục trong sheet nào đó, tạo hyperlink cho từng sheet trên đó rồi muốn giải ẩn và coi sheet nào thì chỉ nhấp chuột vào hyperlink của sheet ẩn đó thôi.
Mã:
[b]
Sub Sh_Names()[/b]
 Dim SheetCount As Byte, iJ As Byte
1  Dim iZ As Byte
   SheetCount = ActiveWorkbook.Sheets.Count
        [COLOR="Blue"]'MsgBox SheetCount[/COLOR]
    Sheets("SO").Select
    For iJ = 1 To SheetCount
2         For iZ = 1 to 12
                [COLOR="Blue"]' Range("D" & 1 + iJ).Value = ActiveWorkbook.Sheets(iJ).Name[/COLOR]
3            Rang(CHR(65 +iZ) & 1 +iJ).Value = ActiveWorkbook.Sheets(iJ).Name
4   Next iZ, iJ
[b]
End Sub [/b]
( Chép từ webKeToan.com qua!)

)*&^)
 
Có cách nào giải quyết mà không dùng VBA không các anh chị?
 
utcung đã viết:
Có cách nào giải quyết mà không dùng VBA không các anh chị?
Không dùng VBA thì chỉ có cách UnHide thủ công từng Sheet 1 (hoặc cài 1 Addin hỗ trợ). Ngoài ra hết cách !

TDN
 
Cho em góp "vấn đề" với

Cho em góp "vấn đề" với

Vấn đề của em là:
1- To anhtuan1066: Sử dụng file của bác luôn. Nhưng có 1 vấn đề khi thêm sheet, đổi tên sheet ... thì trang index không cập nhật ngay mặc dù đã vào Tools\Options...\Calculation điểm mục Automatic -> sử lý để khi có bất kỳ sự thay đổi gì thì thông tin cập nhật tức thời ngay nhé.

2- Từ file này:
* khi bắt đầu mở File thì chỉ hiện sheet INDEX, các sheet khác trong tình trạng ẩn nhưng các công thức truy xuất dữ liệu của các sheet ẩn không bị ảnh hưởng đến kết quả,
* Khi link đến sheet nào thì chỉ mình nó hiện thôi, các sheet khác ẩn hết (có 1 nút quay về INDEX - hoặc là INDEX không bao giờ bị ẩn thì không cần nút quay về nữa)
* Có thể thêm vào INDEX 1 nút [show all] , 1 danh sách các sheet với các dấu "tích" mà khi ta đánh dấu vào sheet nào thì nó hiện, bỏ đánh dấu thì nó ẩn

3- Em muốn tạo 1 msgbox cho 1 ô nào đó mà khi chọn vào nó thì msgbox hiện lên với 1 câu thông báo, hướng dẫn ... (đại loại là như vậy)

Tạm thời em nêu vậy thôi, Mong các bác giúp em giải quyết vấn đề nhé
Nếu vấn đề mà em đưa ra bác nào thấy hợp khẩu vị thì hưởng ứng nhiệt tình nha
 

File đính kèm

Lần chỉnh sửa cuối:
Phần 2 và 3 có liên quan đến VBA, ta bàn riêng nhé! Tôi chỉ nói về file của tôi thôi...
Do sơ ý nên... hi... hi...
Bạn sửa name:
Mã:
NoSs =GET.WORKBOOK(4)
Thành:
Mã:
NoSs =GET.WORKBOOK(4+NOW()*0)
Khi có thay đổi bạn bấm F9 nó sẽ cập nhật!
ANH TUẤN
 
Tôi chỉ nói về file của tôi thôi...
Khi có thay đổi bạn bấm F9 nó sẽ cập nhật!
ANH TUẤN

Ý tưởng:
Mã:
Liệu có cách nào [B][COLOR=red]Automatic cập nhật[/COLOR][/B] mà không cần F9 nữa không nhỉ?
khi chưa thực hiện được thì vẫn sẽ mãi mãi chỉ là ý tưởng

t/b: Nếu có thể, giải thích thêm về ý nghĩa của số 4 trong
NoSs =GET.WORKBOOK(4+NOW()*0)
 
Lần chỉnh sửa cuối:
Ý tưởng:
Mã:
Liệu có cách nào Automatic cập nhật mà không cần F9 nữa không nhỉ
khi chưa thực hiện được thì vẫn sẽ mãi mãi chỉ là ý tưởng
Tất nhiên là dc khi dùng VBA... Bạn tự làm lấy hoặc chờ các cao thủ cho giãi pháp... Tôi làm món này dc nhưng ko hay lắm! (vì đang học)
ANH TUẤN
 
Ko có số -2 đâu... hi.. hi... chỉ có -1, 0 và 2 thôi!
-1 : Hiện sheet
0 : ẩn sheet bình thường (bằng cách Format\Sheet\Hide)
2: Siêu ẩn, sẽ ko hiện dc bằng cách Format mà phải vào cửa số VBA để set thuộc tính ẩn hiện của nó
Tóm lại bạn Alt + F11 và đó chọn 1 sheet rồi nhìn xuống dưới, ngay mục Visible sẽ hiểu liền.

t/b: Nếu có thể, giải thích thêm về ý nghĩa của số 4 trong
Đây là hàm macro 4, mổi số ăn với 1 chức năng nào đó.. Bạn tham khảo tại bài #9 topic này:
http://www.giaiphapexcel.com/forum/showthread.php?t=202
Mến
ANH TUẤN
 
:.,Các bác ui ! giải quyết hộ em vấn đề 2 và 3 trong Bài #8 page 1 topic này với

t/b Hôm nay các cao thủ đi đâu hết roài nhỉ? giúp em với
 
Như Anhtuan nói
Ko có số -2 đâu... hi.. hi... chỉ có -1, 0 và 2 thôi!
-1 : Hiện sheet
0 : ẩn sheet bình thường (bằng cách Format\Sheet\Hide)
2: Siêu ẩn, sẽ ko hiện dc bằng cách Format mà phải vào cửa số VBA để set thuộc tính ẩn hiện của nó
nhưng đoạn code sau sao không chạy anh nhỉ? Nó hiện một Hộp thoại trong đó có số 400
Sub superhide()

Sheets("Order04.04").Select
ActiveWindow.SelectedSheets.Visible = 2

End Sub
Ý của em là muốn cho sheet Order04.04 siêu ẩn

Xin cám ơn các huynh
 
Bạn sửa lại code:
PHP:
Sub superhide()
Sheets("Order04.04").Visible = 2
End Sub
là dc
ANH TUẤN
 
Web KT

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

Back
Top Bottom