Delete row theo điều kiện (1 người xem)

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

chào bạn mình chỉ cần giữ lại những dòn QC-BB và BB trả ngược lại QC, M1,M3,TPB, KDM (bao bì trả ngược lại các bộ khác) đều được giữ lại còn những dòng từ các bộ phận đến QC, QC-QC, BB-BB đều bị xoá hết.
cám ơn bạn đã quan tâm.
thao tác mỗi ngày mình làm
filter cột I does not contain : QC and BB filter cột J does not contain QC and BB xong rồi delete row
sau đó, filter cột I does not content QC and BB, filter cột J contain QC rồi delete row
filter cột I contain QC, filter cột J does not contain QC and BB rồi delete row
filter cột I contain QC, filter cột J contain QC delete row
filter cột I contain BB , filter cột I contain BB delete row
Nếu VBA làm được có thể đỡ mất thời gian, vì lúc này công việc mình nhiều quá
 
chào bạn mình chỉ cần giữ lại những dòn QC-BB và BB trả ngược lại QC, M1,M3,TPB, KDM (bao bì trả ngược lại các bộ khác) đều được giữ lại còn những dòng từ các bộ phận đến QC, QC-QC, BB-BB đều bị xoá hết.
cám ơn bạn đã quan tâm.
thao tác mỗi ngày mình làm
filter cột I does not contain : QC and BB filter cột J does not contain QC and BB xong rồi delete row
sau đó, filter cột I does not content QC and BB, filter cột J contain QC rồi delete row
filter cột I contain QC, filter cột J does not contain QC and BB rồi delete row
filter cột I contain QC, filter cột J contain QC delete row
filter cột I contain BB , filter cột I contain BB delete row
Nếu VBA làm được có thể đỡ mất thời gian, vì lúc này công việc mình nhiều quá
Giải thích kiểu như bạn chắc chờ mõi cổ.
Cột I và J có dạng như thế này thì chừa lại, còn bi nhiêu xóa tuốt?
SoQua.jpg
 
Bạn record marco lại xem coi sao, chứ bạn mô tả mình cóc có hiểu gì cả.

Thay vì mô tả lung tung, sao không gởi file chứa vài chục dòng dữ liệu mẫu và 1 sheet kết quả sau khi xóa dòng. File gốc nặng quá mà giá cước 3G thì cao quá nên thấy file là bỏ chạy tuốt
 
Lần chỉnh sửa cuối:
Chọn vào sheet ketqua xem kết quả

hi bạn sao mình copy paste value của file ngày QC-BB 04-11 , thì run macro ko được vậy bạn. còn mình thấy file kết quả bạn chạy ra thì đúng rồi. cho mình hỏi xuất ra một work book mới luôn được ko , vì phải lưu lại dữ liệu từng ngày.
cám ơn bạn nhiều
 
hi bạn sao mình copy paste value của file ngày QC-BB 04-11 , thì run macro ko được vậy bạn. còn mình thấy file kết quả bạn chạy ra thì đúng rồi. cho mình hỏi xuất ra một work book mới luôn được ko , vì phải lưu lại dữ liệu từng ngày.
cám ơn bạn nhiều
Cái kết quả đó là mình tự cho thôi vì file bạn gởi có kết quả nào giống thế đâu
Code này có thể lưu thành file mới với tên file là ngày hiện hành và lưu vào chung thư mục file gốc
PHP:
Sub loc()
Dim Sarr(), Darr(), I As Long, J As Long, X As Long, SoCot As Long
Dim NewFile As String, path As String
path = ThisWorkbook.path
SoCot = 28
Sarr = Range([A1], [A65536].End(3)).Resize(, SoCot).Value
ReDim Darr(1 To UBound(Sarr), 1 To UBound(Sarr, 2))
'...................................................................
For I = 1 To SoCot
    Darr(1, I) = Sarr(1, I)
