Thiết kế UserForm bài số 01: Làm việc với Textbox và Nút bấm

tuhocvba

Administrator
Thành viên BQT
Bài học đầu tiên về thiết kế UserForm, chúng ta sẽ làm quen với ô Textbox dùng để nhập dữ liệu, và nút bấm CommanButton.
Mục đích của chúng ta hôm nay, chúng ta cần tạo ra một ô nhập dữ liệu tên và sau đó ghi vào cột A trên excel.
Bạn cần đăng nhập để thấy hình ảnh

1. Đầu tiên chúng ta tạo nút bấm trên sheet:
Bạn cần đăng nhập để thấy hình ảnh

Vào Developer, chọn nút bấm, sau đó chúng ta vẽ nút bấm trên sheet. Nếu không rõ, xin xem thêm video trong bài viết này.
Bạn tạo xong phím bấm, chuột phải chọn Properties:
Bạn cần đăng nhập để thấy hình ảnh

Có rất nhiều thuộc tính, tạm thời chúng ta chưa quan tâm. Bạn nhìn thấy thuộc tính Caption, đây chính là nội dung hiển thị trên nút bấm.
Bạn click vào và sửa tên tùy ý, ví dụ mình điền là show
Bạn cần đăng nhập để thấy hình ảnh

Tiếp theo, bạn double click vào nút bấm để viết code cho nút bấm. Tạm thời chúng ta chưa có code gì cho nó nên bỏ qua nhé.
Bạn cần đăng nhập để thấy hình ảnh

Tiếp theo chúng ta tạo UserForm.
Click chuột phải vào project, thao tác như ảnh dưới đây:
Bạn cần đăng nhập để thấy hình ảnh

Kết quả là chúng ta có một UserForm, tên mặc định là UserForm1:
Bạn cần đăng nhập để thấy hình ảnh

Trên khay công cụ (nếu không rõ thì xem video ở dưới nhé), các bạn lấy ra ô textbox (trong ô màu đỏ theo ảnh thuyết minh dưới), và commandbutton (nút bấm, ô màu xanh theo ảnh dưới).
Bạn cần đăng nhập để thấy hình ảnh

Như vậy là ta đã có ô nhập liệu, và nút bấm.
Bạn click vào đối tượng nút bấm, thao tác theo như dưới đây để đổi tên nút bấm. Tại ô Caption, bạn nhập vào là RUN.
Bạn cần đăng nhập để thấy hình ảnh

Bạn double click vào nút bấm đó và sử dụng code sau:
Chức năng của nút bấm này là lấy tên trên ô textbox và điền vào cột A trên sheet1 file excel.
Mã:
Private Sub CommandButton1_Click()
    Call nhapdulieu 'thủ tục này chúng ta sẽ viết sau trên Module
    
End Sub
Làm tương tự như thế với nút bấm còn lại, đặt tên là Close. Chức năng của nó là đóng UserForm lại. Vì thế code cho nó sẽ là:
Mã:
Private Sub CommandButton2_Click()
    Unload UserForm1
End Sub
Các bạn thêm Module để viết thủ tục nhapdulieu:
Bạn cần đăng nhập để thấy hình ảnh

Trên Module1, các bạn viết thủ tục như sau:
Mã:
Sub nhapdulieu()
    Dim ten_temp As String
    Dim rend     As Integer
    ten_temp = UserForm1.TextBox1.Text
    rend = ThisWorkbook.Sheets(1).Cells(Rows.Count, 1).End(xlUp)
    rend = rend + 1
    ThisWorkbook.Sheets(1).Cells(rend, 1).Value = ten_temp
End Sub
Với code cho nút bấm trên sheet, chúng ta click vào sheet để viết code như sau:
Bạn cần đăng nhập để thấy hình ảnh

Mã:
Private Sub CommandButton1_Click()
    UserForm1.Show (Modal) 'Hoặc là:  UserForm1.Show, xem thêm video để hiểu sự khác biệt nhé
End Sub
Chúng ta cùng xem video sau:
Bạn cần đăng nhập để thấy đa phương tiện
 
Top