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