Xóa, chèn dòng tự động giữa hai sheet

Leave a Comment



Giả sử có bài toán như sau: Trong Sheet 1 có một vùng dữ liệu, Sheet 2 cũng có một vùng dữ liệu tương ứng. Yêu cầu bài toán là khi xóa một dòng bất kỳ ở Sheet 1 thì Sheet2 tự động xóa dòng tại vị trí đó. Tương tự với việc chèn dòng, khi Sheet 1 chèn một dòng bất kỳ thì Sheet 2 cũng sẽ chèn một dòng tương ứng với vị trí dòng dòng ở Sheet 1.
Giả sử có một vùng dữ liệu ở sheet 1 như sau:
Tương tự với Sheet2 ta cũng có vùng dữ liệu tương ứng.
Để giải quyết bài toán trên, các bạn làm theo các bước sau:
Bước 1: Copy code dưới đây vào module (vào môi trường lập trình (ALT+F11) chọn Insert-> Module để tạo mới Module và pate code dưới đây vào trong Module)

Option Explicit
Sub XoaChenDong()
    Dim lRow As Long
    Dim IQuestion As String
    IQuestion = MsgBox("Ban muon INSERT hay DELETE dong, Yes/No (Insert/delete).", vbYesNoCancel, "Thông báo")
    Sheets("Sheet1").Select
    'Luu vi tri dong can xoa vao bien lRow
    lRow = ActiveCell.Row
    Rows(lRow & ":" & lRow).Select
    IQuestion = UCase(IQuestion)
    If IQuestion = vbYes Then
        Selection.insert
        Sheets("Sheet2").Select
        Rows(lRow & ":" & lRow).Select
        Selection.insert
        GoTo exitsub
    ElseIf IQuestion = vbNo Then
        Selection.delete
        Sheets("Sheet2").Select
        Rows(lRow & ":" & lRow).Select
        Selection.delete
        GoTo exitsub
    Else
        GoTo exitsub
    End If
exitsub:
    Sheets("Sheet1").Select
End Sub

 

Xem đầy đủ thông tin bài viết tại đây:

0 nhận xét:

Đăng nhận xét

Được tạo bởi Blogger.