Cách tạo mã code VBA cho hàm vloopkup, chèn thêm dòng dữ liệu

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Huonggiang13

Thành viên chính thức
Tham gia
11/4/23
Bài viết
79
Được thích
0
Em cần vlookup dữ liệu từ sheet dữ liệu sang sheet điều tra
VD: Bên sheet dữ liệu tai ô A3 A4 có mã A00001-01 A00001-02, nhưng bên sheet điều tra lại chỉ có A00001-01
Mong muốn của em là lấy được hết dữ liệu bên sheet dữ liệu sang bên sheet điều tra. trường hợp nếu bên sheet dữ liệu có mã hàng đó mà bên sheet điều tra không có thì tự động sẽ chèn thêm dòng dữ liệu đó vào.
Mong anh chị giúp em.
 

File đính kèm

  • vlookup và chèn dòng.xlsx
    22.2 KB · Đọc: 27
Em cần vlookup dữ liệu từ sheet dữ liệu sang sheet điều tra
VD: Bên sheet dữ liệu tai ô A3 A4 có mã A00001-01 A00001-02, nhưng bên sheet điều tra lại chỉ có A00001-01
Mong muốn của em là lấy được hết dữ liệu bên sheet dữ liệu sang bên sheet điều tra. trường hợp nếu bên sheet dữ liệu có mã hàng đó mà bên sheet điều tra không có thì tự động sẽ chèn thêm dòng dữ liệu đó vào.
Mong anh chị giúp em.
Đọc chú thích trong code:
Rich (BB code):
Sub DoTimCapNhatDL()
    Dim aKT, aDL, aKQ, i&, j&, k&, rw&, endR&, dic As Object, Rng As Range
    endR = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
    aDL = Sheet1.Range("A2:F" & endR).Value
    endR = Sheet2.Range("A" & Rows.Count).End(xlUp).Row
    aKT = Sheet2.Range("A2:F" & endR).Value
    ReDim aKQ(1 To UBound(aDL) * 2, 1 To UBound(aDL, 2))
    Set dic = CreateObject("Scripting.Dictionary")
    
    'Duyet + lay du lieu sheet Du LIEU
    For i = 1 To UBound(aDL)
        If Not dic.Exists(aDL(i, 1)) Then
            dic(aDL(i, 1)) = i
            k = k + 1
            For j = 1 To UBound(aDL, 2)
                aKQ(k, j) = aDL(i, j)
            Next
        End If
    Next
    
    'Duyet + lay du lieu sheet Dieu tra ma sheet DU LIEU khong co
    For i = 1 To UBound(aKT)
        If Not dic.Exists(aKT(i, 1)) Then
            k = k + 1
            aKQ(k, 1) = aKT(i, 1)
        End If
    Next
    
    'Chep vao J2 va sap xep theo cot ma so (thay J2 bang dia chi mong muon)
    Set Rng = Sheet2.Range("J2")
    With Rng.Resize(k, UBound(aDL, 2))
        .Value = aKQ
        .Sort Key1:=Rng, Order1:=xlAscending
    End With
End Sub
 
Upvote 0
Vấn đề này em đã nêu ra ở bài #7 rồi, nhưng bạn ấy không hiểu cách mình làm lại còn cười và bảo là mình "hạnh họe", khổ thế chứ. Viết xong từ lúc ấy rồi đấy nhưng chán chả buồn đưa lên nữa.
Dạ e cũng đã nói là vấn đề do cách em không biết diễn giải. Và em cũng có xin lỗi anh rồi. Nếu anh làm được rồi. Anh cho e xin file ấy ạ.Em mới nhiều cái không biết. Em cũng có tiếp thu và sửa chứ em không có nang và bảo thủ. Anh làm xong rồi anh cho e xin file nhé. Mọi cái e nói không phải xin anh bỏ qua giúp em
Bài đã được tự động gộp:

Bạn có bị "làm sao" không vậy? Hay uống quá chén?
Dạ tại em vào xem là nam hay nữ mà không thấy hiển thị ạ. Với tên là Maika e nghĩ là con gái ấy. Nên nếu là nam e xin lỗi ạ. E sẽ sửa lại cách xưng hô
 
Upvote 0
Dạ tại em vào xem là nam hay nữ mà không thấy hiển thị ạ. Với tên là Maika e nghĩ là con gái ấy. Nên nếu là nam e xin lỗi ạ. E sẽ sửa lại cách xưng hô
Tôi đã cảnh báo ở bên bể sô rồi mà mau quên vậy. Nhưng cũng lạ: bài viết #21 với code cho mình thì không đề cập mà chỉ phân bua.
 
Upvote 0
Bài #15 sao tự dưng lại lôi mình vào nhỉ?? Trên Forum thiếu gì người thừa khả năng giúp đâu?! Mọi người đều rất nhiệt tình đó thôi. Mình cũng thi thoảng rảnh rang thì lướt lát kiểu xem cho vui thôi. Công việc cũng chỉ dùng bảng tính dạng cộng trừ nhân chia. Không rành code lắm nên cấu trúc chắp vá, lủng củng lắm. Bạn thử code bài #21 đi.
 
Upvote 0
Tôi đã cảnh báo ở bên bể sô rồi mà mau quên vậy. Nhưng cũng lạ: bài viết #21 với code cho mình thì không đề cập mà chỉ phân bua.
Dạ do em quên ạ. Em xin lỗi anh nhiều nhé. Code trước anh gửi là làm được đúng không anh. Anh cho e xin file anh làm được không ạ.
Bài đã được tự động gộp:

Bài #15 sao tự dưng lại lôi mình vào nhỉ?? Trên Forum thiếu gì người thừa khả năng giúp đâu?! Mọi người đều rất nhiệt tình đó thôi. Mình cũng thi thoảng rảnh rang thì lướt lát kiểu xem cho vui thôi. Công việc cũng chỉ dùng bảng tính dạng cộng trừ nhân chia. Không rành code lắm nên cấu trúc chắp vá, lủng củng lắm. Bạn thử code bài #21 đi.
Dạ em cảm ơn anh ạ
 
Upvote 0
Upvote 0
Vấn đề này em đã nêu ra ở bài #7 rồi, nhưng bạn ấy không hiểu cách mình làm lại còn cười và bảo là mình "hạnh họe", khổ thế chứ. Viết xong từ lúc ấy rồi đấy nhưng chán chả buồn đưa lên nữa.
Anh ơi a giúp em với ạ. Cho em xin bản anh đã làm với. Em đang phải làm mà lâu quá. Anh bỏ qua giúp em với ạ
 
Upvote 0
E đã nói ở trên em mới tập học VBA ...
Như đã trích dẫn thì có học VBA mà tại sao:
1. Cái dấu nháy đơn trong code của tôi bạn vứt đi để cho VBA không chấp nhận ở mấy cái dòng đỏ đỏ này?
1681360481484.png
2. Bạn không biết chạy 1 macro bằng cách nào?
 
Upvote 0

File đính kèm

  • Bản sao vlookup và chèn dòng (1).xlsm
    27.4 KB · Đọc: 8
Upvote 0
Dạ đây file em đã gán code vào. Anh xem giúp em sai đâu nhé
Tôi viết code khi sheet1 trong file bài #1 là sheet Dữ liệu, Sheet2 là sheet Điều tra. Chừ bạn xóa mất Sheet1 rồi biến Sheet3 thành sheet Điều tra, Sheet4 thành sheet Dữ liệu. Thế thì code làm sao chạy.

Ở bài #26, tôi bảo bạn lấy file ở bài #1 chép code vào mà bạn không thấy sao?

Tôi đưa thực phẩm, chỉ cách nấu rồi mà bạn vẫn không ra được món thì ...
 
Lần chỉnh sửa cuối:
Upvote 0
Tôi viết code khi sheet1 trong file bài #1 là sheet Dữ liệu, Sheet2 là sheet Điều tra. Chừ bạn xóa mất Sheet1 rồi biến Sheet3 thành sheet Điều tra, Sheet4 thành sheet Dữ liệu. Thế thì code làm sao chạy.

Ở bài #26, tôi bảo bạn lấy file ở bài #1 chép code vào mà bạn không thấy sao?

Tôi đưa thực phẩm, chỉ cách nấu rồi mà bạn vẫn không ra được món thì ...
Dạ tại em đang tập tành mới tìm hiểu VBA. Nên em chưa rõ lắm. Cái dữ liệu này em đang cần làm gấp. Anh làm ơn làm giúp e file e vừa gửi giúp em được không ạ. Sau lần này e sẽ học thêm về mảng này ạ.Anh làm xong cho e xin file được không anh!!!
 
Upvote 0
Dạ tại em đang tập tành mới tìm hiểu VBA. Nên em chưa rõ lắm. Cái dữ liệu này em đang cần làm gấp. Anh làm ơn làm giúp e file e vừa gửi giúp em được không ạ. Sau lần này e sẽ học thêm về mảng này ạ.Anh làm xong cho e xin file được không anh!!!
Mời bạn đọc lại bài #5, #7, #9.
Người ta muốn nắm cấu trúc của file thực để mà còn viết code "chạy đúng" cho dữ liệu thực của bạn mà bạn lại dùng từ đáp lại khá khó nghe.

Bây giờ bạn thấy được cái hệ quả khi file này khác file kia có tí ti (do chính bạn làm cho khác đi) mà code đã không chạy rồi huống gì khi dùng cho file thực (mà tôi đoán là nó sẽ khác nhiều lắm).

Chừ bạn nói tôi nghe: có lý do gì ngăn cản bạn không dùng file bài #1 để chạy code mà nhất quyết phải dùng file bài #31?
 
Upvote 0
Mời bạn đọc lại bài #5, #7, #9.
Người ta muốn nắm cấu trúc của file thực để mà còn viết code "chạy đúng" cho dữ liệu thực của bạn mà bạn lại dùng từ đáp lại khá khó nghe.

Bây giờ bạn thấy được cái hệ quả khi file này khác file kia có tí ti (do chính bạn làm cho khác đi) mà code đã không chạy rồi huống gì khi dùng cho file thực (mà tôi đoán là nó sẽ khác nhiều lắm).

Chừ bạn nói tôi nghe: có lý do gì ngăn cản bạn không dùng file bài #1 để chạy code mà nhất quyết phải dùng file bài #31?
Anh ơi e dán code vào file bài #1 rồi. Em có chuyển sang xlsm rồi mà không biết sai đây không được dữ liệu. Anh làm ơn xem giúp em ạ.
E sẽ chú ý hơn lời ăn tiếng nói của mình ạ
Anh xem giùm e sai đâu em sửa để dùng được ạ.
 

File đính kèm

  • 983AED6B-B749-4258-9D87-21B406BEDB0C.jpeg
    983AED6B-B749-4258-9D87-21B406BEDB0C.jpeg
    181.5 KB · Đọc: 11
  • C6998280-6FC2-43CD-B3DA-6BF6F4FFF3B7.jpeg
    C6998280-6FC2-43CD-B3DA-6BF6F4FFF3B7.jpeg
    150.1 KB · Đọc: 11
Upvote 0
Anh ơi e dán code vào file bài #1 rồi. Em có chuyển sang xlsm rồi mà không biết sai đây không được dữ liệu. Anh làm ơn xem giúp em ạ.
E sẽ chú ý hơn lời ăn tiếng nói của mình ạ
Anh xem giùm e sai đâu em sửa để dùng được ạ.
Đưa cái file lên coi bạn dán thế nào?
 
Upvote 0
Dạ đây ạ. Anh xem giúp em nhé.
Bạn có biết chạy 1 macro thế nào không? Tôi chạy macro không thấy bất kỳ sai sót nào. Dữ liệu kết quả trả về đúng từ J2 của sheet2

P/S: mà bạn làm gì với cái file mà mở ra nó cứ phóng đại trang tính lên không ngừng vậy.
 
Upvote 0
Bạn có biết chạy 1 macro thế nào không? Tôi chạy macro không thấy bất kỳ sai sót nào. Dữ liệu kết quả trả về đúng từ J2 của sheet2

P/S: mà bạn làm gì với cái file mà mở ra nó cứ phóng đại trang tính lên không ngừng vậy.
Lao được phóng rồi, không được "quạo" nha bác!!!
 
Upvote 0
Bạn có biết chạy 1 macro thế nào không? Tôi chạy macro không thấy bất kỳ sai sót nào. Dữ liệu kết quả trả về đúng từ J2 của sheet2

P/S: mà bạn làm gì với cái file mà mở ra nó cứ phóng đại trang tính lên không ngừng vậy.
Anh cho em xin file anh làm với ạ. Tại em chỉ dán code vào và đổi file thành xlsm giống như anh chỉ dậy mà không được. A làm được thì cho em xin lại file anh làm nhé.
 
Upvote 0
Web KT

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

Back
Top Bottom