Nhờ giúp Code tự động điền các ô còn trống từ một shêt khác (1 người xem)

Liên hệ QC

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

adonis_thanh

Thành viên chính thức
Tham gia
16/8/12
Bài viết
97
Được thích
6
Em có file excell và nội dung cần giúp đỡ kèm theo trong file. Nhờ anh chị giúp em điền vào những ô còn trống tại cột E.
Xin chân thành cảm ơn.
 

File đính kèm

Lần chỉnh sửa cuối:
Em có file excell và nội dung cần giúp đỡ kèm theo trong file. Nhờ anh chị giúp em điền vào những ô còn trống tại cột E.
Xin chân thành cảm ơn.
Bạn phải có file excel của cơ quan thuế để mọi người xem cấu trúc và lấy dữ liệu như thế nào chứ.
 
Upvote 0
Có bạn, mình kèm theo file rồi đó ( sheet Kết quả đó) bạn xem giúp mình nha. Cảm ơn bạn nhiều.
Hình như bạn chưa phân biệt được file và Sheet, thực chất là nó nằm trong file riêng hay là cùng một file (Nếu 2 trường hợp thì cách làm khác nhau hoàn toàn).
 
Upvote 0
Hình như bạn chưa phân biệt được file và Sheet, thực chất là nó nằm trong file riêng hay là cùng một file (Nếu 2 trường hợp thì cách làm khác nhau hoàn toàn).
File Excell mình có 2 Sheet, 1 Sheet là DMCN và 1 Sheet là Kết Quả Cấp MST, bạn xem lại giúp mình nha. Cảm ơn bạn
 
Upvote 0
Vậy bạn thử code này thử xem
Mã:
Public Sub GPE()
Dim dArr(), i As Integer
Dim rngFind As Range
dArr = Sheet1.Range("D2", Range("E65000").End(xlUp)).Resize(, 2).Value
For i = 1 To UBound(dArr)
    If dArr(i, 2) = Empty Then
    Set rngFind = Sheet2.Range("H21:H1000").Find(dArr(i, 1), , xlValues, xlWhole)
    If Not rngFind Is Nothing Then dArr(i, 2) = rngFind.Offset(, -6).Value
    End If
Next
Sheet1.Range("D2").Resize(UBound(dArr), 2).Value = dArr
End Sub
 
Upvote 0
Cảm ơn bạn giaiphap, đoạn code chạy chính xác và rất nhanh.
VBA giải quyết mọi vấn đề, bạn đã làm được điều đó và mình muốn làm được gần như thế không biết phải bắt đầu từ đâu và phương thức học tập thế nào xin bạn chỉ giáo.
 
Upvote 0
Cảm ơn bạn giaiphap, đoạn code chạy chính xác và rất nhanh.
VBA giải quyết mọi vấn đề, bạn đã làm được điều đó và mình muốn làm được gần như thế không biết phải bắt đầu từ đâu và phương thức học tập thế nào xin bạn chỉ giáo.

Tôi thấy chỉ điền vào cột E được 4 MST, có lẽ tôi chạy không đúng?
Trường hợp 1 bên số CMND là text "072088000289", 1 bên là số 72088000289, cái này thì xét thế nào?
 
Upvote 0
Tôi thấy chỉ điền vào cột E được 4 MST, có lẽ tôi chạy không đúng?
Trường hợp 1 bên số CMND là text "072088000289", 1 bên là số 72088000289, cái này thì xét thế nào?
Vâng, Anh Ba Tê nói rất đúng, dữ liệu giữa 2 Sheet chưa được định dạng giống nhau nên có một số mẫu sẽ không lấy được. Điều này do nhiều nguyên nhân... Nhưng vì là dữ liệu "Test" nên em không định dạng lại, với lại đây là file mẫu chứ File thật của em nó lên đến gần chục ngàn dòng... Nhưng anh Ba Tê đã tỉ mỉ chỉ ra giúp em những sai sót nêu trên. Xin chân thành cảm ơn anh. Rất mong được sự quan tâm giúp đỡ của anh.
Tiện đây anh Ba Tê cho em hỏi nếu Sheet " Kết quả cấp MST" nằm ở một File khác thì mình phải chỉnh Code như thế nào ah??? còn về vấn đề định dạng sau này em sẽ rút kinh nghiệm chuyển về cùng kiểu Text.
 
Lần chỉnh sửa cuối:
Upvote 0
Vâng, Anh Ba Tê nói rất đúng, dữ liệu giữa 2 Sheet chưa được định dạng giống nhau nên có một số mẫu sẽ không lấy được. Điều này do nhiều nguyên nhân... Nhưng vì là dữ liệu "Test" nên em không định dạng lại, với lại đây là file mẫu chứ File thật của em nó lên đến gần chục ngàn dòng... Nhưng anh Ba Tê đã tỉ mỉ chỉ ra giúp em những sai sót nêu trên. Xin chân thành cảm ơn anh. Rất mong được sự quan tâm giúp đỡ của anh.
Tiện đây anh Ba Tê cho em hỏi nếu Sheet " Kết quả cấp MST" nằm ở một File khác thì mình phải chỉnh Code như thế nào ah??? còn về vấn đề định dạng sau này em sẽ rút kinh nghiệm chuyển về cùng kiểu Text.

- Mỗi khi kiểm tra kết quả sau khi Run code, tôi thường phải dò lại có cái gì "dzô dziêng" không.
Bạn xem file này, kiểm tra bằng các cột phụ sẽ thấy.
- Chuyện lấy dữ liệu từ file khác, nếu "yếu trong mình" thì dễ nhất là:
+ Xoá sheet GPE của file này (hoặc đổi tên thành cái gì đó khác với "GPE"
+ Copy sheet (dùng Remove or Copy sheet) từ file kia sang file này, đặt tên sheet Cố định là "GPE" như trong file, File kia chỉ để lưu làm "minh chứng"
+ Nên đặt tên sheet ngắn gọn, dễ đọc hiểu, không nên để mặc định sheet1, shee2,... chẳng biết đâu mà lần.
- Chú ý dữ liệu đồng nhất trong 1 cột, không để vừa text vừa số , vừa date... lung tung.
- Không sử dụng Merge Cells.
............... Còn nhiều.
 

File đính kèm

Upvote 0
- Mỗi khi kiểm tra kết quả sau khi Run code, tôi thường phải dò lại có cái gì "dzô dziêng" không.
Bạn xem file này, kiểm tra bằng các cột phụ sẽ thấy.
- Chuyện lấy dữ liệu từ file khác, nếu "yếu trong mình" thì dễ nhất là:
+ Xoá sheet GPE của file này (hoặc đổi tên thành cái gì đó khác với "GPE"
+ Copy sheet (dùng Remove or Copy sheet) từ file kia sang file này, đặt tên sheet Cố định là "GPE" như trong file, File kia chỉ để lưu làm "minh chứng"
+ Nên đặt tên sheet ngắn gọn, dễ đọc hiểu, không nên để mặc định sheet1, shee2,... chẳng biết đâu mà lần.
- Chú ý dữ liệu đồng nhất trong 1 cột, không để vừa text vừa số , vừa date... lung tung.
- Không sử dụng Merge Cells.
............... Còn nhiều.
Cảm ơn những đóng góp ý kiến vô cùng quí báo và chân thành của anh Ba Tê (đúng là phải gọi bằng Chú Ba Tê), trong thời gian tới em sẽ cố gắng hoàn chỉnh hơn nữa.
Quả thật là em " yếu trong mình" lắm, vì vậy mong muốn được anh không những chỉ cho các đoạn code mà còn rất mong anh chỉ " Bí quyết " để học VBA một cách thành thạo ( ví dụ như: Cần tại liệu gì, phương thức học ra sao???...). Một lần nữa xin trân trọng cảm ơn những lời góp ý của anh.
 
Upvote 0
Web KT

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

Back
Top Bottom