Nhờ giúp sửa code xóa dữ liệu rỗng

Liên hệ QC

queluatb

Thành viên thường trực
Tham gia
17/1/11
Bài viết
345
Được thích
41
Nhờ các anh/chị sửa code xóa dữ liệu rỗng. Trong file đính kèm em đã mô tả các bước thực hiện bằng tay và đang tập viết code (code em đang đặt tại Module 2) và đã cho ra kết quả như mong muốn, do mới tập viết code em thấy lủng củng quá nhờ anh/chị chỉ giúp lỗi và cách làm sao cho dễ hiểu hơn.

Trong Modul1 em đang cũng đang bị vướng mắc tại dòng "Rng.Resize(1, 5).Select " xin nhờ anh/chị chỉ lỗi sai và cách khắc phục

File excel là em kết xuất từ phần mềm mặc định lên có một số định dạng không được chuẩn tắc. Mong anh/chị thông cảm
Em xin cám ơn!
 

File đính kèm

  • Bang ke.xlsb
    32.4 KB · Đọc: 6
Dùng 1 cái Macro1 thôi, vừa gán giá trị cho dòng "/ /", vừa delete dòng đầu tiên

PHP:
Option Explicit
Sub Macro1()
Dim rng
Dim lr As Long, i As Long, j As Long
With Worksheets(1)
    lr = .Cells(Rows.Count, 2).End(xlUp).Row
    rng = .Range("B5:F" & lr).Value
    For i = 2 To UBound(rng)
        If .Cells(i + 4, "G") = "" Then .Cells(i + 4, "G").Value = "#DIV/0!"
        If rng(i, 1) Like "*/  /" Then
            For j = 1 To UBound(rng, 2)
                rng(i, j) = rng(i - 1, j)
            Next
        End If
    Next
    .Range("B5").Resize(UBound(rng), UBound(rng, 2)).Value = rng
    .Range("G5:G" & lr).SpecialCells(xlCellTypeConstants, xlErrors).EntireRow.Delete
End With
End Sub
 
Upvote 0
Mình nhìn qua file bạn gửi, sheet dữ liệu và sheet kết quả .
Thấy không giống bạn đang hỏi xóa dữ liệu rỗng
Vì dòng rỗng chứa "//" nhưng có thông tin quan trọng ở các cột "G:N" mà bên sheet kết quả bạn vẫn đang giữ.

bạn nên mô tả lại cách bạn lấy thông tin từ file dữ liệu sang file kết quả để các Anh/chị/em trên GPE giúp bạn.
Còn không bạn sẽ phải hỏi đi hỏi lại nhiều lần.

Mình đoán, sheet dữ liệu bị tình trạng nếu 1 phiếu thông tin có nhiều mã vật tư, thì sẽ xuất hiện nhiều dòng dữ liệu.
- dòng đầu là dòng tổng
- các dòng còn lại là dòng chi tiết
Bạn đang muốn lấy thông tin mà dòng chi tiết không có từ dòng tổng xuống dòng chi tiết rồi xóa dòng tổng đi.
 
Upvote 0
Dùng 1 cái Macro1 thôi, vừa gán giá trị cho dòng "/ /", vừa delete dòng đầu tiên

PHP:
Option Explicit
Sub Macro1()
Dim rng
Dim lr As Long, i As Long, j As Long
With Worksheets(1)
    lr = .Cells(Rows.Count, 2).End(xlUp).Row
    rng = .Range("B5:F" & lr).Value
    For i = 2 To UBound(rng)
        If .Cells(i + 4, "G") = "" Then .Cells(i + 4, "G").Value = "#DIV/0!"
        If rng(i, 1) Like "*/  /" Then
            For j = 1 To UBound(rng, 2)
                rng(i, j) = rng(i - 1, j)
            Next
        End If
    Next
    .Range("B5").Resize(UBound(rng), UBound(rng, 2)).Value = rng
    .Range("G5:G" & lr).SpecialCells(xlCellTypeConstants, xlErrors).EntireRow.Delete
End With
End Sub
Em xin cám ơn anh.
Bài đã được tự động gộp:

Mình nhìn qua file bạn gửi, sheet dữ liệu và sheet kết quả .
Thấy không giống bạn đang hỏi xóa dữ liệu rỗng
Vì dòng rỗng chứa "//" nhưng có thông tin quan trọng ở các cột "G:N" mà bên sheet kết quả bạn vẫn đang giữ.

bạn nên mô tả lại cách bạn lấy thông tin từ file dữ liệu sang file kết quả để các Anh/chị/em trên GPE giúp bạn.
Còn không bạn sẽ phải hỏi đi hỏi lại nhiều lần.

Mình đoán, sheet dữ liệu bị tình trạng nếu 1 phiếu thông tin có nhiều mã vật tư, thì sẽ xuất hiện nhiều dòng dữ liệu.
- dòng đầu là dòng tổng
- các dòng còn lại là dòng chi tiết
Bạn đang muốn lấy thông tin mà dòng chi tiết không có từ dòng tổng xuống dòng chi tiết rồi xóa dòng tổng đi.
Cám ơn bạn nhiều.
 
Upvote 0
Web KT
Back
Top Bottom