Trong Excel, để xóa một hàng bất kỳ, chúng ta có phím tắt là sử dụng CTRL + – hoặc chọn hàng, nhấp chuột phải vào hàng đó và xóa nó. Nhưng trong VBA, chúng tôi đã làm điều đó bằng cách viết mã cho nó. Vì vậy, phương pháp xóa một hàng trong VBA trước tiên chúng ta cần xác định hàng nào cần xóa, sau đó mới xóa được. Trong bài viết này, chúng ta sẽ tìm hiểu về các minh họa khác nhau về cách xóa một hàng trong VBA
Trong VBA, hàng Xóa được sử dụng để xóa một tập hợp các hàng hoặc một hàng tùy theo tình huống. Tương tự như bảng tính excel, chúng ta có thể sử dụng macro hoặc VBA để xóa các hàng trong bảng tính excel. Điều này hữu ích khi chúng tôi có nhiều dữ liệu và chúng tôi không thể thực hiện thủ công
Xem các khóa học và video demo của chúng tôi
Định giá, Hadoop, Excel, Ứng dụng dành cho thiết bị di động, Phát triển web và nhiều hơn nữa
Gói phân tích tài chính tất cả trong một[hơn 250 khóa học, hơn 40 dự án]
Giá
Xem khóa học
250+ khóa học trực tuyến. Hơn 40 dự án. Hơn 1000 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập Trọn đời
4. 9 [84.442 xếp hạng]
Cú pháp xóa hàng trong Excel VBA
Cú pháp xóa một hàng trong excel như sau
bảng tính. Hàng[Hàng#]. Xóa bỏ
Ngoài ra còn có các phương pháp khác để xóa hàng bằng cách sử dụng VBA, chẳng hạn như sau
Phạm vi["Ô"]. Toàn bộ hàng. Xóa bỏ
Điều mà câu lệnh trên sẽ làm đó là nó sẽ xóa hàng cho hàng đã cho. Ví dụ, nếu chúng ta viết Range[“A1”]. Toàn bộ hàng. Xóa thì hàng đầu tiên sẽ bị xóa vì ô A1 thuộc hàng đầu tiên
Ngoài ra, chúng ta có thể sử dụng Rows[row_num]. xóa để xóa một hàng
Làm cách nào để xóa hàng trong Excel bằng VBA?
Dưới đây là một số ví dụ về cách xóa một hàng trong excel bằng VBA
Bạn có thể tải xuống Mẫu VBA Delete Row Excel này tại đây –
VBA Xóa hàng – Ví dụ #1
Hãy sử dụng phương pháp đơn giản đầu tiên để xóa hàng. Với mục đích trình diễn, tôi sẽ nhập một giá trị ngẫu nhiên vào ô A1 và B1. Hãy nhìn vào nó dưới đây
Điều tôi muốn xem là nếu tôi sử dụng mã được viết ở trên thì toàn bộ hàng sẽ bị xóa hoặc một ô sẽ bị xóa
Ghi chú. Để sử dụng Excel VBA, chúng ta phải bật tab nhà phát triển từ tab Tệp trong phần tùy chọn
Làm theo các bước dưới đây để xóa hàng trong excel bằng VBA
Bước 1. Chuyển đến Tab của nhà phát triển, nhấp vào Visual Basic để mở VBA Editor
Bước 2. Trong đoạn code khai báo một hàm con để bắt đầu viết code
Mã số
Sub Sample[] End Sub
Bước 3. Bây giờ hãy viết đoạn mã sau để xóa hàng
Mã số
Sub Sample[] Range["A1"].EntireRow.Delete End Sub
Bước 4. Chạy mã này bằng cách nhấn nút F5 hoặc Run và xem đầu ra
Khi chúng tôi chạy mã, chúng tôi có thể thấy rằng các giá trị từ cả ô A1 và B1 đều bị xóa vì toàn bộ hàng đầu tiên đã bị xóa
VBA Xóa hàng – Ví dụ #2
Trước đó trong ví dụ đầu tiên, tôi chỉ xóa một hàng. Nhưng nếu chúng ta phải xóa nhiều hàng thì sao. Đối với mục đích trình diễn, tôi có các dữ liệu sau như hình dưới đây,
Tôi muốn xóa tất cả năm hàng đầu tiên. Làm theo các bước dưới đây để xóa hàng trong excel bằng VBA
Bước 1. Trong tab của nhà phát triển, nhấp vào Visual Basic để mở VBA Editor
Bước 2. Trong mã khai báo một hàm con để bắt đầu viết mã,
Mã số
Sub Sample1[] End Sub
Bước 3. Viết đoạn mã sau được hiển thị bên dưới để xóa toàn bộ năm hàng
Mã số
Sub Sample1[] Range["A1:B5"].EntireRow.Delete End Sub
Bước 4. Chạy mã này bằng cách nhấn nút F5 hoặc Run và xem đầu ra
Khi chúng tôi chạy mã, chúng tôi thấy kết quả sau, Toàn bộ dữ liệu đã bị xóa có nghĩa là năm hàng đầu tiên đã bị xóa vì chúng tôi có dữ liệu trong năm hàng đầu tiên
Ghi chú. Mình sẽ Insert lại dữ liệu trong sheet excel mẫu để minh họa
VBA Xóa hàng – Ví dụ #3
Bây giờ chúng tôi có dữ liệu cho nhân viên và doanh số bán hàng của họ được thực hiện trong ba tháng, tháng 1, tháng 2 và tháng 3. Một trong những nhân viên đã nghỉ phép và không thể bán hàng trong ba tháng nên các ô trống cho anh ta. Mục tiêu của chúng tôi là tìm hàng trống đó và xóa nó khỏi dữ liệu
Hãy nhìn vào dữ liệu dưới đây,
Làm theo các bước dưới đây để xóa hàng trong excel bằng VBA
Bước 1. Từ Tab của nhà phát triển, nhấp vào Visual Basic để mở trình chỉnh sửa cơ bản trực quan
Bước 2. Khai báo hàm con trong cửa sổ mã để bắt đầu viết mã,
Mã số
Sub Sample2[] End Sub
Bước 3. Viết đoạn mã sau để xóa các hàng có ô trống
Mã số
Sub Sample2[] Range["A1:D5"].SpecialCells[xlCellTypeBlanks].EntireRow.Delete End Sub
SpecialCells là một hàm trong VBA trả về cho chúng tôi tất cả các ô khớp với điều kiện của chúng tôi và điều kiện của chúng tôi là các ô trống trong phạm vi đó, vì vậy chúng tôi đã sử dụng hàm xlCellTypeBlanks
Bước 4. Chạy mã này bằng cách nhấn nút F5 hoặc Run và xem đầu ra
Khi chúng tôi chạy mã, chúng tôi có thể thấy rằng hàng có các ô trống đã bị xóa
Ghi chú. Mình sẽ Insert lại dữ liệu trong sheet excel mẫu để minh họa
VBA Xóa hàng – Ví dụ #4
Có một số phương pháp tương tự khác để xóa các hàng như sử dụng các hàng và chức năng xóa. Ví dụ: chúng tôi có dữ liệu ở hàng 4 và tôi muốn xóa hàng 4. Chúng ta có thể ra lệnh để excel xóa hàng thứ 4 trong dữ liệu. Hãy xem ảnh chụp màn hình bên dưới. Tôi có một dữ liệu ngẫu nhiên ở hàng 4 trong ô đầu tiên
Làm theo các bước dưới đây để xóa hàng trong excel bằng VBA
Bước 1. Mở VBA Editor bằng cách nhấp vào Visual Basic từ Tab của Nhà phát triển,
Bước 2. Khai báo hàm con để bắt đầu viết mã
Mã số
Sub Sample3[] End Sub
Bước 3. Viết đoạn mã sau để xóa hàng thứ 4.
Mã số
Sub Sample3[] Rows[4].Delete End Sub
Bước 4. Chạy mã này bằng cách nhấn nút F5 hoặc Run và xem đầu ra
Dữ liệu đã bị xóa vì hàng thứ 4 đã bị xóa
VBA Xóa hàng – Ví dụ #5
Trong đoạn mã trên, chúng tôi đã cung cấp phạm vi hoặc hàng để xóa trong chính mã đó. Bây giờ chúng ta hãy lấy đầu vào từ người dùng và anh ta có thể xóa hàng khỏi một dữ liệu nhất định. Ví dụ mình có dữ liệu về nhân viên và doanh số đã làm như bên dưới và muốn người dùng chọn dãy từ bao nhiêu dữ liệu người dùng muốn xóa các hàng có ô trống. Có một cái nhìn vào các dữ liệu dưới đây,
Làm theo các bước dưới đây để xóa hàng trong excel bằng VBA
Bước 1. Mở VBA Editor bằng cách nhấp vào Visual Basic từ tab nhà phát triển,
Bước 2. Khai báo một hàm con để bắt đầu viết mã
Mã số
________số 8Bước 2. Khai báo hai biến là phạm vi, A và B
Mã số
Sub Sample4[] Dim A As Range Dim B As Range End Sub
Bước 3. Để lấy đầu vào từ người dùng để lựa chọn phạm vi cần xóa, chúng tôi sẽ sử dụng chức năng hộp đầu vào và chúng tôi sẽ lưu đầu vào đó vào một biến được xác định ở trên
Mã số
Sub Sample[] Range["A1"].EntireRow.Delete End Sub0
Bước 4. Đặt B = A để đầu vào từ người dùng có thể được lưu trữ trong phạm vi B
Mã số
Sub Sample[] Range["A1"].EntireRow.Delete End Sub1
Bước 5. Bây giờ chúng tôi sẽ xóa dữ liệu có các ô trống khỏi phạm vi do người dùng chọn
Mã số
Sub Sample[] Range["A1"].EntireRow.Delete End Sub2
Bước 6. Bây giờ hãy chạy mã từ nút chạy được cung cấp
Bước 6. Một hộp đầu vào xuất hiện
Bước 7. Chọn phạm vi từ A1. D8 trong ví dụ này. Nhấn OK để xem kết quả
Dữ liệu có các ô trống đã bị xóa
Những điều cần ghi nhớ
Có một số điều chúng ta cần nhớ về Xóa hàng trong Excel VBA
- Chúng tôi có thể xóa hàng dựa trên một ô
- Chúng tôi có thể xóa nhiều hàng bằng cách đưa ra một phạm vi ô
- Chúng tôi cũng có thể xóa các hàng bằng cách lấy đầu vào từ người dùng
Bài viết được đề xuất
Đây là hướng dẫn VBA Delete Row. Ở đây chúng tôi đã thảo luận về cách Xóa hàng trong Excel VBA cùng với các ví dụ thực tế và mẫu excel có thể tải xuống. Bạn cũng có thể xem qua các bài viết được đề xuất khác của chúng tôi –