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.
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
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
Ủa? Sao lại làm không được ta?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 ạ.
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
Ủ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:
Đại khái thế! Tự mò cho nhớ lâu bạn à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
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ảXin chào ndu96081631
cảm ơn bạn nhiều hehehe
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 ạ
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 ạ.
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 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 ạ.
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
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
copy code này vào Form xem thế nào nhé bạn, vừa xong, chưa kiểm tra nhiều đượcMã: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
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.
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ôngMã: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
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
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 1
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 2