dinh_trong_hoa
Thành viên mới

- Tham gia
- 14/8/12
- Bài viết
- 23
- Được thích
- 3
Chào các bạn !
- Mình có một vướn mắc về LBound & UBound. Mong các bạn chỉ dẫn thêm.
- Trong file kèm theo có 02 sheets: sheet "danh sach" là sheet gốc, lưu trữ thông tin về sản phẩm, sheet "he thong code" là danh sách code cần kiểm tra. Mỗi một cell là một tập hợp các code của một sản phẩm cách nhau bằng dấu ";" (Một sản phẩm có thể có nhiều code vd: sửa rữa mặt tên "A", có nhiều loại dung tích, mỗi dung tích là một code, nhưng có cùng tên sản phẩm là "A"). Mình muốn viết một code dùng để tìm kiếm dữ liệu từ các cells đó, bằng phương pháp tách ra thành từng mãng nhỏ rồi bỏ vào vòng lặp For kết hợp với Split; UBound & LBound. Cách này dùng trong access thì chạy gog lắm nhưng ứng dụng vào excel thì bị báo lỗi mãng.
https://drive.google.com/file/d/0B_rEhoBtrvsQMENZVlMxNklOS3c/edit?usp=sharing
Sub demo()
Dim i, z As Integer
Dim mang As String
For i = 2 To 2889
mang = Split(Sheets("he thong code").Cells(i, 1), ";")
For z = 1 To UBound(mang, 1)
For y = 2 To 1595
If mang(z) = Sheets("danh sach").Cells(y, 1) Then _
Sheets("he thong code").Cells(i, 2) = Sheets("danh sach").Cells(y, 1)
Next
Next
Next
End Sub
- Mình có một vướn mắc về LBound & UBound. Mong các bạn chỉ dẫn thêm.
- Trong file kèm theo có 02 sheets: sheet "danh sach" là sheet gốc, lưu trữ thông tin về sản phẩm, sheet "he thong code" là danh sách code cần kiểm tra. Mỗi một cell là một tập hợp các code của một sản phẩm cách nhau bằng dấu ";" (Một sản phẩm có thể có nhiều code vd: sửa rữa mặt tên "A", có nhiều loại dung tích, mỗi dung tích là một code, nhưng có cùng tên sản phẩm là "A"). Mình muốn viết một code dùng để tìm kiếm dữ liệu từ các cells đó, bằng phương pháp tách ra thành từng mãng nhỏ rồi bỏ vào vòng lặp For kết hợp với Split; UBound & LBound. Cách này dùng trong access thì chạy gog lắm nhưng ứng dụng vào excel thì bị báo lỗi mãng.
https://drive.google.com/file/d/0B_rEhoBtrvsQMENZVlMxNklOS3c/edit?usp=sharing
Sub demo()
Dim i, z As Integer
Dim mang As String
For i = 2 To 2889
mang = Split(Sheets("he thong code").Cells(i, 1), ";")
For z = 1 To UBound(mang, 1)
For y = 2 To 1595
If mang(z) = Sheets("danh sach").Cells(y, 1) Then _
Sheets("he thong code").Cells(i, 2) = Sheets("danh sach").Cells(y, 1)
Next
Next
Next
End Sub
Lần chỉnh sửa cuối: