Cảm ơn bác! Hình như bác hiểu sai ý em! Theo em hiểu bài của bác thì cứ khi nào gõ vào Textbox là "PVG" và ấn Ok thì sheet "PVG" được tạo ra.
Ý em không phải như vậy, mà trong textBox em gõ bất kỳ và ấn OK thì sheet mới hiện ra với tên như đã gõ trong TextBox. Có thể thực hiện được nhiều lần
Cảm ơn bác! Ý em là tạo Sheet mới với tên được nhập từ TextBox bác ahNhư File trên là cho hiện ra đấy bạn ạ, không phải được tạo ra đâu (Trước đó cho ẩn đi rồi)
Bạn phải phân định rõ :
- Sheet đó đã có chưa ??? : Nếu có rồi thì cho Sheet đó hiện ra; Nếu chưa có thì báo lỗi hay là tạo ra sheet mới ???
Thân!
Ý em là tạo Sheet mới với tên được nhập từ TextBox bác ah
Cảm ơn bác! Ý em là tạo Sheet mới với tên được nhập từ TextBox bác ah
Nhưng yêu cầu giá trị của TexBox không được trùng với tên Sh hiện có của Wb, nếu không sẽ bị lỗi. Muốn bẫy lỗi thì phải thêm đoạn code nữaLàm theo Anhphuong la đúng ý bạn đó. Lần sau bạn hỏi rõ tí nữa nhé!
Sheets.Add.Name = Me.TextBox1.Value
Function KiemTraTen(Ten As String) As Boolean
Dim i As Byte, KyTu As String
If Ten = "" Then Exit Function
For i = 1 To 6
KyTu = Choose(i, "/", "\", ":", "*", "?", ":")
If InStr(1, Ten, "/") > 0 Then Exit Function
Next
KiemTraTen = True
End Function
Function ShExit(ShName As String) As Boolean
Dim Sh As Worksheet
ShName = UCase$(ShName)
For Each Sh In ThisWorkbook.Worksheets
If UCase$(Sh.Name) = ShName Then
ShExit = True
Exit Function
End If
Next
End Function
Private Sub CommandButton1_Click()
If KiemTraTen(Me.TextBox1.Value) = False Then Exit Sub
If ShExit(Me.TextBox1.Value) = True Then Exit Sub
Sheets.Add.Name = Me.TextBox1.Value
End Sub