nguyen6571gpex
Thành viên thường trực




- Tham gia
- 22/4/11
- Bài viết
- 279
- Được thích
- 80
- Nghề nghiệp
- Dạy học
Bấm nút chọn thư mục chứa các file dữ liệu.Chào các bạn! Chúc một ngày mới tốt lành!
Mình có nhiều file dữ liệu (cấu trúc giống nhau) nhờ các bạn viết code tổng hợp vào file tổng hợp chung (chi tiết mình đã ghi trong file Tonghop) mong các bạn giúp đỡ. Trân trọng cảm ơn!
Trân trọng cảm ơn bạn rất nhiều, chúc bạn và gia đình mạnh khỏe, hạnh phúc!Bấm nút chọn thư mục chứa các file dữ liệu.
Tôi có ghi chú trong code nhưng vắn tắt và không gõ dấu được nên nói thêm ở đây:Chào các bạn!
Hôm trước mình nhờ các bạn giúp code tổng hợp dữ liệu từ nhiều file vào một file tổng hợp. Mình được các bạn quan tâm và bạn Maika8008 giúp đỡ và đã sử dụng, rất hiệu quả. Tuy nhiên mình lại có khó khăn nữa mong các bạn giúp đỡ:
1. Trong file nguồn có nhiều sheets mình muốn tổng hợp dữ liệu từ sheet 2, sau đó lại tổng hợp dữ liệu từ sheet 3 chẳng hạn thì không biết sửa code ở câu lệnh nào?
2. Trong file tổng hợp mình muốn bắt đầu Paste dữ liệu vào vị trí khác (có thể do tiêu mục nhiều lên thì điểm bắt đầu sẽ thay đổi xuống những dòng dưới) thì sửa ở câu lệnh nào?
3. Mình chưa hiểu Range("B65536") trong code nghĩa là gì?
Thật lòng mình không biết gì VBA nên mong các bạn chỉ giùm và giúp mình với. Trân trọng!
(Mình gửi kèm file dữ liệu và tổng hợp các bạn sửa giúp)
Cảm ơn bạn rất nhiều!Tôi có ghi chú trong code nhưng vắn tắt và không gõ dấu được nên nói thêm ở đây:
1. Bạn ghi tổng hợp từ sheet 2 nhưng bạn đã nhầm: ở đây là Sheets(2) - số 2 trong ngoặc đơn - để chỉ sheet thứ 2 tính từ trái sang phải. Trong khi đó file LC bui huu dien.xls bạn để sheet Mẫu 3 cần tổng hợp nằm ở thứ 3 nên code sẽ lấy nhầm số liệu ở sheet khác. Muốn không sai thì bạn phải kéo nó về bên phải 1 sheet. Để khỏi nhầm lẫn bạn nên dùng tên Sheet không có dấu vì không gõ dấu trong code được. Như sheet Mẫu 3 bạn sửa lại thành Mau 3 và viết trong code là Sheets("Mau 3").
2. Điểm bắt đầu dán dữ liệu được tính bằng câu lệnh MyWb.Sheets(1).Range("B65536").End(xlUp).Offset(1) tức là từ ô B65536 nhảy con trỏ lên gặp ô có dữ liệu cuối cùng Range("B65536").End(xlUp), nhích xuống 1 dòng Offset(1).
3. Range("B65536") là gõ thế cho nhanh do 65536 là dòng cuối của trang tính trong Excel 2003. Hiện hay để chắc ăn người ta hay ghi là Range("B" & Rows.Count). Rows.Count nếu ở Excel 2003 là 65536, còn ở 2007 trở đi là 1048576. Còn tác dụng đã nói ở mục 2.
P/S: Còn vụ Sheets(3) bạn đưa cái sheet đó lên và nói rõ tổng hợp vào đâu thì tôi sẽ chỉ.
Bạn thử file và muốn đọc hiểu code thì bấm F9 tại dòng lệnh cần ngắt để ngừng code, sau đó bấm F8 để chạy từng dòng lệnh. Quan sát sự thay đổi của file tonghop3 sau khi dòng lệnh thi hành.Chào các bạn. Chào bạn Maika8008!
Nhờ các bạn giúp phần tổng hợp sheet(3) (trong file tên sheet là Mẫu 02.1 cũng có thể các đơn vị đã đổi thành Mẫu 02 hoặc di chuyển không đúng vị trí thứ 3. Qua hướng dẫn của bạn Maika8008 ở #6 mình hiểu khi tổng hợp phải đặt đúng vị trí thứ 3 từ trái qua phải). Trong sheet đó có 3 danh sách cần thống kê (Cán bộ quản lý, Giáo viên tiểu học, Giáo viên trung học cơ sở) mình muốn coppy từng mục đó, mỗi danh sách vào một sheet riêng (như bản mẫu làm thủ công) vấn đề là các danh sách này vùng coppy là "động" các đơn vị có số lượng khác nhau, không trong vùng cố định. Mong các bạn giúp đỡ. Trân trọng cảm ơn!
Cảm ơn bạn nhiều, mình sẽ làm theo và học hỏi. Trân trọng!Bạn thử file và muốn đọc hiểu code thì bấm F9 tại dòng lệnh cần ngắt để ngừng code, sau đó bấm F8 để chạy từng dòng lệnh. Quan sát sự thay đổi của file tonghop3 sau khi dòng lệnh thi hành.
Cảm ơn bạn! Giúp mình tích hợp code ở sheet "Tonghop_GPE" #11 nhé. Trân trọng!Khi chưa chạy code, muốn ngừng ở dòng nào thì cho con nháy chuột vào dòng đó rồi F9. Sau đó chạy code nó mới ngừng ở dòng đó, F8 để chạy từng dòng tiếp theo
Không biết đâu là "các file nguồn" của bạn, còn đâu không phải là file nguồn (file thừa). Dữ liệu file tổng hợp cũng trống trơn nên không suy luận ra dữ liệu nguồn đượcCảm ơn bạn! Giúp mình tích hợp code ở sheet "Tonghop_GPE" #11 nhé. Trân trọng!
Cảm ơn bạn!Không biết đâu là "các file nguồn" của bạn, còn đâu không phải là file nguồn (file thừa). Dữ liệu file tổng hợp cũng trống trơn nên không suy luận ra dữ liệu nguồn được
Điểm số không biết lấy ở đâu?Cảm ơn bạn!
file nguồn là: 1a; 1a-1; 1a-2
file nhờ giúp: Tonghop_GPE
Còn các file: Tonghop_M.hoc; Tonghop_Diemso; Tonghop_PCNL1; Tonghop_PCNL2 là các file mình đã làm (dựa theo hướng dẫn của #6 của bạn ở trên)
Nhờ bạn bổ sung tích hợp code của file Tonghop_GPE để khi chạy code thì tổng hợp luôn dữ liệu vào 4 sheet của file Tonghop_GPE.
Vùng dữ liệu cần lấy vào từng sheet của file tổng hợp bạn xem code ở các file Tonghop_M.hoc; Tonghop_Diemso; Tonghop_PCNL1; Tonghop_PCNL2 dùm (Mình đưa những file này lên là bản thân cũng cố gắng nhưng chỉ làm được đơn lẻ vậy thôi và chưa chạy kết quả ra vì sợ nặng file đính kèm). Trân trọng!
Điểm số lấy vùng Y15:AK25 của sheet M.hocĐiểm số không biết lấy ở đâu?
Lấy tuần tự từng sheet một thôi, xem fileĐiểm số lấy vùng Y15:AK25 của sheet M.hoc
Thật tuyệt vời! Cảm ơn bạn nhiều nhé! Ngoài việc giúp đỡ bạn còn chỉ rõ ý nghĩa các câu lệnh để mình có thể đọc và hiểu thêm về VBA. Trân trọng!Lấy tuần tự từng sheet một thôi, xem file
Range chứ không phải Rang.Phiền bạn chỉ giúp: Trong file tổng hợp ở Modul 2 có đoạn: Rang(“A28:A31”).select nghĩa là gì vì mình thay đổi thử thì không nhìn thấy dữ liệu thay đổi.