Làm sao biết 1 sheet có trong Workbook

Liên hệ QC

rockydatalone

Thành viên mới
Tham gia
3/4/07
Bài viết
48
Được thích
9
Cho mình hỏi, bây giờ mình muốn dò xem trong file mình đang làm mình muốn biết sheet đó đã tạo ra chưa (ví dụ Sheet2 đã tạo ra rùi thì phương thức hay đại loại công thức gì đó trả về là cho VBA biết là đã tạo).
 
Cho mình hỏi, bây giờ mình muốn dò xem trong file mình đang làm mình muốn biết sheet đó đã tạo ra chưa (ví dụ Sheet2 đã tạo ra rùi thì phương thức hay đại loại công thức gì đó trả về là cho VBA biết là đã tạo).
Bạn thử đoạn code này xem sao:
PHP:
Sub CheckSheetName()
Dim CheckSheet As Object
MySheetName = Inputbox("Nhap ten sheet can tim vao day:",,"Tim ten sheet")
Set CheckSheet = ActiveWorkbook.Sheets(MySheetName)
If Err = 0 Then
MsgBox "Sheet" & MySheetName & "da co trong file", vbOKOnly, "Thong bao"
Else
MsgBox "Sheet" & MySheetName & "khong co trong file", vbOKOnly, "Thong bao"
End If
End Sub
 
Upvote 0
Bạn ca_dafi hiểu sai ý mình rùi, mình muốn hỏi có phương thức hay code nào để VBA tự dò tìm các sheet nào đã có trong workbook đó.
Ví dụ: Trong file của mình có sheet từ 1 đến 5.
Khi này VBA sẽ tìm trong workbook có sheet nào hiện tại đang có.
Mình cần code này để mình viết nút Command để khi nhấn tất cả các sheet sẽ tự động ẩn, và ngược lại.
Thank
 
Upvote 0
Tiêu đề bài viết của bạn là:
Làm sao biết 1 sheet có trong Workbook

Lúc đầu bạn viết như thế này:
Cho mình hỏi, bây giờ mình muốn dò xem trong file mình đang làm mình muốn biết sheet đó đã tạo ra chưa (ví dụ Sheet2 đã tạo ra rùi thì phương thức hay đại loại công thức gì đó trả về là cho VBA biết là đã tạo).

Bây giờ bạn hỏi như thế này:
mình muốn hỏi có phương thức hay code nào để VBA tự dò tìm các sheet nào đã có trong workbook đó.
Ví dụ: Trong file của mình có sheet từ 1 đến 5.
Khi này VBA sẽ tìm trong workbook có sheet nào hiện tại đang có.
Mình cần code này để mình viết nút Command để khi nhấn tất cả các sheet sẽ tự động ẩn, và ngược lại.

Thiệt không hiểu!?

Ps: Không thể làm cho tất cả các sheet đều ẩn hết được (theo đúng nghĩa đen), ít nhất phải có 1 sheet không ẩn.
Nếu muốn Hide sheet và chừa lại 1 sheet thì bạn xem đoạn code này:
PHP:
Sub HideSheet()
On Error Resume Next
For i = 1 To Worksheets.Count
Sheets(i).Visible = False
Next
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn ca_dafi hiểu sai ý mình rùi, mình muốn hỏi có phương thức hay code nào để VBA tự dò tìm các sheet nào đã có trong workbook đó.
Ví dụ: Trong file của mình có sheet từ 1 đến 5.
Khi này VBA sẽ tìm trong workbook có sheet nào hiện tại đang có.
Mình cần code này để mình viết nút Command để khi nhấn tất cả các sheet sẽ tự động ẩn, và ngược lại.
Thank
Nếu muốn ẩn tất cả các Sheet thì Excel hỏng cho đâu. Vì thế phải chừa lại 1 sheet và bạn có thể dùng cách của Ca_dafi như sau để chừa lại Sheet như mong muốn
PHP:
Sub HideSheet()
On Error Resume Next
For i = 1 To Worksheets.Count
         ''Cho hiện Sheet3
         if i <> 3 then 
                Sheets(i).Visible = True
         Else
                Sheets(i).Visible = False
         Endif
Next
End Sub
TDN
 
Upvote 0
Giã sử rằng trong WorkBook của bạn có rất nhiều sheet, bạn muốn ẩn tất cả chỉ chừa lại sheet có tên là Index... vậy thì:
PHP:
Sub AnSheet()
  Dim Sh As Worksheet
  On Error Resume Next
  For Each Sh In ThisWorkbook.Worksheets
    Sh.Visible = (Sh.Name = "Index")
  Next
End Sub
 
Upvote 0
Nếu muốn ẩn tất cả các Sheet thì Excel hỏng cho đâu. Vì thế phải chừa lại 1 sheet và bạn có thể dùng cách của Ca_dafi như sau để chừa lại Sheet như mong muốn
PHP:
Sub HideSheet()
On Error Resume Next
For i = 1 To Worksheets.Count
         ''Cho hiện Sheet3
         if i <> 3 then 
                Sheets(i).Visible = True
         Else
                Sheets(i).Visible = False
         Endif
Next
End Sub
TDN

Sẽ trở thành sai nếu WB chỉ có 3 Sheet, và Sheet3 đang ở chế độ ẩn.
và một số trường hợp khác nữa.

Vì vậy nên cho Sheet3 hiện ra trước, sau đó mới chạy vòng lặp.

Thân!
 
Upvote 0
ố ồ ô, cảm ơn các bạn nhiều, bây giờ mình mới biết Worksheet.Count là đếm các sheet đang có trong 1 Workbook. Mình đang tìm nó đó. Thank các bạn nhìu
 
Upvote 0
Web KT

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

Back
Top Bottom