adonis_thanh
Thành viên chính thức


- Tham gia
- 16/8/12
- Bài viết
- 97
- Được thích
- 6
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.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ứ.
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ạnHì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).
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
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.
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.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.
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.- 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.