dạ thưa thầy!!! e muốn viết code kiểm tra sheet tên HCM tồn tại chưa nếu có rùi thì thông báo sheet đã tồn tại và thoát chương trình ngược lại thực hiện câu lệnh bên dưới thì viết sao vậy thầy ( như hình dưới ạ)
Bạn làm như sau nhé
Duyệt vòng lặp tất cả các sheets
If(ws.name = “HCM”) then
// thoat
Else
// thêm sheets
End if
chỗ thoát làm thế nào thầy e exit sub k đc
như này sửa sao thầy
Sub Callback50(control As IRibbonControl)
Const sheetname = "HCM"
Dim ws As Object
For Each ws In ThisWorkbook.Sheets
If ws.Name = sheetname Then
MsgBox "Sheet da ton tai nen khong the tao moi voi ten nay"
Exit Sub
Exit For
Else
Worksheets.Add
ActiveSheet.Name = "HCM"
Range("A1").Value = "Ng" & ChrW(224) & "y gi" & ChrW(7901)
Range("A2").Value = "1"
Range("B1").Value = "#"
Range("B2").Value = "2"
Range("C1").Value = "SV" & ChrW(272)
Range("C2").Value = "3"
Range("D1").Value = ChrW(272) & ChrW(7897) & "i A"
Range("D2").Value = "4"
Range("E1").Value = "T" & ChrW(7881) & " s" & ChrW(7889)
Range("E2").Value = "5"
Range("F1").Value = ChrW(272) & ChrW(7897) & "i B"
Range("F2").Value = "6"
Range("G1").Value = "Kh" & ChrW(225) & "n gi" & ChrW(7843)
Range("G2").Value = "7"
Range("A1:G1").Interior.ThemeColor = xlThemeColorAccent4
Range("A2:G2").Interior.ThemeColor = xlThemeColorAccent5
Range("A1:G1000").Font.Name = "Times New Roman"
Range("A1:G1000").Font.Size = 14
Range("A1").ColumnWidth = 20
Range("B1").ColumnWidth = 10
Range("C1").ColumnWidth = 22
Range("D1").ColumnWidth = 26
Range("E1").ColumnWidth = 8
Range("F1").ColumnWidth = 26
Range("G1").ColumnWidth = 20
Range("E3:E1000").NumberFormat = "@"
Range("A1:G1000").VerticalAlignment = xlCenter
Range("A1:G1000").HorizontalAlignment = xlCenter
Call VDQG_VPF
End If
Next
End Sub
Nó báo lỗi thế nào nhỉ?
có sheet đó rùi nên chỗ add sheet nó báo lỗi đó thầy!
nó k chịu thoát ra
Vậy bạn phải xem vòng for đã đúng chưa?
Bạn thử như sau
Function CheckSheet(name As String) As Boolean
Dim ws As Worksheet
For Each ws In ThisWorkbook.Sheets
If ws.name = name Then
CheckSheet = True
Exit Function
End If
Next
CheckSheet = False
End Function
sub themsheet
if(CheckSheet("HCM") = false) then
// them shet vao day
End if
End if
dạ e cảm ơn thầy!!!ổn áp rùi ạ
Phần này có thể kết hợp Function để check trường hợp trước khi thêm hay làm gì đó.
dạ!!!e code ở trên mà xem mãi thấy k sai mà nó k như mình muốn
dạ thưa thầy Ba!!! Hôm qua thầy có chia sẻ em đoạn code này để check sheet trùng
Function CheckSheet(name As String) As Boolean
Dim ws As Worksheet
For Each ws In ThisWorkbook.Sheets
If ws.name = name Then
CheckSheet = True
Exit Function
End If
Next
CheckSheet = False
End Function
chạy file đó thì ok ( nhưng em đang làm file add-in thì khi tên sheet đó đã tồn tại nó bảo lỗi dòng màu vàng như cmt trên á thầy) thầy chỉ em chỗ này thêm vs ạ
E nghĩ nó k hiểu khi mở file mới là thisworkbook mới!!!
Phần này phải check lại phần thiswworkbook xem nó hiểu là workbook nào