Dấu các sheet

Liên hệ QC

camchuongden

Thành viên mới
Tham gia
19/3/08
Bài viết
33
Được thích
16
Em có 1 file toàn là các biểu mẫu nhưng mình muốn giấu tất cả các sheet chỉ để lại một sheet mục lục thôi thì có được không ah? Nếu được chỉ cho em cách thực hiện là như thế nào. Thanks all.

Mọi người xem file đính kèm rồi giúp em với nhé.
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:

File đính kèm

Dấu Sheet

Tôi làm đại như vầy, không biết có được không bạn thử coi xem sao ?


File của bạn rất hay , tôi cũng đang cần và đã tải về ,trên cơ sở đó chế biến lại cho file của mình . Tuy nhiên ở Sheet "muc luc" bạn chỉ cho tôi cụ thể cách làm như thế nào để được giống như của bạn , tôi loay hoay hoài nhưng không được (Kiến thức êxcl của tôi có rất hạn chế) . Mong bạn giúp đỡ , rất cảm ơn sự nhiệt tính của bạn .
 
File của bạn rất hay , tôi cũng đang cần và đã tải về ,trên cơ sở đó chế biến lại cho file của mình . Tuy nhiên ở Sheet "muc luc" bạn chỉ cho tôi cụ thể cách làm như thế nào để được giống như của bạn , tôi loay hoay hoài nhưng không được (Kiến thức êxcl của tôi có rất hạn chế) . Mong bạn giúp đỡ , rất cảm ơn sự nhiệt tính của bạn .

Thay lời transongngocquan
Trong sheet("MUC LUC"), bạn xử lý sự kiện selection change theo code bên dưới (có trong VBA/sheets("MUC LUC")
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
For i = 1 To Sheets.Count Step 1
    If Sheets(i).Name <> "MUC LUC" Then
        Sheets(i).Visible = False
    End If
Next
'Khi co thay doi selection change, thi neu ten trong cell trung voi ten sheet thi nhay toi sheet do:
    ViTri = InStr(1, Target.Value, "!", vbTextCompare)
    TenSheet = Left(Target.Value, ViTri - 1)
    If Right(TenSheet, 1) = "'" Then
        TenSheet = Left(TenSheet, Len(TenSheet) - 1)
    End If
    Sheets(TenSheet).Visible = True
    Sheets(TenSheet).Select
End Sub
 
Dấu Sheet

Thay lời transongngocquan
Trong sheet("MUC LUC"), bạn xử lý sự kiện selection change theo code bên dưới (có trong VBA/sheets("MUC LUC")
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
For i = 1 To Sheets.Count Step 1
    If Sheets(i).Name <> "MUC LUC" Then
        Sheets(i).Visible = False
    End If
Next
'Khi co thay doi selection change, thi neu ten trong cell trung voi ten sheet thi nhay toi sheet do:
    ViTri = InStr(1, Target.Value, "!", vbTextCompare)
    TenSheet = Left(Target.Value, ViTri - 1)
    If Right(TenSheet, 1) = "'" Then
        TenSheet = Left(TenSheet, Len(TenSheet) - 1)
    End If
    Sheets(TenSheet).Visible = True
    Sheets(TenSheet).Select
End Sub

Cảm ơn bạn rất nhiều . Đoạn cod này tôi đã chèn vào xong không có vấn đề gì , nhưng vấn đề tôi muốn hỏi : là làm sao bấm vào 1 ô tương ứng ở Sheet "muc luc" (Mỗi 1 ô tương ứng với 1 sheet đã bị dấu) thì nó liên kết được với sheet mình cần , tôi mày mò nhưng không được , tôi cũng đã dùng Hyperlink (liên kết từ cell ở sheet "muc luc" đến các sheet tương ứng )nhưng vẫn không được- Cách làm phải như thế nào . Nhờ bạn chỉ giúp , xin cảm ơn bạn .
 
Bạn gõ vào cell bất kỳ của sheet (MucLuc) tên của 1 sheet bất kỳ rồi trỏ chuột vào ô đó. Không cần dùng hypelink

Động tác này làm được là bời đoạn code này:
PHP:
Khi co thay doi selection change, thi neu ten trong cell trung voi ten sheet thi nhay toi sheet do:
    ViTri = InStr(1, Target.Value, "!", vbTextCompare)
    TenSheet = Left(Target.Value, ViTri - 1)
    If Right(TenSheet, 1) = "'" Then
        TenSheet = Left(TenSheet, Len(TenSheet) - 1)
    End If
    Sheets(TenSheet).Visible = True
    Sheets(TenSheet).Select
End Sub
</span></span>
 
Làm như bạn hướng dẫn , nhưng vẫn không được ( Thật là quá tệ - thử đổi tên đồng thời cell và sheet tương ứng thì bị báo lỗi không hiểu tại sao) - bạn có thể chỉ tiết hơn được không , xin cảm ơn nhiều .
 
Lần chỉnh sửa cuối:
Làm như bạn hướng dẫn , nhưng vẫn không được ( Thật là quá tệ - thử đổi tên đồng thời cell và sheet tương ứng thì bị báo lỗi không hiểu tại sao) - bạn có thể chỉ tiết hơn được không , xin cảm ơn nhiều .

Như vầy đi, trong file cua bạn transongngocquan, tại sheets(MUC LUC), ô D12 hiện chưa có dữ liệu, bạn đánh vào DSABC!A1 thử xem.
 
Nếu hiện sheet(abc) rồi thì ẩn MUCLUC đi thì pro thêm chút nữa.
 
Thật là hay quá. Cảm ơn cả nhà rất nhiều, bây giờ thì em mới biết VBA là như thế nào, em lại có cơ học thêm rồi.
Một lần nữa cho em gởi lời cảm ơn cả nhà nhé. Chúc cả nhà vui vẻ và thành đạt.
 
Web KT

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

Back
Top Bottom