Excel vba xóa tất cả các hàng trong một trang tính

Bài viết này đề xuất hai phương pháp xóa cùng một hàng hoặc phạm vi trên nhiều trang tính cùng một lúc trong Excel. Vui lòng làm như sau

Xóa các hàng hoặc dải ô giống nhau trên nhiều trang tính bằng cách nhóm tất cả các trang tính
Xóa các hàng hoặc dải ô giống nhau trên nhiều trang tính bằng mã VBA

Xóa các hàng hoặc phạm vi giống nhau trên nhiều trang tính bằng cách nhóm tất cả các trang tính

Thật dễ dàng để nhóm tất cả các trang tính và sau đó xóa cùng một hàng hoặc phạm vi khỏi các trang tính này cùng một lúc

1. Nhấp chuột phải vào bất kỳ tab trang tính nào trong sổ làm việc hiện tại, sau đó nhấp vào Chọn Tất cả Trang tính từ menu chuột phải

2. Bây giờ tất cả các trang tính đã được chọn, nếu bạn xóa một số hàng hoặc phạm vi nhất định trong một trang tính, thì các hàng hoặc phạm vi giống nhau trong các trang tính khác sẽ bị xóa cùng nhau

3. Sau khi xóa các hàng hoặc phạm vi trên tất cả các trang tính, vui lòng nhấp chuột phải vào tab trang tính rồi nhấp vào Ungroup Sheets từ menu chuột phải để hủy nhóm tất cả các trang tính

Xóa cùng một hàng hoặc phạm vi trên nhiều trang tính bằng mã VBA

Bên cạnh phương pháp trên, bạn có thể chạy các mã VBA sau để xóa cùng một hàng hoặc phạm vi trên nhiều trang tính

Xóa các hàng giống nhau trên nhiều trang tính

1. Nhấn đồng thời các phím Alt + F11 để mở cửa sổ Microsoft Visual Basic for Applications

2. Trong cửa sổ Microsoft Visual Basic for Applications, nhấp vào Chèn > Mô-đun. Sau đó sao chép và dán mã VBA sau vào cửa sổ Mã

mã VBA. Xóa các hàng giống nhau trên nhiều sheet Trong Excel

Sub bleh[]
    Dim xWs As Worksheet
    Set xWs = ActiveSheet
    ThisWorkbook.Worksheets.Select
    Rows["4:5"].Select
    Selection.Delete
    xWs.Select
End Sub

Ghi chú. Trong mã VBA, 4. 5 có nghĩa là hàng 4 và 5 sẽ bị xóa trên nhiều trang tính trong sổ làm việc hiện tại. Bạn có thể thay đổi chúng thành hàng bạn cần

3. Nhấn phím F5 để chạy mã, sau đó các hàng được chỉ định sẽ bị xóa ngay lập tức khỏi tất cả các trang tính trong sổ làm việc hiện tại

Xóa các phạm vi giống nhau trên nhiều trang tính

Để xóa cùng một phạm vi trên nhiều trang tính, bạn có thể thử mã VBA bên dưới

mã VBA. Xóa cùng một phạm vi trên nhiều trang tính

Private Sub CommandButton2_Click[]
    Dim xRg As Range
    Dim xTxt As String
    Dim xWs As Worksheet
    On Error Resume Next
    Set xWs = ActiveSheet
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
    Set xRg = Application.InputBox["Please select the range you want to delete across multiple sheets:", "Kutools for Excel", xTxt, , , , , 8]
    If xRg Is Nothing Then Exit Sub
    xRg.ClearContents
    ThisWorkbook.Worksheets.Select
    ActiveWindow.SelectedSheets.FillAcrossSheets xRg, xlFillWithContents
    xWs.Select
End Sub

Sau khi sao chép và dán mã VBA vào Mô-đun, nhấn phím F5 để chạy mã và trong hộp thoại Kutools cho Excel bật lên, hãy chọn phạm vi bạn sẽ xóa trên nhiều trang tính, sau đó nhấp vào nút OK

Giờ đây, các giá trị ô trong phạm vi cụ thể này sẽ bị xóa khỏi tất cả các trang tính trong sổ làm việc hiện tại ngay lập tức

Thông thường trong một bảng tính Excel, chúng ta có hai phương pháp khác nhau để xóa hàng. phím tắt và phương pháp nhấp chuột phải và chèn. Nhưng trong VBA, chúng ta phải sử dụng lệnh “Xóa” và câu lệnh trang tính để xóa bất kỳ hàng nào. Thủ thuật là nếu chúng ta cần xóa một hàng, chúng ta sẽ cung cấp tham chiếu một hàng, nhưng đối với nhiều cột, chúng ta sẽ cung cấp tham chiếu nhiều hàng

