Làm cách nào để xóa toàn bộ một hàng trong excel 2013 nếu một trong các ô trong cùng một hàng bị xóa?


1

Bạn có thể đề xuất bất kỳ phương thức nào trong đó bất cứ khi nào tôi xóa một dữ liệu trong một ô cụ thể, tất cả các dữ liệu khác dọc theo hàng của nó sẽ tự động bị xóa không?

Tôi đã nghiên cứu làm như vậy và tôi đã nghĩ ra cách sử dụng Visual Basics cho Application code xóa các hàng trống 2 nhưng tôi không thực sự biết cách sử dụng nó. Bất cứ ai có thể dạy tôi làm thế nào để sử dụng mã tôi đã đề cập?

Câu trả lời:


2

Excel không có sự kiện VBA để xóa ô.

Bạn có thể sử dụng một sự kiện Worksheet_Change. Sự kiện này sẽ được kích hoạt bất cứ khi nào một ô trong trang tính được thay đổi. Nếu, sau khi thay đổi, ô trống, sẽ có lý do cho dù người dùng vừa xóa một ô hay nhấn enter khi chỉnh sửa một ô đã trống, mà không ghi bất cứ điều gì vào ô.

Sự kiện thay đổi có thể được thiết lập để chỉ giám sát một phạm vi cụ thể, giả sử, các cột từ A đến F và sẽ chỉ xóa hàng nếu một ô trong các cột này trống sau khi thay đổi.

Với điều này như một tiền đề, đây là một số mã thực hiện những gì tôi mô tả.

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("A:F")) Is Nothing Then
    If Len(Trim(Target.Value)) = 0 Then
        MsgBox "Cell was deleted - now deleting row" ' remove this line if you dont want the message
        Application.EnableEvents = False ' turn off event monitoring so the routine does not loop
        Selection.EntireRow.Delete
        Application.EnableEvents = True ' turn on event monitoring
    End If
End If

End Sub

Sao chép mã này. Sau đó nhấp chuột phải vào tab trang tính, chọn "Xem mã" trong menu ngữ cảnh và dán mã vào cửa sổ mã. Hãy nhớ lưu tệp dưới dạng tệp .xlsm hỗ trợ macro.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.