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