Excel vba xóa các hàng trong bảng với dữ liệu cụ thể
VBA Xóa hàng khỏi bảng trong Excel. Chúng tôi có thể Xóa hoặc xóa một Hàng hoặc nhiều Hàng khỏi Bảng ở bất kỳ vị trí nào. Các hàng đầu tiên mặc định đã bị xóa khỏi bảng. Trong hướng dẫn này, chúng tôi đã giải thích nhiều ví dụ với lời giải thích. Chúng tôi cũng hiển thị ảnh chụp màn hình đầu ra ví dụ. Chúng tôi đã chỉ định hai ví dụ trong hướng dẫn sau. Bạn có thể thay đổi tên bảng và trang tính theo yêu cầu của bạn. Chúng tôi cũng đã chỉ định hướng dẫn từng bước cách chạy mã macro VBA vào cuối phiên Show
Bảng định dạng Cú pháp xóa hàng khỏi bảng bằng VBA trong ExcelĐây là cú pháp để Xóa hàng khỏi bảng trên trang tính bằng VBA trong Excel ListRows(Number).Delete Trong đó Number chứa kiểu dữ liệu số nguyên. Đó là một đối số bắt buộc. Đại diện cho số Hàng cần xóa Ví dụ để xóa hàng đầu tiên khỏi bảng trên trang tínhChúng ta hãy xem ví dụ để Xóa hàng khỏi bảng trên trang tính. Tên trang tính được xác định là 'Bảng'. Và chúng tôi sử dụng tên bảng là ‘MyTable1‘. Bạn có thể thay đổi hai cái này theo yêu cầu của bạn. Chúng ta Delete phương thức của đối tượng ListObject 'VBA Delete the First Row from the Table Sub VBAF1_Delete_First_Row_from_Table() 'Declare Variables Dim oSheetName As Worksheet Dim sTableName As String Dim loTable As ListObject 'Define Variable sTableName = "MyTable1" 'Define WorkSheet object Set oSheetName = Sheets("Table") 'Define Table Object Set loTable = oSheetName.ListObjects(sTableName) 'Delete a Row from the table loTable.ListRows(1).Delete End Sub đầu ra. Đây là ảnh chụp màn hình đầu ra sau đây của mã VBA macro ví dụ ở trên Loại bỏ Hàng thứ tư khỏi Bảng trên Trang tínhChúng ta hãy xem ví dụ để xóa Hàng thứ tư khỏi bảng trên trang tính. Sự khác biệt giữa thủ tục trên và dưới là thay đổi trong Số hàng 'VBA Delete the Fourth Row from the Table Sub VBAF1_Delete_Fourth_row_from_Table1() 'Declare Variables Dim oSheetName As Worksheet Dim sTableName As String Dim loTable As ListObject 'Define Variable sTableName = "MyTable1" 'Define WorkSheet object Set oSheetName = Sheets("Table") 'Define Table Object Set loTable = oSheetName.ListObjects(sTableName) 'Delete fourth Row from the table loTable.ListRows(4).Delete End Sub Xóa nhiều hàng khỏi bảng trong Excel bằng VBAĐây là một ví dụ khác để Xóa nhiều Hàng khỏi Bảng. Trong ví dụ này, chúng tôi xóa ba (3) Hàng khỏi bảng. Bạn có thể chỉ định số lượng Hàng trong vòng lặp for Tôi đã được mời cộng tác trên một tệp Excel được sử dụng bởi tất cả các Thư ký Điểm danh Học sinh tại khuôn viên của chúng tôi. Đó là một tập tin mà tôi sử dụng trong công việc của tôi. Tôi rất vui khi có cơ hội cải thiện tiềm năng tệp được tạo ban đầu vào năm 2002. Tôi sẽ tập trung vào một phần nhỏ của toàn bộ dự án trong bài đăng này vì cuối cùng tôi đã sửa lại toàn bộ tệp Mục đíchTạo một phương pháp động để thu thập DeptID mà cuối cùng được sử dụng làm tiêu chí lọc Một ví dụ về tính linh hoạt trong mã VBA được sử dụng để đáp ứng mục tiêuTôi muốn sử dụng một bảng Excel. Tôi nghĩ rằng họ thật tuyệt vời. Thật không may, không phải ai cũng biết cách sử dụng chúng. Vì vậy, tôi cần một cách để “tự động loại bỏ” những hàng không đáp ứng yêu cầu của tôi; Thu thập tiêu chí DeptID – cách cũKhông có gì sai với cách cũ. Mọi người đã quen với việc nhấp vào các nút tốt. Động lực của tôi để cải thiện quy trình này chỉ đơn giản là liệu tôi có thể làm tốt hơn không Đối với mỗi mục nhập, bạn phải nhấp vào 'Thêm phòng', sau đó nhấp vào 'OK'Thu thập tiêu chí DeptID – cách mớiKhi người dùng hiểu cách thức hoạt động của bảng Excel, thời lượng của quy trình sẽ giảm đi rất nhiều. Người dùng chỉ cần gõ ‘Enter’ sau mỗi DeptID Cũ vs. MớiCách cũ không cần xử lý hàng trống. Mỗi 'Add Depts' được kiểm soát nơi đặt DeptID bổ sung. Mỗi 'Delete Depts' đã chọn hàng sẽ bị xóa. Theo cách mới, có thể xảy ra các hàng trống vì tôi đã trao quyền tự do cho người dùng dưới dạng bảng Excel. Tôi cần viết VBA để sửa các hàng trống có thể tồn tại vì có khả năng người dùng sẽ không luôn nhớ 'Delete Table Row' khi xóa giá trị khỏi DeptID Bảng Excel = ListObjectsLUÔN LUÔN đặt tên cho các bảng Excel của bạn. Chỉ cần có được trong thói quen đó Công cụ bảng > Thiết kế > Thuộc tính > Tên bảngTôi đặt tên cho bảng này là Public Sub deleteEmptyTableRows() Set deptCriteria = ThisWorkbook.Sheets("Sheet1").ListObjects("_deptIDCriteria") Dim i As Integer With deptCriteria For i = .ListRows.Count To 1 Step -1 If Len(.ListRows(i).Range.Cells(1)) <= 3 Then If .ListRows.Count <= 1 Then MsgBox ("You must enter at least 4 characters of the DeptID"), vbCritical Exit Sub End If .ListRows(i).Delete End If Next i End With End Sub Tôi đã sửa đổi mã này từ mã thực tế mà tôi đã sử dụng trong dự án, tuy nhiên, nó cung cấp cho bạn khuôn khổ cho các hoạt động Kết quảNẾU đầu tiên thực sự xóa bất kỳ hàng nào có LEN của Ô nhỏ hơn 4; . Tôi đã chọn xóa các giá trị hàng này vì nó sẽ trả về quá nhiều bản ghi từ truy vấn mà nó thực sự lọc theo |