Next I
J = 1
For I = 2 To UBound(Sarr)
    If Sarr(I, 9) = "QC" Then
        If Sarr(I, 10) = "BB" Then
            J = J + 1
            For X = 1 To SoCot
                Darr(J, X) = Sarr(I, X)
            Next X
        End If
    ElseIf Sarr(I, 9) = "BB" Then
        If Sarr(I, 10) = "M1" Or Sarr(I, 10) = "M3" _
            Or Sarr(I, 10) = "TPB" Or Sarr(I, 10) = "KDM" Then
             J = J + 1
            For X = 1 To SoCot
                Darr(J, X) = Sarr(I, X)
            Next X
        End If
    End If
Next I
'........................................................................
If J Then
    NewFile = Format(Date, "dd-mmm-yy")
    With Workbooks.Add
        .ActiveSheet.[A1].Resize(J, SoCot) = Darr
        .SaveAs path & "\" & NewFile, 51
        .Close
    End With
End If
End Sub
 
Cái kết quả đó là mình tự cho thôi vì file bạn gởi có kết quả nào giống thế đâu
Code này có thể lưu thành file mới với tên file là ngày hiện hành và lưu vào chung thư mục file gốc
PHP:
Sub loc()
Dim Sarr(), Darr(), I As Long, J As Long, X As Long, SoCot As Long
Dim NewFile As String, path As String
path = ThisWorkbook.path
SoCot = 28
Sarr = Range([A1], [A65536].End(3)).Resize(, SoCot).Value
ReDim Darr(1 To UBound(Sarr), 1 To UBound(Sarr, 2))
'...................................................................
For I = 1 To SoCot
    Darr(1, I) = Sarr(1, I)
Next I
J = 1
For I = 2 To UBound(Sarr)
    If Sarr(I, 9) = "QC" Then
        If Sarr(I, 10) = "BB" Then
            J = J + 1
            For X = 1 To SoCot
                Darr(J, X) = Sarr(I, X)
            Next X
        End If
    ElseIf Sarr(I, 9) = "BB" Then
        If Sarr(I, 10) = "M1" Or Sarr(I, 10) = "M3" _
            Or Sarr(I, 10) = "TPB" Or Sarr(I, 10) = "KDM" Then
             J = J + 1
            For X = 1 To SoCot
                Darr(J, X) = Sarr(I, X)
            Next X
        End If
    End If
Next I
'........................................................................
If J Then
    NewFile = Format(Date, "dd-mmm-yy")
    With Workbooks.Add
        .ActiveSheet.[A1].Resize(J, SoCot) = Darr
        .SaveAs path & "\" & NewFile, 51
        .Close
    End With
End If
End Sub

bạn có thể áp code đó vào file của mình được ko? khi sử dụng thì chỉ áp data vào rồi xuất ra một workbook mới save lại luôn
hi mình insert module rồi chạy thì xuất ra được 1 dòng tiêu đề
 
Lần chỉnh sửa cuối:
bạn có thể áp code đó vào file của mình được ko? khi sử dụng thì chỉ áp data vào rồi xuất ra một workbook mới save lại luôn
hi mình insert module rồi chạy thì xuất ra được 1 dòng tiêu đề
Bạn cho code vào file thật của bạn và xoá bớt nội dung cho file nhẹ. Nén lại rồi gởi lên. Chú ý là hightlight những dòng sẽ được xuất ra file kết quả. Vì file trước của bạn chẳng có điều kiện nào thoả với dk trong code cả
 
Bạn cho code vào file thật của bạn và xoá bớt nội dung cho file nhẹ. Nén lại rồi gởi lên. Chú ý là hightlight những dòng sẽ được xuất ra file kết quả. Vì file trước của bạn chẳng có điều kiện nào thoả với dk trong code cả

mình đã bổ sung file tiếp theo vào bài viết đầu
code của bạn mình insert và save thì báo lỗi ko lưu cùng file được.
khi chạy thì bị debug dòng SaveAs path & "\" & NewFile, 51
bạn xem lại dùm mình cám ơn
 
mình đã bổ sung file tiếp theo vào bài viết đầu
code của bạn mình insert và save thì báo lỗi ko lưu cùng file được.
khi chạy thì bị debug dòng SaveAs path & "\" & NewFile, 51
bạn xem lại dùm mình cám ơn
Nó chỉ hỏi có Save đè lên file cũ hay không thôi
 
