Xóa, Chèn Dòng Tự động Giữa Hai Sheet
Có thể bạn quan tâm
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
Bước 2: Các bạn vào mỗi trường bảng tính, Insert một nút bấm để gán macro. Vào menu Developer -> Insert -> Button.

Sau đó các bạn đặt chuột vào một vị trí, kéo mộ vùng vừa đủ cho nút bấm, rồi gán Macro vừa tạo (XoaChenDong) vào nút bấm.

Bước 3: Sau khi hoàn thành việc gán Macro, các bạn đặt chuột vào 1 ví trí thuộc dòng bất kỳ cần chèn thêm dòng ở (mình đặt vào ô A6) tại dòng có mã hàng là HH003. Sau đó các bạn click vào nút Run -> khi đó sẽ hiển thị thông báo: "Bạn muon INSERT/DELETE dòng (I/D)". Các bạn gõ "I" (không phân biệt chữ viết hoa hay viết thường), sau đó chọn vào OK để nhận kết quả.

Sau khi click vào OK, trước dòng thứ 6 chứa mã hàng mã hàng HH003 sẽ chèn thêm một dòng.

Tương tự trước dòng thứ 6 chứa mã hàng HH004 ở sheet 2 cũng được chèn thêm một dòng ( do bảng dữ liệu ở sheet1 bắt đầu từ dòng 4, ở sheet2 bắt đầu từ dòng 3 nên khi chèn/xóa sẽ bị lệch 1 dòng).

Bước 4: Tương tự với bước 3, để xóa một dòng bất kỳ, ta cũng đặt chuột vào dòng đó, sao đó click chuột trái vào nút Run, để xóa dòng, tại hộp thoại thông báo, các bạn gõ chữ "D" sau đó click vào OK để nhận kết quả.

Sau khi click vào OK, tại sheet 1 sẽ xóa đi dòng thứ 8, dòng chứa mã hàng HH004.

Tương tự ở Sheet2, dòng sẽ bị xóa đi là dòng thứ 8, dòng chứa mã hàng HH004.

Các bạn vào đây download file ví dụ: Download
Từ khóa » Xóa Sheet Trong Vba
-
Đối Tượng Worksheet Trong Excel VBA - VietTuts
-
How To Delete A SHEET Using A VBA Code (Macro) - Excel Champs
-
VBA Excel Cấp Tốc Bài 4 - Xóa Tự Động Hàng Loạt Sheets Không ...
-
Code Vba Xóa Sheet Có điều Kiện | Giải Pháp Excel
-
Làm Cách Nào để Xóa Toàn Bộ Trang Tính Hoặc Phạm Vi được Chỉ định ...
-
Top 15 Cách Xóa Sheet Trong Vba
-
Cách Xóa Nhanh 1 Sheet, Nhiều Sheet Trong Excel Cực đơn Giản, Chi Tiết
-
Mẹo Xóa Cùng Lúc Nhiều Sheet Excel Một Cách Dễ Dàng
-
Hướng Dẫn Xóa Dữ Liệu Excel Trong Bảng Danh Sách Bằng Lệnh VBA
-
Hướng Dẫn Nhập Code VBA Macro Xóa Nhiều Sheet Trong Excel
-
VBA Excel Cấp Tốc Bài 4 Xóa Tự Động Hàng Loạt Sheets Không ...
-
Đối Tượng Worksheet Trong Excel VBA - Học Excel Online Miễn Phí
-
Hướng Dẫn Cách Xóa Nội Dung Bất Kỳ Trong Bảng Danh Sách Trong ...
-
Code VBA Công Cụ Xóa - Sắp Xếp - Ẩn Sheet Siêu Tiện ích Trong Excel