Nhờ cao thủ hỗ trợ tìm kiếm rồi copy từ sheet 1 paste sang sheet 2

Blue Softs Liên hệ QC

Nguyenhoangphong0902

Thành viên mới
Tham gia
27/7/21
Bài viết
37
Được thích
8
Dạ, chào anh chị em có bài này nhờ các anh chị giải giúp. Dự vào giá trị Range("B1") ở Sheet 1 mình sẽ copy sang sheet 2 theo cột C. Giống kiểu CTRL F : B1 ở Sheet 1 rồi tìm vào cột C ở Sheet 2 rồi paste 4 giá trị dùm em: Hợp đồng,Ngày hiệu lực,Nhà cung cấp, Đơn giá ở Sheet 1 mình copy sang Đơn giá 1, Hợp Đồng, Ngày Hiệu lực, Nhà cung cấp ở đơn giá 2. Ở Sheet 1 luôn có 1 giá trị, còn Sheet 2 thì có nhiều giá trị, nên phải tìm kiếm rồi mới copy ạ. Em cảm ơn
Bài đã được tự động gộp:

 

File đính kèm

  • tìm kiếm rồi copy paste.xlsb
    10.7 KB · Đọc: 6

Nguyenhoangphong0902

Thành viên mới
Tham gia
27/7/21
Bài viết
37
Được thích
8
Em biết vụ copy bằng Ofset nhưng mà tìm vị trí của Range("C") ở Sheet 2 thì em ko biết, em đọc nhiều thông tin mà ko có conde nào dạng tìm kiếm cả. Nhờ các anh chị hỗ trợ dùm.Cảm ơn anh chị
 
Upvote 0

buiquangthuan

Thành viên tiêu biểu
Tham gia
17/12/10
Bài viết
759
Được thích
445
Giới tính
Nam
Hãy đưa cả bài lên. Vì kiểu này có cách làm khác chứ không nhất thiết phải như bạn đang làm đâu
 
Upvote 0

buiquangthuan

Thành viên tiêu biểu
Tham gia
17/12/10
Bài viết
759
Được thích
445
Giới tính
Nam
Upvote 0

SA_DQ

/(hông là gì!
Thành viên danh dự
Tham gia
8/6/06
Bài viết
12,680
Được thích
19,320
Bạn thử xem, hên xui nha:
PHP:
Sub Copy4DuLieuCuaHopDong()
 Dim Rng As Range, sRng As Range
 Dim MaHD As String, Rw As Long
 
 Sheet1.Select:                         MaHD = [B1].Value
 Rw = Sheet1.[B65500].End(xlUp).Row
 With Sheet2
    Set Rng = .Range(.[C2], .[C65500].End(xlUp))
    Set sRng = Rng.Find(MaHD, , xlFormulas, xlWhole)
    If sRng Is Nothing Then
        MaHD = "Nothing!"
    Else
        Cells(Rw, "B").Value = sRng.Offset(, 2).Value   'HD '
        Cells(Rw, "D").Resize(, 2).Value = _
            sRng.Offset(, 3).Resize(, 2).Value          '2 '
        Cells(Rw, "L").Value = sRng.Offset(, 1).Value   'D Giá '
        MaHD = "Xong Rôi!"
    End If
 End With
 MsgBox MaHD, , "GPE.COM"
End Sub
 
Upvote 0

Nguyenhoangphong0902

Thành viên mới
Tham gia
27/7/21
Bài viết
37
Được thích
8
Hihi. Có lẽ em nên để ý hơn 1 chút. Thấy bạn này cũng hay đăng bài hỏi. Mà sao vẫn mắc phải mấy lỗi này không biết nữa.
@Nguyenhoangphong0902 Bạn nên để ý. Đừng viết tắt trong bài viết nhé
dạ em sẽ lưu ý ạ
Bài đã được tự động gộp:

Bạn thử xem, hên xui nha:
PHP:
Sub Copy4DuLieuCuaHopDong()
 Dim Rng As Range, sRng As Range
 Dim MaHD As String, Rw As Long
 
 Sheet1.Select:                         MaHD = [B1].Value
 Rw = Sheet1.[B65500].End(xlUp).Row
 With Sheet2
    Set Rng = .Range(.[C2], .[C65500].End(xlUp))
    Set sRng = Rng.Find(MaHD, , xlFormulas, xlWhole)
    If sRng Is Nothing Then
        MaHD = "Nothing!"
    Else
        Cells(Rw, "B").Value = sRng.Offset(, 2).Value   'HD '
        Cells(Rw, "D").Resize(, 2).Value = _
            sRng.Offset(, 3).Resize(, 2).Value          '2 '
        Cells(Rw, "L").Value = sRng.Offset(, 1).Value   'D Giá '
        MaHD = "Xong Rôi!"
    End If
 End With
 MsgBox MaHD, , "GPE.COM"
End Sub
code này ok nè bác, nhưng mà bị ngược. Tức là em cần dữ liệu từ sheet 1 sang sheet 2. Còn code này là sheet 2 sang sheet 1
 
Lần chỉnh sửa cuối:
Upvote 0

Nguyenhoangphong0902

Thành viên mới
Tham gia
27/7/21
Bài viết
37
Được thích
8
Bạn thử xem, hên xui nha:
PHP:
Sub Copy4DuLieuCuaHopDong()
 Dim Rng As Range, sRng As Range
 Dim MaHD As String, Rw As Long
 
 Sheet1.Select:                         MaHD = [B1].Value
 Rw = Sheet1.[B65500].End(xlUp).Row
 With Sheet2
    Set Rng = .Range(.[C2], .[C65500].End(xlUp))
    Set sRng = Rng.Find(MaHD, , xlFormulas, xlWhole)
    If sRng Is Nothing Then
        MaHD = "Nothing!"
    Else
        Cells(Rw, "B").Value = sRng.Offset(, 2).Value   'HD '
        Cells(Rw, "D").Resize(, 2).Value = _
            sRng.Offset(, 3).Resize(, 2).Value          '2 '
        Cells(Rw, "L").Value = sRng.Offset(, 1).Value   'D Giá '
        MaHD = "Xong Rôi!"
    End If
 End With
 MsgBox MaHD, , "GPE.COM"
End Sub
Em đã làm thành công theo code của bác đổi ngược lại. Cảm ơn bác nhiều nhiều


Sub Copy4DuLieuCuaHopDong()
Dim Rng As Range, sRng As Range
Dim MaHD As String, Rw As Long

Sheet1.Select: MaHD = [B1].Value
Rw = Sheet1.[B65500].End(xlUp).Row
With Sheet2
Set Rng = .Range(.[C2], .[C65500].End(xlUp))
Set sRng = Rng.Find(MaHD, , xlFormulas, xlWhole)
If sRng Is Nothing Then
MaHD = "Nothing!"
End If
End With

sRng.Offset(, 2).Value = Cells(Rw, "B").Value
sRng.Offset(, 3).Resize(, 2).Value = Cells(Rw, "D").Resize(, 2).Value
sRng.Offset(, 1).Value = Cells(Rw, "L").Value


MsgBox MaHD, , "GPE.COM"
End Sub
 
Upvote 0

VetMini

Chuyên gia GPE
Tham gia
21/12/12
Bài viết
12,315
Được thích
15,844
Upvote 0
Top Bottom