Hỏi thêm về form ?

Liên hệ QC

Hoàng Nhật Phương

Thành viên gắn bó
Tham gia
5/11/15
Bài viết
1,894
Được thích
1,213
Xin chào tất cả các bạn,
Tôi đang vướng mắc một vấn đề, cụ thể xin phép được nêu rõ hơn trong tập tin gửi kèm.

Rất mong nhận được sự giúp đỡ của các bạn.
 

File đính kèm

  • logIn.xlsm
    24.2 KB · Đọc: 34
Xin chào tất cả các bạn,
Tôi đang vướng mắc một vấn đề, cụ thể xin phép được nêu rõ hơn trong tập tin gửi kèm.

Rất mong nhận được sự giúp đỡ của các bạn.
PHP:
Dim pw()

'----------
Private Sub CommandButton1_Click()
Dim mk As String, uName As String, i As Long, chk As Boolean
mk = Me.TextBox2.Value
uName = Me.ComboBox1.Value
pw = Sheet1.Range("B4:C13").Value
For i = 1 To UBound(pw, 1)
    If uName = pw(i, 1) Then
        If mk = pw(i, 2) Then
            Sheet1.Range("F2").Value = mk
            chk = True
            Exit For
        End If
    End If
Next i
If chk = False Then Sheet1.Range("F2").Value = "Not found!"
End Sub
'-------------
Private Sub UserForm_Initialize()
Dim users()
users = Sheet1.Range("B4:B13").Value
With Me.ComboBox1
        .List = users
        .ListIndex = 0
        .SetFocus
End With
End Sub
 
Upvote 0
PHP:
Dim pw()

'----------
Private Sub CommandButton1_Click()
Dim mk As String, uName As String, i As Long, chk As Boolean
mk = Me.TextBox2.Value
uName = Me.ComboBox1.Value
pw = Sheet1.Range("B4:C13").Value
For i = 1 To UBound(pw, 1)
    If uName = pw(i, 1) Then
        If mk = pw(i, 2) Then
            Sheet1.Range("F2").Value = mk
            chk = True
            Exit For
        End If
    End If
Next i
If chk = False Then Sheet1.Range("F2").Value = "Not found!"
End Sub
'-------------
Private Sub UserForm_Initialize()
Dim users()
users = Sheet1.Range("B4:B13").Value
With Me.ComboBox1
        .List = users
        .ListIndex = 0
        .SetFocus
End With
End Sub

Xin cảm ơn befaint rất nhiều,
Nhờ code của bạn mà tôi đã giải quyết được vấn đề.
 
Upvote 0
Xin chào các bạn,

Tôi đang vướng một trường hợp sau, rất mong các bạn giúp đỡ a.
Khi mở Form lên, nếu:

1.Tên đăng nhập (ComboBox1) chưa có dữ liệu thì: hiện dòng chữ mờ "chọn Tên đăng nhập trong list", khi chọn tên đăng nhập thì hiện dòng chữ Xanh
2.Mật khẩu (TextBox2) chưa có dữ liệu thì: hiện dòng chữ mờ "nhập passWord", khi chọn tên đăng nhập thì hiện dòng chữ Xanh.

Tập tinh đính kèm ở bài 1 ạ.
 
Upvote 0
Xin chào các bạn,

Tôi đang vướng một trường hợp sau, rất mong các bạn giúp đỡ a.
Khi mở Form lên, nếu:

1.Tên đăng nhập (ComboBox1) chưa có dữ liệu thì: hiện dòng chữ mờ "chọn Tên đăng nhập trong list", khi chọn tên đăng nhập thì hiện dòng chữ Xanh
2.Mật khẩu (TextBox2) chưa có dữ liệu thì: hiện dòng chữ mờ "nhập passWord", khi chọn tên đăng nhập thì hiện dòng chữ Xanh.

Tập tinh đính kèm ở bài 1 ạ.
Ủa? Sao lại làm không được ta?
Muốn màu sắc hay nội dung chuỗi thế nào, cứ đưa vào các sự kiện thôi:
Mã:
Private Sub ComboBox1_Change()
  Me.ComboBox1.ForeColor = Màu xanh
End Sub

Private Sub UserForm_Initialize()
  Me.ComboBox1.Value = "Chon ten dang nhap trong list"
  Me.TextBox1.Value = "Nhap password"
  Me.ComboBox1.ForeColor = Màu xám
  Me.TextBox1.ForeColor = Màu xám
End Sub
Đại khái thế! Tự mò cho nhớ lâu bạn à
 
Upvote 0
Ủa? Sao lại làm không được ta?
Muốn màu sắc hay nội dung chuỗi thế nào, cứ đưa vào các sự kiện thôi:
Mã:
Private Sub ComboBox1_Change()
  Me.ComboBox1.ForeColor = Màu xanh
End Sub

Private Sub UserForm_Initialize()
  Me.ComboBox1.Value = "Chon ten dang nhap trong list"
  Me.TextBox1.Value = "Nhap password"
  Me.ComboBox1.ForeColor = Màu xám
  Me.TextBox1.ForeColor = Màu xám
End Sub
Đại khái thế! Tự mò cho nhớ lâu bạn à

Xin chào ndu96081631
cảm ơn bạn nhiều hehehe :D
Theo gợi ý của bạn tôi làm được rồi chỉ cần khai báo thêm:
Private Const MauXanh = Mã màu, MauXam = mã màu là OK luôn ạ.

, mỗi cái là màu nó không được ưng ý.
Bạn chỉ cho tôi cách lấy mã các màu trong code với ạ :)
 
Upvote 0
Xin chào ndu96081631
cảm ơn bạn nhiều hehehe :D
Theo gợi ý của bạn tôi làm được rồi chỉ cần khai báo thêm:
Private Const MauXanh = Mã màu, MauXam = mã màu là OK luôn ạ.

, mỗi cái là màu nó không được ưng ý.
Bạn chỉ cho tôi cách lấy mã các màu trong code với ạ :)
Thích màu nào cứ tô đại nó xuống cell đi (chẳng hạn là cell A1). Đến khi thấy vừa ý, muốn lấy mã màu, gõ vào cửa số Immediate dòng code: ?Hex(Range("A1").Interior.Color) rồi Enter phát nó sẽ ra kết quả
Chẳng hạn tôi ra được 66D9FF
Giờ ráp vào code:
Me.ComboBox1.ForeColor = &H66D9FF
Xong!
 
Upvote 0
Xin chào tất cả các bạn,
Các bạn giúp đỡ tôi trường hợp form đổi mật khẩu theo tập tin gửi kèm với ạ.
 

File đính kèm

  • Form.xlsm
    29.4 KB · Đọc: 28
Upvote 0
Xin chào tất cả các bạn,
Các bạn giúp đỡ tôi trường hợp form đổi mật khẩu theo tập tin gửi kèm với ạ.
PHP:
Dim pw()

'-------------
Private Sub CommandButton2_Click()
End
End Sub

'-------------
Private Sub UserForm_Initialize()
Dim users()
users = Sheet1.Range("B4:B13").Value
With Me.ComboBox1
        .List = users
        .ListIndex = 0
        .SetFocus
End With
End Sub

'-------------
Private Sub CommandButton1_Click()
Dim mkcu As String, uName As String, i As Long, chk As Boolean
Dim mkmoi1 As String, mkmoi2 As String, reMK As Long
If TextBox2.Value = "" Then MsgBox "nhap mat khau cu": TextBox2.SetFocus: Exit Sub
If TextBox3.Value = "" Then MsgBox "nhap mat khau moi": TextBox3.SetFocus: Exit Sub
If TextBox4.Value = "" Then MsgBox "nhap lai mat khau moi": TextBox4.SetFocus: Exit Sub
uName = Me.ComboBox1.Value
mkcu = Me.TextBox2.Value
mkmoi1 = Me.TextBox3.Value
mkmoi2 = Me.TextBox4.Value
pw = Sheet1.Range("B4:C13").Value
chk = False
For i = 1 To UBound(pw, 1)
    If uName = pw(i, 1) Then
        If mkcu = pw(i, 2) Then
            chk = True
            reMK = i
            Exit For
        End If
    End If
Next i
If chk = False Then MsgBox "sai nhap mat khau cu": TextBox2.Value = "": TextBox2.SetFocus: Exit Sub
If mkmoi1 = mkmoi2 Then
    Sheet1.Range("C4").Offset(reMK - 1, 0) = mkmoi1
    MsgBox "Thanh cong!"
Else
    MsgBox "nhap mat khau moi khong dung.": TextBox4.Value = "": TextBox4.SetFocus: Exit Sub
End If
End Sub
 
Upvote 0
Xin chào tất cả các bạn,
Các bạn giúp đỡ tôi trường hợp form đổi mật khẩu theo tập tin gửi kèm với ạ.
Mã:
Private Sub CommandButton1_Click()
If Len(TextBox2) = 0 Then
    MsgBox "Nhap mat khau cu", vbOKOnly, "Thông báo"
ElseIf Len(TextBox3) = 0 Then
    MsgBox "Nhap mat khau moi", vbOKOnly, "Thông báo"
ElseIf Len(TextBox4) = 0 Then
    MsgBox "Nhap lai mat khau moi", vbOKOnly, "Thông báo"
ElseIf TextBox2.Value <> Me.ComboBox1.List(Me.ComboBox1.ListIndex, 1) Then
    MsgBox "Mat khau cu sai, vui long kiem tra lai", vbOKOnly, "Thông báo"
