Private Sub Worksheet_Change(ByVal Target As Range)
Dim tk_, dong1, dong2, dongcuoi
If Target.Address = "$D$2" Then
Sheets("TraCuu").Range("A7:E14").ClearContents
tk_ = Target.Value
dong2 = 7
dongcuoi = Sheets("Dulieu").Range("D5").End(xlDown).Row
If dongcuoi > 5 Then
For dong1 = 6 To dongcuoi
If Sheets("Dulieu").Range("D" & dong1).Value = tk_ Then
Sheets("TraCuu").Range("A" & dong2 & ":E" & dong2).Value = _
Sheets("Dulieu").Range("A" & dong1 & ":E" & dong1).Value
dong2 = dong2 + 1
End If
Next
End If
End If
End Sub
Bạn mới bắt đầu VBA mà muốn làm như file chưa được đâu. Phải ABC đã. Tôi có thể làm cho bạn nhưng vấn đề là bạn phải hiểu thì mới phát huy.hong_tt đã viết:Vì em mới bắt đầu tìm hiểu về VBA nên chưa được hiểu lắm
Anh có thể làm giúp em theo File EM gửi được không?
Một lần nữa xin cảm ơn
ws.Cells(iRow, 4).Value = Me.TextBox4.Value
For i = 2 To iRow - 1
If ws.Cells(i, 4) = Me.TextBox4.Value Then
MsgBox "Tai khoan nay da ton tai!"
Exit Sub
End If
Next i
ws.Cells(iRow, 1).Value = Me.TextBox1.Value
ws.Cells(iRow, 2).Value = Me.TextBox2.Value
ws.Cells(iRow, 3).Value = Me.TextBox3.Value
ws.Cells(iRow, 5).Value = Me.TextBox5.Value
Theo tôi luôn có Sheest DMKH, khi chọn KH hay Acc thì dùng validation trong phần tra cứu. Còn trong form NL nên có phần Combo Box tại AccID =>Tên KHhong_tt đã viết:2 - ANh cho em hỏi, Sheest DMKH có ý nghĩa gì? vì nếu em xoá Sheest này đi thì không thấy lỗi gì cả, chương trình vẫn chạy bình thường.
EM GỬI LÀI FILE ANH XEM VÀ GIÚP EM
Thì làm 1 form nếu đủ trường thì mới cho nhập vào dulieu được không. Còn tạo nút sửa thì nhiêu khê lắm, qua sheet DuLieu sửa thẳng luôn. Chờ Lam_A0 làm cho.hong_tt đã viết:ANh chỉ giúp thêm:
2 - Tạo một nút SỬA, vì có thể có bản ghi đang thiếu dữ kiện, VD trường CR_amount có thể có người chưa có tiền
If txtTTN = "" Or txtTD = "" Or txtName = "" Or txtAcc = "" Or txtRC = "" Then
MsgBox "Xin vui long nhap day du thong tin !", 48, "Msg"
Exit Sub
End If
Cái này hơi khó hiểu, vậy thực sự thì sheet Tracuu có cần thiết không vậy? Nếu không thì bạn có thể lập một UserForm khác cho nút Tracuu trên sheet Main, khi nhập tài khoản vào đó thì nó hiện lên các thông tin đã có, nếu thông tin nào thiếu thì bạn bổ sung.hong_tt đã viết:CHo mình hỏi, từ File của mình đã gửi trước đó, giả sử tại Sheet Tracuu, khi mình gõ TK cần tra cứu, thì nó hiện ra TT cần tra cứu, nhưng bây giờ mình muốn là khi tìm thấy rồi nếu bản ghi đó còn thiếu dữ kiện thì mình bổ sung, sau khi bổ sung xong thì bản ghi tự động chuyển sang Sheet Baocao để làm báo cáo, tất nhien là phải tính tổng luôn.
Anh cho em hỏi em muốn thiết kế thêm phần "sữa" thì mã code ra sao ạ? Em cảm ơn.- Theo tôi, dữ liệu của bạn không phức tạp nên dùng giải pháp nhập trên sheet là tốt nhất. Nếu nhập bằng form bạn phải thiết kế thêm phần "sửa".
- Tra cứu có thể làm như sau: Dùng sự kiện Worksheet_Change để trích dữ liệu từ Dulieu sang. Sau đây là ví dụ tra cứu theo TK
PHP:Private Sub Worksheet_Change(ByVal Target As Range) Dim tk_, dong1, dong2, dongcuoi If Target.Address = "$D$2" Then Sheets("TraCuu").Range("A7:E14").ClearContents tk_ = Target.Value dong2 = 7 dongcuoi = Sheets("Dulieu").Range("D5").End(xlDown).Row If dongcuoi > 5 Then For dong1 = 6 To dongcuoi If Sheets("Dulieu").Range("D" & dong1).Value = tk_ Then Sheets("TraCuu").Range("A" & dong2 & ":E" & dong2).Value = _ Sheets("Dulieu").Range("A" & dong1 & ":E" & dong1).Value dong2 = dong2 + 1 End If Next End If End If End Sub