bạn có thể áp code đó vào file của mình được ko? khi sử dụng thì chỉ áp data vào rồi xuất ra một workbook mới save lại luôn
hi mình insert module rồi chạy thì xuất ra được 1 dòng tiêu đề

Mình "áp" code vào file của bạn luôn đây. Bạn test thử file này xem nhé. Mình cũng chưa kiểm tra kỹ.
Cách sử dụng:

1. Xoá hết dữ liệu cũ.
2. Paste dữ liệu mới vào sheet Data.
3. Nhấn Ctrl + E.
4. Xem kết quả trong file mới (cùng Foder).

Dear a Hải,

Lại học thêm được ở anh cách tạo file mới và gán dữ liệu từ mảng vào file vừa tạo.
--=0

Thanks.
 

File đính kèm

Bạn mhung ơi
xuất ra file mới dòng tiêu đề bị mất rồi.
với lại mình muốn lưu tên file là ngày hôm qua được không?
8h sáng mình xuất file thì dữ liệu là của ngày hôm qua.
thanks
 
mình đã bổ sung file tiếp theo vào bài viết đầu
code của bạn mình insert và save thì báo lỗi ko lưu cùng file được.
khi chạy thì bị debug dòng SaveAs path & "\" & NewFile, 51
bạn xem lại dùm mình cám ơn
Từ bài #1 yêu cầu xoá dòng thì xoá thôi, thêm chuyện chép sang File mới chỉ cho "nhiều chuyện".
Trong sheet DieuKien bạn muốn chừa lại "thằng" nào thì nhập đầy đủ vào.
 

File đính kèm

Từ bài #1 yêu cầu xoá dòng thì xoá thôi, thêm chuyện chép sang File mới chỉ cho "nhiều chuyện".
Trong sheet DieuKien bạn muốn chừa lại "thằng" nào thì nhập đầy đủ vào.

thanks bạn nhiều lắm, có điều mình cũng ko rõ từ BB có thể trả về các bộ phận khác (gồm những bộ phận nào , ko biết bên kỹ thuật họ có thêm bộ phận nào ko ?)
 
http://www.mediafire.com/?4e6vqesh93zmo3d
bạn ơi sao mình test điều kiện phiếu di chuyển từ BB qua QC thì ko có kết quả
thanks bạn nhiều lắm
Thử lại với code này coi sao. Nếu đúng thì khi muốn thêm dk thì cứ thêm giống thế này Or Sarr(I, 10) Like "KDM*"
PHP:
Sub loc()
Dim Sarr(), Darr(), I As Long, J As Long, X As Long, SoCot As Long
Dim NewFile As String, path As String
path = ThisWorkbook.path
SoCot = 28
Sarr = Range([A1], [A65536].End(3)).Resize(, SoCot).Value
ReDim Darr(1 To UBound(Sarr), 1 To UBound(Sarr, 2))
'...................................................................
For I = 1 To SoCot
    Darr(1, I) = Sarr(1, I)
Next I
J = 1
For I = 2 To UBound(Sarr)
    If Sarr(I, 9) Like "QC*" Then
        If Sarr(I, 10) Like "BB*" Then
            J = J + 1
            For X = 1 To SoCot
                Darr(J, X) = Sarr(I, X)
            Next X
        End If
    ElseIf Sarr(I, 9) Like "BB*" Then
        If Sarr(I, 10) Like "M1*" Or Sarr(I, 10) Like "M3*" _
            Or Sarr(I, 10) Like "TPB*" Or Sarr(I, 10) Like "KDM*" Then
             J = J + 1
            For X = 1 To SoCot
                Darr(J, X) = Sarr(I, X)
            Next X
        End If
    End If
Next I
'........................................................................
If J Then
    NewFile = Format(Date, "dd-mmm-yy")
    With Workbooks.Add
        .ActiveSheet.[A1].Resize(J, SoCot) = Darr
        .SaveAs path & "\" & NewFile, 51
        .Close
    End With
End If
End Sub
 

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

Back
Top Bottom