Ẩn hiện sheet theo ý muốn
Em cảm ơn
Em chao các Anh/Chị
E bị kẹt chổ code nay ty mong các Anh xem giúp.
Vidụ: em muốn xóa sheet 27 thì code lại xóa sheet 26. em tìm mãi mà không biết lý do, mong Anh chị xem giúp. file đinh kèm ạ.
Em cảm ơn
Sửa lại một chút trên cơ sở code của bạn
Sub AnHien_Sheet()
Dim sheetname As String
Dim lr As Long
lr = Sheets("Setting").Cells(Rows.Count, 1).End(xlUp).Row
Dim sodong As Long
'An/hien sheet
For sodong = 2 To lr
sheetname = Sheets("Setting").Range("A" & sodong).Value
On Error Resume Next
'Mo an tat ca cac sheet
Worksheets(sheetname).Visible = xlSheetVisible
'An sheet duoc danh dau
If Sheets("Setting").Range("B" & sodong).Value = "x" Then
Worksheets(sheetname).Visible = xlSheetHidden
End If
Next sodong
Sheets("Setting").Activate
End Sub
www.giaiphapexcel.com/diendan/threads/%E1%BA%A8n-hi%E1%BB%87n-sheet-theo-%C3%BD-mu%E1%BB%91n.165433/#post-1105598
Khóa học SprinGO phù hợp
Xây dựng Lương 3P, KPI cho Doanh nghiệp
Làm thế nào để trả lương cho nhân viên chính xác nhất? Đây là một trong những câu hỏi khó trong quản trị nhân...
Xem khóa học
Vọc vẹo với ba cái mớ bảng tính thì tối thiểu cũng phải biết cách truy vấn chúng.
Các bảng tính được chứa trong một collection gọi là WorkSheets. Lưu ý rằng GPE ở đây thường dùng collection Sheets; collection này bao gồm WorkSheets nhưng cũng bao gồm cả ChartSheets. Vì vậy, truy vấn bảng tính từ WorkSheets chính xác hơn.
Collection WorkSheets cho phép truy vấn phần tử của nó (tức là bảng tính) theo hai phương cách:
1. Phương pháp mặc định của collection: tức là theo chỉ số (giống như mảng 1 chiều). Chỉ số bắt buộc phải là một số nguyên.
Ví dụ: WorkSheets(5) là sheet thứ 5 kể từ bên trái.
2. Phương pháp chỉ định rõ rệt bằng tên sheet. Tên sheet bắt buộc phải là một chuỗi (string).
Ví dụ: WorkSheets("BangA") là sheet mang tên là BangA.
Làm vuệc với collectioon worksheets thì bắt buộc biết phân biệt hai kiểu truy vấn này. Không thể lẫn lộn.
Hình dưới đây minh họa trường hợp bảng tính thứ 5 mang tên "BangA", và đối lại, bảng tính mang tên "BangA" mang chỉ số là 5:
6831
Chỉ cần bạn định dạng cột A là TEXT trước khi chạy code "SheetList" hoặc định dạng trong code, thì khi chạy code " AnHien_Sheet" sẽ đúng.