Em hỏi về TextBox?

  • Thread starter Thread starter pvg
  • Ngày gửi Ngày gửi
Liên hệ QC

pvg

Thành viên mới
Tham gia
16/4/08
Bài viết
8
Được thích
1
Chào anh chị!
Em có ý định xây dựng một Form, ở đó có TextBox và Button; Khi em gõ và TextBox (ví dụ "PVG") sau đó ấn Button thì lập tức một Sheet mới hiện ra có tên là "PVG", tương tự cho các lần tiếp theo. Anh chị giúp em với
 
Bạn xem tham khảo và nghiên cứu thêm để tạo ra theo ý của bạn, chi goi y ban chut xiu.
 
Lần chỉnh sửa cuối:
Upvote 0
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
 
Upvote 0
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

Như 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!
 
Upvote 0
Như 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!
Cảm ơn bác! Ý em là tạo Sheet mới với tên được nhập từ TextBox bác ah
 
Upvote 0
Cảm ơn bác! Ý em là tạo Sheet mới với tên được nhập từ TextBox bác ah

Sửa lại File của matmotmi chút là được vì tác giả muốn có một sh mới với tên được chỉ định sẵn trong Texbox chứ không phải có sẵn sh rồi cho nó hiện ra
Ban tham khảo file sau đây
Thân
 

File đính kèm

Upvote 0
Làm theo Anhphuong và Ca_dafi la đúng ý bạn đó. Lần sau bạn hỏi rõ tí nữa nhé!
 
Lần chỉnh sửa cuối:
Upvote 0
Các bạn lưu ý :

Việc tạo ra 1 Sheet mới thì đơn giản rồi, chỉ cần dũng 1 dòng lệnh :

PHP:
Sheets.Add.Name = Me.TextBox1.Value
Tuy nhiên trước đó cần lưu ý 2 vấn đề :
  • Chuỗi tên có được chấp nhận không ??: (Vì một số ký tự không được chấp nhận)
PHP:
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
  • Sheet đó đã có hay chưa : (Nhớ dùng Ucase để so sánh)
PHP:
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
Khi cả 2 đã thỏa mãn thì khi đó mới tiến hành tạo mới.

PHP:
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
Nhiệm vụ của người lập trình là phải lường ra tất cả các trường hợp có thể xảy ra. Đây mới là gốc rễ của vấn đề.

Thân!
 
Upvote 0
Cảm ơn các bác nhiều! Em mới học qua sách của bác Phan Tự Hướng nhưng Em vẫn còn nhiều điều hỏi lắm. Hỏi các bác sau.
Thân!
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom