Coppy dữ liệu sang sheet khác có điều kiện (bằng VBA)

Liên hệ QC

ĐỨC DIỆN MT

Thành viên mới
Tham gia
1/12/18
Bài viết
18
Được thích
4
Kính gửi anh chị
Em muốn lấy dữ liệu từ sheet "Data" sang sheet "Total", theo điều kiện mã sản phẩm tại sheet "Total". Sau đó xóa toàn bộ dữ liệu tại sheet "Data".
Em nhờ Anh chị hỗ trợ viết giúp em code vào file đính kèm với ạ!
Cảm ơn anh chị!
 

File đính kèm

  • Test.xlsm
    11.9 KB · Đọc: 29
Lần chỉnh sửa cuối:
Bạn thay từ mầu xanh ở trên sang tiếng Việt thì chắc nhiều thành viên sẵn lòng gBạn thay từ mầu xanh ở trên sang tiếng Việt thì chắc nhiều thành viên sẵn lòng giúp bạn nhé.
vâng
Bạn thay từ mầu xanh ở trên sang tiếng Việt thì chắc nhiều thành viên sẵn lòng giúp bạn nhé.
Không còn từ mầu xanh rồi anh nha
 
Lần chỉnh sửa cuối:
Upvote 0
Tô màu cho đẹp đẽ nè, & miễn phí nha!
PHP:
Sub CatDuLieuSangTrangKhac()
 Dim Rng As Range, sRng As Range, Cls As Range
 Dim J As Long, Rws As Long
 
 Rws = [A2].CurrentRegion.Rows.Count
 Set Rng = [A2].Resize(Rws)
 With Sheets("Total")
    For Each Cls In .Range(.[A3], .[A3].End(xlDown))
        If Cls.Offset(, 1).Value = "" Then
            Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
            If Not sRng Is Nothing Then
                Cls.Offset(, 1).Resize(, 2).Value = sRng.Offset(, 1).Resize(, 2).Value
                sRng.Offset(, 1).Resize(, 2).Interior.ColorIndex = 34 + (Cls.Row Mod 9)
            End If
        End If
    Next Cls
 End With
End Sub
 
Upvote 0
Hay quá, cám ơn anh!
Chúc anh mạnh khỏe và luôn vui tính
Bài đã được tự động gộp:

Hay quá, cám ơn anh!
Chúc anh mạnh khỏe và luôn vui tính
Bài đã được tự động gộp:

Cảm ơn anh,
với trường hợp tô màu đẹp đẽ thì anh chỉnh giúp em, những dòng nào đáp ứng điều kiện và được coppy sang sheet "Total" thì hiện màu xanh, còn những dòng nào k đáp ứng điều kiện thì hiện màu đỏ được không ạ?
Tô màu cho đẹp đẽ nè, & miễn phí nha!
PHP:
Sub CatDuLieuSangTrangKhac()
Dim Rng As Range, sRng As Range, Cls As Range
Dim J As Long, Rws As Long

Rws = [A2].CurrentRegion.Rows.Count
Set Rng = [A2].Resize(Rws)
With Sheets("Total")
    For Each Cls In .Range(.[A3], .[A3].End(xlDown))
        If Cls.Offset(, 1).Value = "" Then
            Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
            If Not sRng Is Nothing Then
                Cls.Offset(, 1).Resize(, 2).Value = sRng.Offset(, 1).Resize(, 2).Value
                sRng.Offset(, 1).Resize(, 2).Interior.ColorIndex = 34 + (Cls.Row Mod 9)
            End If
        End If
    Next Cls
End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Trong file làm chi có dòng không đáp ứng được đâu cơ chứ?
Gởi hình giả dụ lên xem cái dòng nào chả thể copy nào(!)
$$$$@
/-(ình như hiện thời là dòng nào không thỏa sẽ không có màu thì phải!
 
Upvote 0
Trong file làm chi có dòng không đáp ứng được đâu cơ chứ?
Gởi hình giả dụ lên xem cái dòng nào chả thể copy nào(!)
$$$$@
/-(ình như hiện thời là dòng nào không thỏa sẽ không có màu thì phải!
dạ,
Giả sử sheet total cột mã sản phẩm có A, B, C
Nhưng mã sản phẩm bên sheet data lại có A,B,C,D thì đồng nghĩa dòng có mã D sẽ không được lấy. cho nên em muốn tô màu đỏ cho dòng này để nhận biết ạ
 
Upvote 0
dạ,
Giả sử sheet total cột mã sản phẩm có A, B, C
Nhưng mã sản phẩm bên sheet data lại có A,B,C,D thì đồng nghĩa dòng có mã D sẽ không được lấy. cho nên em muốn tô màu đỏ cho dòng này để nhận biết ạ
Tô màu thì không khó, nhưng sau đó bạn vẫn xóa đi thì tô để làm gì nhỉ.
 
Lần chỉnh sửa cuối:
Upvote 0
Tô màu thì không khó, nhưng sau đó thì bạn vẫn xóa đi thì tô để làm gì nhỉ.
Trước thì tác giả muốn xóa những gì đã được chép; Nhưng thấy tô màu đẹp ghê, nên đổi ý ý mà!

Theo mình hiểu thì dòng nào không màu thì là dòng không thỏa;
Còn nếu vẫn thích màu đỏ thì
sau câu lệnh
Set Rng = [A2].Resize(Rws)
bạn thêm dòng ni:
Mã:
Rng.Offset(, 1).Interior.Color = 255
 
Upvote 0
Tô màu thì không khó, nhưng sau đó thì bạn vẫn xóa đi thì tô để làm gì nhỉ.
Dạ, em tính đến trường hợp nhập sai mã ạ,
nếu mã không trùng với điều kiện lọc sẽ không bị xóa đi tại sheet data (chỉ xóa những mã được lấy) hoặc tô màu đỏ thì hay quá ạ
 
Upvote 0
Dạ, em tính đến trường hợp nhập sai mã ạ,
nếu mã không trùng với điều kiện lọc sẽ không bị xóa đi tại sheet data (chỉ xóa những mã được lấy) hoặc tô màu đỏ thì hay quá ạ
Bạn còn thêm điều kiện gì thì đưa ra luôn một thể nhé.
 
Lần chỉnh sửa cuối:
Upvote 0
Trước thì tác giả muốn xóa những gì đã được chép; Nhưng thấy tô màu đẹp ghê, nên đổi ý ý mà!

Theo mình hiểu thì dòng nào không màu thì là dòng không thỏa;
Còn nếu vẫn thích màu đỏ thì
sau câu lệnh
Set Rng = [A2].Resize(Rws)
bạn thêm dòng ni:
Mã:
Rng.Offset(, 1).Interior.Color = 255
như code này, khi xóa dữ liệu đi vẫn không bị mất màu. mục đích của em tô màu chỉ để phân biệt ạ. sau khi lấy được dữ liệu e sẽ xóa dữ liệu đi
Bài đã được tự động gộp:

Bạn còn thêm điều kiện gì thì đưa ra luôn một thể nhé.
hết rồi ạ, mong anh giúp ạ
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom