Nguyễn Trọng Hào
Nguyễn Trọng Hào
Thảo luận 14 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 132 lượt xem

thưa 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ì

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 ạ)

Thảo luận 14 câu trả lời
Lượt xem 132 lượt xem
Vỗ tay vỗ tay
Nguyễn Trọng Hào 10:08 - Aug 08, 2022

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

Vỗ tay vỗ tay
Nguyễn Trọng Hào 10:08 - Aug 08, 2022

chỗ thoát làm thế nào thầy e exit sub k đc

 

Vỗ tay vỗ tay
Nguyễn Trọng Hào 11:08 - Aug 08, 2022

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

Vỗ tay vỗ tay
Nguyễn Trọng Hào 11:08 - Aug 08, 2022

Nó báo lỗi thế nào nhỉ?

 

Vỗ tay vỗ tay
Nguyễn Trọng Hào 11:08 - Aug 08, 2022

có sheet đó rùi nên chỗ add sheet nó báo lỗi đó thầy!

Vỗ tay vỗ tay
Nguyễn Trọng Hào 11:08 - Aug 08, 2022

nó k chịu thoát ra

 

Vỗ tay vỗ tay
Nguyễn Trọng Hào 11:08 - Aug 08, 2022

Vậy bạn phải xem vòng for đã đúng chưa?

 

Vỗ tay vỗ tay
Nguyễn Trọng Hào 11:08 - Aug 08, 2022

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

Vỗ tay vỗ tay
Nguyễn Trọng Hào 11:08 - Aug 08, 2022

dạ e cảm ơn thầy!!!ổn áp rùi ạ

 

Vỗ tay vỗ tay
Nguyễn Trọng Hào 11:08 - Aug 08, 2022

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ì đó.

 

Vỗ tay vỗ tay
Nguyễn Trọng Hào 11:08 - Aug 08, 2022

dạ!!!e code ở trên mà xem mãi thấy k sai mà nó k như mình muốn

 

Vỗ tay vỗ tay
Nguyễn Trọng Hào 09:08 - Aug 09, 2022

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 ạ

Vỗ tay vỗ tay
Nguyễn Trọng Hào 09:08 - Aug 09, 2022

E nghĩ nó k hiểu khi mở file mới là thisworkbook mới!!! 

Vỗ tay vỗ tay
Nguyễn Trọng Hào 09:08 - Aug 09, 2022

Phần này phải check lại phần thiswworkbook xem nó hiểu là workbook nào

Vỗ tay vỗ tay
Câu hỏi liên quan
© 2020 - Bản quyền của Công Ty Cổ Phần Công Nghệ Giáo Dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở Kế hoạch và Đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ Thông tin và Truyền thông