Thêm hàng tự động khi thêm tài khoản

Liên hệ QC

nguyenthanhdinh

Thành viên mới
Tham gia
28/12/07
Bài viết
6
Được thích
1
Kính thưa các anh chị, em trong diễn đàn, Tôi mới học vba nên việc lập trình còn gặp nhiều khó khăn. Tôi đã tạo form nhập Mã tài khoản và tên tài khoản với các chức năng: Thêm, Sửa, Xoá. Hiện tại tôii đang lập trình tính năng thêm tài khoản nhưng chưa biết cách lập trình tự động thêm dòng khi thêm tài khoản ví dụ khi có TK 111 ở ô A1 và tài khoản 333 ở ô A2, tôi muốn thêm Tài khoản 112 thì excel tự thêm và thứ tự tài khoản sẽ là 111, 112, 333.
Kính mong anh chị em giúp đỡ.
Tôi xin trân trọng cảm ơn
 

File đính kèm

......Tôi đã tạo form nhập Mã tài khoản và tên tài khoản với các chức năng: Thêm, Sửa, Xoá. Hiện tại tôii đang lập trình tính năng thêm tài khoản nhưng chưa biết cách lập trình tự động thêm dòng khi thêm tài khoản ví dụ khi có TK 111 ở ô A1 và tài khoản 333 ở ô A2, tôi muốn thêm Tài khoản 112 thì excel tự thêm và thứ tự tài khoản sẽ là 111, 112, 333.
Giải pháp như sau: Sau khi thêm dữ liệu mới ở dòng cuối cùng thì chúng ta Sort lại dữ liệu.
Bạn xem đoạn code mình sửa lại như sau:
PHP:
Private Sub CommandThem_Click()
Dim iRow As Long, mWS As Worksheet, CheckTrung As Long
Set mWS = Worksheets("HTTK")
iRow = mWS.Cells(Rows.Count, 1).End(xlUp).Row + 1
If Trim(TextMaTK) = "" Then
    MsgBox "Ma tai khoan khong duoc de trong", vbCritical + vbOKOnly, "Canh bao"
    Exit Sub
End If
'-------------------------------------------------------------------------------
CheckTrung = Application.WorksheetFunction.CountIf(mWS.[A:A], TextMaTK)
If CheckTrung = 0 Then
    With mWS
        .Cells(iRow, 1).Value = Me.TextMaTK.Text
        .Cells(iRow, 2).Value = Me.TextTenTK.Text
        .Sort.SortFields.Add Key:=Range("A2"), SortOn:=xlSortOnValues, _
                                Order:=xlAscending, DataOption:=xlSortNormal
        With .Sort
            .SetRange Range("A2:B" & iRow)
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With
    
Else
    MsgBox "Trung ma tai khoan", vbCritical + vbOKOnly, "Canh Bao"
End If
TextMaTK = "": TextTenTK = "": TextMaTK.SetFocus
End Sub
 

File đính kèm

Upvote 0
Trước tiên mình rất cảm ơn sự trợ giúp của bạn.
Minh đã chạy thử file của bạn nhưng máy báo lỗi.
Phiền bạn xem lại hộ mình.
Ý tưởng của minh như sau: Mình định dùng vòng lặp For để so sánh Giá trị vừa nhập với tất cả các giá trị đã nhập kết hợp với Lệnh While nhưng vấn đề khó khăn của minh đang gặp phải là mình không tìm dòng mà chưa giá trị gần nhất lớn hơn giá trị vừa nhập. Nếu bạn hiểu ý tưởng của tôi rất mong bạn đi theo ý tưởng của tôi để thực hiện việc này.
Nếu bạn chưa hiểu bạn cho tôi số điện thoại để tôi trao đổi
Nhân đây tôi muốn hỏi bạn nguồn tài liệu VBA.
Tôi trân trọng cảm ơn
 
Upvote 0
Web KT

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

Back
Top Bottom