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

Liên hệ QC

Nguyenhoangphong0902

Đường trần muôn vạn ngã ba.........
Tham gia
27/7/21
Bài viết
56
Được thích
22
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
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
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
Upvote 0
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
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
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
Upvote 0
Web KT
Back
Top Bottom