ElseIf TextBox3.Value <> TextBox4.Value Then
    MsgBox "Mat khau moi khong giong nhau, vui long kiem tra lai", vbOKOnly, "Thông báo"
    Else
    Me.ComboBox1.List(Me.ComboBox1.ListIndex, 1) = TextBox3.Value
End If
End Sub
Private Sub UserForm_Initialize()
    ComboBox1.List = Sheet1.Range("B4:C13").Value
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    With Me.ComboBox1
        ReDim Arr(1 To .ListCount, 1 To 2)
        For i = 0 To .ListCount - 1
            Arr(i + 1, 1) = .List(i, 0)
            Arr(i + 1, 2) = .List(i, 1)
        Next i
    End With
    Sheet1.Cells(4, 2).Resize(UBound(Arr, 1), UBound(Arr, 2)) = Arr
End Sub
copy code này vào Form xem thế nào nhé bạn, vừa xong, chưa kiểm tra nhiều được
 
Upvote 0
PHP:
Dim pw()

'-------------
Private Sub CommandButton2_Click()
End
End Sub

'-------------
Private Sub UserForm_Initialize()
Dim users()
users = Sheet1.Range("B4:B13").Value
With Me.ComboBox1
        .List = users
        .ListIndex = 0
        .SetFocus
End With
End Sub

'-------------
Private Sub CommandButton1_Click()
Dim mkcu As String, uName As String, i As Long, chk As Boolean
Dim mkmoi1 As String, mkmoi2 As String, reMK As Long
If TextBox2.Value = "" Then MsgBox "nhap mat khau cu": TextBox2.SetFocus: Exit Sub
If TextBox3.Value = "" Then MsgBox "nhap mat khau moi": TextBox3.SetFocus: Exit Sub
If TextBox4.Value = "" Then MsgBox "nhap lai mat khau moi": TextBox4.SetFocus: Exit Sub
uName = Me.ComboBox1.Value
mkcu = Me.TextBox2.Value
mkmoi1 = Me.TextBox3.Value
mkmoi2 = Me.TextBox4.Value
pw = Sheet1.Range("B4:C13").Value
chk = False
For i = 1 To UBound(pw, 1)
    If uName = pw(i, 1) Then
        If mkcu = pw(i, 2) Then
            chk = True
            reMK = i
            Exit For
        End If
    End If
Next i
If chk = False Then MsgBox "sai nhap mat khau cu": TextBox2.Value = "": TextBox2.SetFocus: Exit Sub
If mkmoi1 = mkmoi2 Then
    Sheet1.Range("C4").Offset(reMK - 1, 0) = mkmoi1
    MsgBox "Thanh cong!"
Else
    MsgBox "nhap mat khau moi khong dung.": TextBox4.Value = "": TextBox4.SetFocus: Exit Sub
End If
End Sub

Xin cảm ơn befaint rất nhiều.
Ưng không thể chê vào đâu được nữa ... Yeap!!!
 
Upvote 0
Mã:
Private Sub CommandButton1_Click()
If Len(TextBox2) = 0 Then
    MsgBox "Nhap mat khau cu", vbOKOnly, "Thông báo"
ElseIf Len(TextBox3) = 0 Then
    MsgBox "Nhap mat khau moi", vbOKOnly, "Thông báo"
ElseIf Len(TextBox4) = 0 Then
    MsgBox "Nhap lai mat khau moi", vbOKOnly, "Thông báo"
ElseIf TextBox2.Value <> Me.ComboBox1.List(Me.ComboBox1.ListIndex, 1) Then
    MsgBox "Mat khau cu sai, vui long kiem tra lai", vbOKOnly, "Thông báo"
ElseIf TextBox3.Value <> TextBox4.Value Then
    MsgBox "Mat khau moi khong giong nhau, vui long kiem tra lai", vbOKOnly, "Thông báo"
    Else
    Me.ComboBox1.List(Me.ComboBox1.ListIndex, 1) = TextBox3.Value
End If
End Sub
Private Sub UserForm_Initialize()
    ComboBox1.List = Sheet1.Range("B4:C13").Value
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    With Me.ComboBox1
        ReDim Arr(1 To .ListCount, 1 To 2)
        For i = 0 To .ListCount - 1
            Arr(i + 1, 1) = .List(i, 0)
            Arr(i + 1, 2) = .List(i, 1)
        Next i
    End With
    Sheet1.Cells(4, 2).Resize(UBound(Arr, 1), UBound(Arr, 2)) = Arr
End Sub
copy code này vào Form xem thế nào nhé bạn, vừa xong, chưa kiểm tra nhiều được

