giúp em code xóa dòng không có dữ liệu với ạ (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

quoc nhat

Thành viên tiêu biểu
Tham gia
8/3/12
Bài viết
567
Được thích
43
Nghề nghiệp
cán bộ ngành y tế
em có file đính kèm trong sheet "danh sách" được lấy dữ liệu từ sheet" phieuxuat in" mỗi khi nhấn nút "in phiếu" vì không có code tự động chèn dòng nên em phải insert rất nhiều dòng trắng để sau này chứa dữ liệu. vì không biết sẽ có bao nhiêu dòng dữ liệu được paste vào nên rất nhiều dòng bị thừa.Trong sheet" danh sách" em có đánh dấu bằng màu đỏ là những dòng không có dữ liệu ( sau này có thể nhiều dòng không có dl hơn nữa). các anh chị giỏi về VB có thể giúp em cái code "xóa dòng" nằm trong 1 nút lệnh với. chứ mỗi lần em phải xóa những dòng không có dl này bằng thủ công thì đau cả mắt vì cứ phải chăm chăm vào màn hình.
các anh chị giúp em với nhé!
em cảm ơn nhiều
 

File đính kèm

dạ bài này em cũng tham khảo rồi nhưng vì kiến thức về VBA còn kém quá nên chư thể biến code của người khác thành của mình được. Anh xem code này và chỉnh giúp em với:

Sub dondong()
Dim data(), Result(1 To 10000, 1 To 2), i, j, x
data = Range([A3], [A65536].End(3)).Resize(, 2).FormulaR1C1
For i = 1 To UBound(data)
If data(i, 1) <> "" Then
x = x + 1
For j = 1 To 2
Result(x, j) = data(i, j)
Next
End If
Next
Range([A3], [A65536].End(3)).Resize(, 2).ClearContents
[A3].Resize(x, 2) = Result
End Sub

em cảm ơn anh
 
Upvote 0
dạ bài này em cũng tham khảo rồi nhưng vì kiến thức về VBA còn kém quá nên chư thể biến code của người khác thành của mình được. Anh xem code này và chỉnh giúp em với:
....

em cảm ơn anh
Mình thấy mấy Thầy trên dđ làm 1 cách ngắn gọn hơn, trường hợp này chỉ áp dụng khi cột B ko có dữ liệu và các cột kia cũng vậy, nếu dl bị lệch, có lổ có hang thì ráng chịu.

Sub xoadong()
[b10].Resize(1000).SpecialCells(4).EntireRow.Delete
End Sub

P/s: Bạn có thể thay chữ Delete bằng Select để ktra trước xem có đúng ý mình ko nhé.
 
Upvote 0
Mình thấy mấy Thầy trên dđ làm 1 cách ngắn gọn hơn, trường hợp này chỉ áp dụng khi cột B ko có dữ liệu và các cột kia cũng vậy, nếu dl bị lệch, có lổ có hang thì ráng chịu.

Sub xoadong()
[b10].Resize(1000).SpecialCells(4).EntireRow.Delete
End Sub

P/s: Bạn có thể thay chữ Delete bằng Select để ktra trước xem có đúng ý mình ko nhé.
Anh ơi vẫn còn những dòng chưa xóa được
anh xem lại giúp em với
 
Upvote 0
Anh ơi vẫn còn những dòng chưa xóa được
anh xem lại giúp em với
Dòng nào? Mình thấy trong File có mấy cái dòng màu đỏ bạn đánh tầm bậy tầm bạ gì đó, thì có dl nên nó ko xóa là đúng rồi. Code trên chỉ xóa dòng khi cột B trống thôi à. Hay là bạn muốn xóa luôn trong trường hợp cột B có dl mà cột C trống hay là như thế nào???
 
Upvote 0
Dòng nào? Mình thấy trong File có mấy cái dòng màu đỏ bạn đánh tầm bậy tầm bạ gì đó, thì có dl nên nó ko xóa là đúng rồi. Code trên chỉ xóa dòng khi cột B trống thôi à. Hay là bạn muốn xóa luôn trong trường hợp cột B có dl mà cột C trống hay là như thế nào???
dạ đúng là em muốn xóa cả dòng màu đỏ
nhưng chừa lại những hàng có đánh dấu bằng màu vàng và màu xanh anh ạ và những hàng có dữ liệu
Mấy dòng màu đỏ em đánh tầm bậy đó là em sợ dữ liệu sẽ nhảy lung tung nên phải làm thế.anh có thể cho vào code xóa nó luôn được không?
 
Upvote 0
dạ đúng là em muốn xóa cả dòng màu đỏ
nhưng chừa lại những hàng có đánh dấu bằng màu vàng và màu xanh anh ạ và những hàng có dữ liệu
Mấy dòng màu đỏ em đánh tầm bậy đó là em sợ dữ liệu sẽ nhảy lung tung nên phải làm thế.anh có thể cho vào code xóa nó luôn được không?
Cái này nhờ mấy Thầy/Cô, Anh/Chị giúp dùm chứ e hết khả năng rồi.
 
Upvote 0
dạ đúng là em muốn xóa cả dòng màu đỏ
nhưng chừa lại những hàng có đánh dấu bằng màu vàng và màu xanh anh ạ và những hàng có dữ liệu
Mấy dòng màu đỏ em đánh tầm bậy đó là em sợ dữ liệu sẽ nhảy lung tung nên phải làm thế.anh có thể cho vào code xóa nó luôn được không?
Thử với file này xem sao.
 

File đính kèm

Upvote 0
PHP:
Option Explicit

Public Sub BuxuLu()
Application.ScreenUpdating = False
Dim R As Long, I As Long
R = [K65000].End(xlUp).Row - 2
For I = R To 10 Step -1
    If Application.WorksheetFunction.CountA(Range(Cells(I, 2), Cells(I, 2))) = 0 Then
        Cells(I, 2).EntireRow.Delete
    End If
Next I
Application.ScreenUpdating = True
End Sub

Mình copy đoạn code trên vào file của mình mà không thấy thực hiện được.
ai rành hướng dẫn mình cách làm với. thanks đã đọc
 

File đính kèm

Upvote 0
PHP:
Option Explicit

Public Sub BuxuLu()
Application.ScreenUpdating = False
Dim R As Long, I As Long
R = [K65000].End(xlUp).Row - 2
For I = R To 10 Step -1 
    If Application.WorksheetFunction.CountA(Range(Cells(I, 2), Cells(I, 2))) = 0 Then
        Cells(I, 2).EntireRow.Delete
    End If
Next I
Application.ScreenUpdating = True
End Sub

Mình copy đoạn code trên vào file của mình mà không thấy thực hiện được.
ai rành hướng dẫn mình cách làm với. thanks đã đọc
Muốn hướng dẫn thì bạnphải đưa file thật của bạn và yêu cầu rõ ràng lên đây.
Mỗi cấu trúc dữ liệu sẽ có phương án giải quyết khác nhau, bạn hỏi chung chung làm sao ai biết được.
Nếu chỉ muốn làm cho code chạy trong Sheet1 của file trên thì code chỉ cần như vầy:
PHP:
Public Sub BuxuLu()
Application.ScreenUpdating = False
Dim R As Long, I As Long
R = [B65000].End(xlUp).Row "Xác định dòng cuuói cùng trong cột B"
For I = R To 3 Step -1 "Duyệt từng ô trong cột B từ dòng cuối lên trên"
    If Cells(I, 2) = "" Then Cells(I, 2).EntireRow.Delete  "Nếu ô nào = trống thì xóa cả dòng đó"
Next I  "Duyệt tiếp tục lên dòng trên"
Application.ScreenUpdating = True
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0

Bài viết mới nhất

Back
Top Bottom