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

Liên hệ QC

Người dùng đang xem chủ đề này

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