Sử dụng phương pháp Xóa hàng trong VBA, chúng ta có thể xóa tất cả các hàng trống và hàng dựa trên giá trị ô. Chúng tôi cũng có thể xóa toàn bộ hàng nếu bất kỳ ô nào trống

Bài viết này sẽ thảo luận về phương pháp “VBA Delete Row. ” Hãy dành 15 đến 20 phút tiếp theo để tìm hiểu về khái niệm này

Mục lục

  • Excel VBA Xóa hàng
    • Làm cách nào để xóa hàng?
      • Ví dụ 1
      • Ví dụ #2
      • Ví dụ #3
      • Ví dụ #4
      • Ví dụ #5
      • Ví dụ #6
    • Bài viết được đề xuất

Bạn được tự do sử dụng hình ảnh này trên trang web, mẫu của mình, v.v. , Vui lòng cung cấp cho chúng tôi liên kết ghi công Làm cách nào để cung cấp ghi công?Liên kết bài viết được siêu liên kết
For eg:
Nguồn. VBA Xóa hàng [wallstreetmojo. com]

Làm cách nào để xóa hàng?

Bạn có thể tải xuống Mẫu VBA Delete Row Excel này tại đây – VBA Delete Row Excel Template

Ví dụ 1

Trong VBA, chúng ta cần đề cập đến hàng chúng ta đang xóa

Mã số

Sub DeleteRow_Example1[]
Cells[1, 1]
End Sub

Các ô [1, 1] có nghĩa là cột đầu tiên của hàng đầu tiên, i. e. , ô A1. Sau đó, chúng tôi sử dụng phương pháp “Xóa. ”

Mã số

Sub DeleteRow_Example1[]
Cells[1, 1].Delete
End Sub

Bây giờ, thao tác này sẽ xóa ô đầu tiên. Tất cả các giá trị bên phải sẽ chuyển từ một ô sang trái.

Ví dụ #2

Nếu muốn xóa toàn bộ hàng, chúng ta cần sử dụng thuộc tính “EntireRow”, sau đó, chúng ta cần sử dụng phương thức “Delete” để xóa toàn bộ hàng của ô mà chúng ta đã chọn

Mã số

Sub DeleteRow_Example2[]
Cells[1, 1].EntireRow.Delete
End Sub

Ví dụ: chúng tôi đã nhập một vài ký tự trong trang tính Excel.

Nếu chúng tôi chạy mã này, nó sẽ xóa toàn bộ hàng, không xóa một ô nào

Ví dụ #3

Chúng tôi có thể xóa hàng bằng cách sử dụng một số cách. Trong ví dụ trên, chúng tôi đã xóa hàng bằng thuộc tính CELLS. Bây giờ, chúng ta sẽ xem cách xóa bằng cách sử dụng thuộc tính ROWS

Bây giờ, chúng ta cần đề cập đến hàng chúng ta cần xóa là gì. Ví dụ: chúng ta cần xóa hàng thứ 5

Bây giờ, hãy sử dụng thuộc tính “EntireRow”

Sau khi chọn được BĐS chúng ta cần làm gì?

Mã số

Sub DeleteRow_Example3[]
Rows[5].EntireRow.Delete
End Sub

Vì vậy, mã này sẽ xóa hàng thứ 5.

Ví dụ #4

Xóa nhiều hàng bằng cách sử dụng đối tượng phạm vi

Làm cách nào để xóa nhiều hàng?

Chúng ta có thể sử dụng đối tượng VBA RANGE Sử dụng đối tượng VBA RANGEPhạm vi là một thuộc tính trong VBA . Trong ngữ cảnh của trang tính Excel, đối tượng phạm vi VBA bao gồm một ô hoặc nhiều ô trải rộng trên nhiều hàng và cột khác nhau. đọc thêm để xóa nhiều hàng. Ví dụ: giả sử bạn có một số giá trị từ ô A1 đến A6.

Bây giờ, chúng tôi muốn xóa năm hàng đầu tiên, vì vậy chúng tôi có thể tham chiếu các hàng này bằng cách sử dụng đối tượng Phạm vi là “Phạm vi [“A1. A5”]. “

Mã số

Sub DeleteRow_Example4[]
Range ["A1: A5"]
End Sub

Bây giờ, chúng tôi muốn sử dụng thuộc tính Word “EntireRow”.

Mã số

Sub DeleteRow_Example4[]