Xin chào Mutants Men,
Cảm ơn bạn rất nhiều, tôi đã thử code trên của bạn kết quả cũng rất đúng với mong muốn của tôi ạ.
Có 1 vấn đề là khi đổi pass thành công thì không có thông báo mà mật khẩu không hiển thị ngay mà phải tắt form đi ạ.
Nhờ bạn xem giúp.
 
Upvote 0
Xin chào Mutants Men,
Cảm ơn bạn rất nhiều, tôi đã thử code trên của bạn kết quả cũng rất đúng với mong muốn của tôi ạ.
Có 1 vấn đề là khi đổi pass thành công thì không có thông báo mà mật khẩu không hiển thị ngay mà phải tắt form đi ạ.
Nhờ bạn xem giúp.
Mã:
Private Sub CommandButton1_Click()
If Len(TextBox2) = 0 Then
    MsgBox "Nhap mat khau cu", vbOKOnly, "Thông báo"
ElseIf Len(TextBox3) = 0 Then
    MsgBox "Nhap mat khau moi", vbOKOnly, "Thông báo"
ElseIf Len(TextBox4) = 0 Then
    MsgBox "Nhap lai mat khau moi", vbOKOnly, "Thông báo"
Else
    If TextBox2.Value <> Me.ComboBox1.List(Me.ComboBox1.ListIndex, 1) Then
        MsgBox "Thay doi mat khau that bai, vui long thu lai", vbOKOnly, "Thông báo"
    ElseIf TextBox3.Value <> TextBox4.Value Then
        MsgBox "Thay doi mat khau that bai, vui long thu lai", vbOKOnly, "Thông báo"
    Else
        Me.ComboBox1.List(Me.ComboBox1.ListIndex, 1) = TextBox3.Value
        MsgBox "Thay doi mat khau thanh cong", vbOKOnly, "Thông báo"
    End If
End If
End Sub

Private Sub CommandButton2_Click()
End
End Sub

Private Sub UserForm_Initialize()
    ComboBox1.List = Sheet1.Range("B4:C13").Value
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    With Me.ComboBox1
        ReDim Arr(1 To .ListCount, 1 To 2)
        For i = 0 To .ListCount - 1
            Arr(i + 1, 1) = .List(i, 0)
            Arr(i + 1, 2) = .List(i, 1)
        Next i
    End With
    Sheet1.Cells(4, 2).Resize(UBound(Arr, 1), UBound(Arr, 2)) = Arr
End Sub
đã bổ xung thông báo khi thành công
mật khẩu cập nhật trước hay sau đâu có khác gì đâu bạn.
dù gì thực tế cũng đâu có thấy được nó thay đổi đâu
 
Upvote 0
Mã:
Private Sub CommandButton1_Click()
If Len(TextBox2) = 0 Then
    MsgBox "Nhap mat khau cu", vbOKOnly, "Thông báo"
ElseIf Len(TextBox3) = 0 Then
    MsgBox "Nhap mat khau moi", vbOKOnly, "Thông báo"
ElseIf Len(TextBox4) = 0 Then
    MsgBox "Nhap lai mat khau moi", vbOKOnly, "Thông báo"
Else
    If TextBox2.Value <> Me.ComboBox1.List(Me.ComboBox1.ListIndex, 1) Then
        MsgBox "Thay doi mat khau that bai, vui long thu lai", vbOKOnly, "Thông báo"
    ElseIf TextBox3.Value <> TextBox4.Value Then
        MsgBox "Thay doi mat khau that bai, vui long thu lai", vbOKOnly, "Thông báo"
    Else
        Me.ComboBox1.List(Me.ComboBox1.ListIndex, 1) = TextBox3.Value
        MsgBox "Thay doi mat khau thanh cong", vbOKOnly, "Thông báo"
    End If
End If
End Sub

Private Sub CommandButton2_Click()
End
End Sub

Private Sub UserForm_Initialize()
    ComboBox1.List = Sheet1.Range("B4:C13").Value
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    With Me.ComboBox1
        ReDim Arr(1 To .ListCount, 1 To 2)
        For i = 0 To .ListCount - 1
            Arr(i + 1, 1) = .List(i, 0)
            Arr(i + 1, 2) = .List(i, 1)
        Next i
    End With
    Sheet1.Cells(4, 2).Resize(UBound(Arr, 1), UBound(Arr, 2)) = Arr
End Sub
đã bổ xung thông báo khi thành công
mật khẩu cập nhật trước hay sau đâu có khác gì đâu bạn.
dù gì thực tế cũng đâu có thấy được nó thay đổi đâu

Hi,Xin cảm ơn Mutants Men rất nhiều, trong thực tế đúng là thế này ạ "dù gì thực tế cũng đâu có thấy được nó thay đổi đâu".
 
Upvote 0
Web KT
Back
Top Bottom