nhờ các anh chị viết code thêm dữ liệu vào dòng cuối cùng của sheet khác

Liên hệ QC

acmen87

Thành viên chính thức
Tham gia
7/5/09
Bài viết
70
Được thích
6
Em đang lập file excel như sau: sheet CHENH LECH là để thực hiện các thao tác, sheet CHUYEN KHOAN và TIEN MAT là các sheet lưu trữ dữ liệu.
Xin phép nhờ mọi người viết giúp em code để thêm mới mã đơn vị và tên đơn vị từ sheet CHENH LECH sang 2 sheet lưu trữ dữ liệu với điều kiện như sau:
+ Dữ liệu tại ô I9 và I10 sẽ được cập nhật sang 2 sheet CHUYEN KHOAN và TIEN MAT với điều kiện như sau:
- Nếu ô I8 là CHUYEN KHOAN thì dữ liệu I9 và I10 được thêm sang sheet CHUYEN KHOAN, nếu là TIEN MAT thì thêm sang sheet TIEN MAT
- Tại mỗi sheet dữ liệu là CHUYEN KHOAN hoặc TIEN MAT, sẽ kiểm tra theo mã ĐVQHNS tại ô I9 với các dữ liệu hiện có tại cột B của sheet (bắt đầu từ B7 trở đi), nếu đã có mã đó, thông báo lỗi "Mã ĐVQHNS" đã tồn tại, nếu chưa có thêm dữ liệu vào dòng cuối cùng chưa có dữ liệu trong 2 cột B và C trong đó: I9 là cột B, I10 là cột C

Em cảm ơn ạ
 

File đính kèm

  • Theo doi bien dong luong - Copy.xls
    92.5 KB · Đọc: 12
Mình cảm ơn bạn đã giúp nhé, nhưng hiện tại code thêm mã đơn vị này đang lỗi bạn ạ. Mình chỉ thêm mới được 2 đơn vị vào mỗi sheet, sang đơn vị thứ 3 nó cứ ghi đè lên đơn vị số 2 mà mình đã thêm bạn ạ. Bạn xem giúp mình nhé. Cảm ơn bạn nhiều
hi vọng không phải sửa nữa.
Mã:
Sub AddNew()
    Dim sArr(), tArr(), I As Long, Tem As String, lR As Long
    sArr = Sheet2.Range("A7", Sheet2.Range("A7").End(xlDown)).Resize(, 16).Value
    tArr = Sheet3.Range("A7", Sheet3.Range("A7").End(xlDown)).Resize(, 15).Value
    With Sheet1
        Tem = .Range("I9") & " - " & .Range("I10")
        If .Range("I8") = "TIEN MAT" Then
            For I = 1 To UBound(tArr, 1)
                If tArr(I, 2) & " - " & tArr(I, 3) = Tem Then
                    MsgBox "Ma DVQHNS da ton tai", vbCritical, "GPE"
                    .Range("I10").Formula = "=IF(I8=""CHUYEN KHOAN"",VLOOKUP(I9,OFFSET('CHUYEN KHOAN'!B7,,,COUNTA('CHUYEN KHOAN'!C7:'CHUYEN KHOAN'!C7:C10000),2),2,0),VLOOKUP('CHENH LECH'!I9,OFFSET('TIEN MAT'!B7,,,COUNTA('TIEN MAT'!C7:'TIEN MAT'!C7:C10000),2),2,0))"
                    Exit Sub
                End If
            Next I
            With Sheet3
                lR = .Range("A" & Rows.Count).End(xlUp).Row
                If lR = 5 Then
                    .Range("A7") = 1: .Range("B7") = Sheet1.Range("I9"): .Range("C7") = Sheet1.Range("I10")
                Else
                    .Range("A" & lR + 1) = .Range("A" & lR) + 1
                    .Range("B" & lR + 1) = Sheet1.Range("I9")
                    .Range("C" & lR + 1) = Sheet1.Range("I10")
                End If
                MsgBox "Da them ma DVQHNS", vbInformation, "GPE"
            End With
           .Range("I10").Formula = "=IF(I8=""CHUYEN KHOAN"",VLOOKUP(I9,OFFSET('CHUYEN KHOAN'!B7,,,COUNTA('CHUYEN KHOAN'!C7:'CHUYEN KHOAN'!C7:C10000),2),2,0),VLOOKUP('CHENH LECH'!I9,OFFSET('TIEN MAT'!B7,,,COUNTA('TIEN MAT'!C7:'TIEN MAT'!C7:C10000),2),2,0))"
        Else
            For I = 1 To UBound(sArr, 1)
                If sArr(I, 2) & " - " & sArr(I, 3) = Tem Then
                    MsgBox "Ma DVQHNS da ton tai", vbCritical, "GPE"
                    .Range("I10").Formula = "=IF(I8=""CHUYEN KHOAN"",VLOOKUP(I9,OFFSET('CHUYEN KHOAN'!B7,,,COUNTA('CHUYEN KHOAN'!C7:'CHUYEN KHOAN'!C7:C10000),2),2,0),VLOOKUP('CHENH LECH'!I9,OFFSET('TIEN MAT'!B7,,,COUNTA('TIEN MAT'!C7:'TIEN MAT'!C7:C10000),2),2,0))"
                    Exit Sub
                End If
            Next I
            With Sheet2
                lR = .Range("A" & Rows.Count).End(xlUp).Row
                If lR = 5 Then
                    .Range("A7") = 1: .Range("B7") = Sheet1.Range("I9"): .Range("C7") = Sheet1.Range("I10")
                Else
                    .Range("A" & lR + 1) = .Range("A" & lR) + 1
                    .Range("B" & lR + 1) = Sheet1.Range("I9")
                    .Range("C" & lR + 1) = Sheet1.Range("I10")
                End If
                MsgBox "Da them ma DVQHNS", vbInformation, "GPE"
            End With
            .Range("I10").Formula = "=IF(I8=""CHUYEN KHOAN"",VLOOKUP(I9,OFFSET('CHUYEN KHOAN'!B7,,,COUNTA('CHUYEN KHOAN'!C7:'CHUYEN KHOAN'!C7:C10000),2),2,0),VLOOKUP('CHENH LECH'!I9,OFFSET('TIEN MAT'!B7,,,COUNTA('TIEN MAT'!C7:'TIEN MAT'!C7:C10000),2),2,0))"
        End If
    End With
End Sub
 
Upvote 0
Web KT
Back
Top Bottom