Range["A1:A5"].EntireRow

End Sub

Ở hàng này, chúng ta cần thực hiện phương pháp xóa, vì vậy hãy sử dụng phương pháp “Xóa”.

Mã số

Sub DeleteRow_Example4[]

Range["A1:A5"].EntireRow.Delete

End Sub

Bây giờ, thao tác này sẽ xóa các hàng đã chọn.

Ví dụ #5

Xóa hàng dựa trên giá trị ô

Chúng ta cũng có thể sử dụng “EntireRow. Delete” để xóa hàng dựa trên giá trị ô trong VBA Giá trị ô trong VBATrong VBA, có . phương pháp phạm vi và phương pháp ô. đọc thêm . Ví dụ: chúng tôi có các giá trị “Có” và “Không” từ ô A1 đến A10.

Chúng ta cần xóa các hàng có giá trị “Không. ” Ta phải dùng hàm “IF” có vòng lặp để xóa tất cả các hàng có giá trị “No” để thực hiện tác vụ này

Đoạn mã dưới đây sẽ thực hiện công việc cho chúng tôi

Mã số

Sub DeleteRow_Example5[]

Dim k As Integer 

For k = 10 To 1 Step -1
If Cells[k, 1].Value = "No" Then
Cells[k, 1].EntireRow.Delete
End If
Next k

End Sub

Ví dụ #6

Xóa tất cả các hàng ô trống

Có những trường hợp chúng ta cần xóa toàn bộ hàng nếu bất kỳ ô nào trong phạm vi trống. Ví dụ: chúng tôi có bộ dữ liệu bên dưới

Tất cả các ô màu đều trống, vì vậy chúng ta phải xóa toàn bộ hàng. Chúng tôi có thể thực hiện nhiệm vụ này với hai bộ mã. Dưới đây là mã

Mã số

Private Sub CommandButton2_Click[]
    Dim xRg As Range
    Dim xTxt As String
    Dim xWs As Worksheet
    On Error Resume Next
    Set xWs = ActiveSheet
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
    Set xRg = Application.InputBox["Please select the range you want to delete across multiple sheets:", "Kutools for Excel", xTxt, , , , , 8]
    If xRg Is Nothing Then Exit Sub
    xRg.ClearContents
    ThisWorkbook.Worksheets.Select
    ActiveWindow.SelectedSheets.FillAcrossSheets xRg, xlFillWithContents
    xWs.Select
End Sub
0

Nó sẽ xác định các ô trống trong phạm vi từ A1 đến F10. Nếu nó tìm thấy bất kỳ ô trống nào, nó sẽ xóa toàn bộ hàng.

Vấn đề với mã này là nó sẽ chỉ xóa hàng của ô trống trong phạm vi từ A1 đến F10. Nhưng nếu bất kỳ ô nào trống trong bất kỳ ô nào khác, nó sẽ không xóa chúng. Vì vậy, hãy ghi nhớ điều này, chúng tôi đã viết thêm một đoạn mã

Mã số

Private Sub CommandButton2_Click[]
    Dim xRg As Range
    Dim xTxt As String
    Dim xWs As Worksheet
    On Error Resume Next
    Set xWs = ActiveSheet
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
    Set xRg = Application.InputBox["Please select the range you want to delete across multiple sheets:", "Kutools for Excel", xTxt, , , , , 8]
    If xRg Is Nothing Then Exit Sub
    xRg.ClearContents
    ThisWorkbook.Worksheets.Select
    ActiveWindow.SelectedSheets.FillAcrossSheets xRg, xlFillWithContents
    xWs.Select
End Sub
1

Khi bạn chạy đoạn mã này, trước tiên, nó sẽ yêu cầu bạn chọn phạm vi với một hộp nhập xuất hiện trước mặt bạn.

Sau khi chọn phạm vi, bạn cần nhấp vào “OK. ” Nó sẽ xóa tất cả các hàng có ô trống Xóa tất cả các hàng có ô trốngCó một số phương pháp để xóa các hàng trống . 1] Xóa các hàng trống theo cách thủ công nếu có ít hàng trống  2]  Sử dụng công thức xóa 3] Sử dụng bộ lọc để tìm và xóa các hàng trống. đọc thêm trong phạm vi đã chọn.

Bài viết được đề xuất

Bài viết này đã hướng dẫn VBA Delete Row. Ở đây, chúng ta đã thảo luận cách xóa hàng bằng mã VBA và các ví dụ thực tế. Dưới đây là một số bài viết Excel hữu ích liên quan đến VBA. –

Chủ Đề