Làm thế nào để kiểm tra tên sheet có tồn tại hay không?

Liên hệ QC

dungvovan

Thành viên mới
Tham gia
13/12/06
Bài viết
36
Được thích
18
Xin giúp dùm .

Trich :

Windows("HD XUAT_Font.xls").Activate
MySheet = InputBox(" Choòn Sheet CâÌn Cheìp: ", "Cheìp Hoìa Ðõn Lýu :", "HD Co Mso Thue")
If MySheet = " " Then Exit Do
'If MySheet = False Then MsgBox ("Tên Sheets Không Ðuìng !"), vbRetryCancel

Chào các Anh Chị .
Mình có 1 marco ,dùng để lưu lại các HĐ đã xuất trong tháng ,dung inputbox để chọn sheet cần chép , vấn đề là : nếu gỏ sai tên sheet thì macro se báo lổi . Các Anh Chị vui lòng chỉ giúp dùm mình xem làm thế nào để kiểm tra xem tên sheet có tồn tại hay không .
Xin cảm ơn .
 
Chỉnh sửa lần cuối bởi điều hành viên:
Bạn tham khảo đoạn code sau nhé.
Mã:
Option Explicit
Sub tim_sheet()
Const sheetname = "ABC"
Dim ok As Boolean
ok = False
Dim ws As Object
For Each ws In ThisWorkbook.Sheets
If ws.Name = sheetname Then
ok = True
Exit For
End If
Next
MsgBox ("sheet " & sheetname & IIf(ok, " ton tai", " khong ton tai"))
End Sub
Nhớ đặt tên chủ đề rõ ràng.
 
Upvote 0
Chào các bạn
Mình thường dùng hàm sau để kiểm tra sự "có mặt" của 1 sheet :
Mã:
Option Explicit
Public Function WsExit(wsName As String) As Boolean
    On Error Resume Next
    WsExit = CBool(Len(Worksheets(wsName).Name) > 0)
End Function
Hàm trả về giá trị True / False

Mến !
 
Lần chỉnh sửa cuối:
Upvote 0
Thêm một cách nữa để bạn tuỳ chọn:
Option Explicit
Sub tim_sheet()
Dim sheetname As String
Dim ws As Object
sheetname = InputBox(" Nhap ten sheet can chep", "Kiem tra sheet")
For Each ws In ThisWorkbook.Sheets
If ws.Name = sheetname Then
MsgBox ("Sheet " & sheetname & " ton tai")
Exit Sub
End If
Next
MsgBox ("Sheet " & sheetname & " khong ton tai")
End Sub
Nhập tên sheet nhớ phân biệt chữ hoa và chữ thường.
Thân
 
Upvote 0
tedaynui đã viết:
Chào các bạn
Mình thường dùng hàm sau để kiểm tra sự "có mặt" của 1 sheet :
Mã:
Option Explicit
Public Function WsExit(wsName As String) As Boolean
    On Error Resume Next
    WsExit = CBool(Len(Worksheets(wsName).Name) > 0)
End Function
Hàm trả về giá trị True / False

Mến !
Hay, đơn giản, ngắn gọn và hiệu quả.
 
Upvote 0
Web KT

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

Back
Top Bottom