Nhờ các anh các chị giúp code để copy dữ liệu sau đó định dạng bảng

  • Thread starter Thread starter tn001
  • Ngày gửi Ngày gửi
Liên hệ QC

tn001

Thành viên chính thức
Tham gia
29/12/08
Bài viết
78
Được thích
4
Em có 1 file excle có 4 sheet. Sheet (Dulieu, Dieukhien, ketqua, footer).
Sheet Dulieu có thể nhập liệu bằng tay hoặc copy từ một file excel khác, số dòng Sheet Dulieu có thể nhiều ít không cố định. Sheet Dieukhien có 1 nút lệnh để tổng hợp dữ liệu từ Sheet Dulieu sau đó đóng bảng và copy nội dung của sheet Footer vào cuối cùng
em gửi kèm file mong các anh chị giúp đỡ ạ! em cảm ơn nhiều!
 

File đính kèm

Em có 1 file excle có 4 sheet. Sheet (Dulieu, Dieukhien, ketqua, footer).
Sheet Dulieu có thể nhập liệu bằng tay hoặc copy từ một file excel khác, số dòng Sheet Dulieu có thể nhiều ít không cố định. Sheet Dieukhien có 1 nút lệnh để tổng hợp dữ liệu từ Sheet Dulieu sau đó đóng bảng và copy nội dung của sheet Footer vào cuối cùng
em gửi kèm file mong các anh chị giúp đỡ ạ! em cảm ơn nhiều!
Bạn sử dụng code sau nhé:
PHP:
Sub TongHop()
    Sheet3.Activate
    Rows("7:1000").Delete
    Sheet2.[A1].CurrentRegion.Copy [B7]
    [B7].CurrentRegion.Borders.LineStyle = 1
    Range([B8], [B1000].End(xlUp)).Resize(, 12).Borders(xlInsideHorizontal).LineStyle = 0
    Sheet4.[A1:L3].Copy [B1000].End(xlUp).Offset(2)
End Sub
 

File đính kèm

Upvote 0
cảm ơn anh rất nhiều! Anh có thể cho em hỏi thêm là trong trường hợp Sheet dulieu là từ tháng 1-12. Nhưng chỉ cần tổng hợp các tháng 2-4-6-7-9-12 thì sửa code như thế nào ạ. Xin cảm ơn anh rất nhiều!

Anh Nghiaphuc và các anh khác nữa ơi, ai biết chỉ giúp em với
Em có 1 file excle có 4 sheet. Sheet (Dulieu, Dieukhien, ketqua, footer).
Sheet Dulieu có thể nhập liệu bằng tay hoặc copy từ một file excel khác, số dòng Sheet Dulieu có thể nhiều ít không cố định. Sheet Dieukhien có 1 nút lệnh để tổng hợp dữ liệu từ Sheet Dulieu sau đó đóng bảng và copy nội dung của sheet Footer vào cuối cùng
em gửi kèm file mong các anh chị giúp đỡ ạ! em cảm ơn nhiều!

cảm ơn anh rất nhiều! Anh có thể cho em hỏi thêm là trong trường hợp Sheet dulieu là từ tháng 1-12. Nhưng chỉ cần tổng hợp các tháng 2-4-6-7-9-12 thì sửa code như thế nào ạ. Xin cảm ơn anh rất nhiều!

Thêm nữa là các dòng kẻ ngang trong bảng là dạng dấu châm ........... thì làm thế nào ạ

Mong các anh giúp đỡ! em cảm ơn rất nhiều ạ
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Thực ra bạn chỉ cần 2 trang tính mà thôi (xem trong file)

Cách sử dụng như sau:

Ở trang DuLieu:
Trường hợp muốn macro báo cáo chỉ vài tháng nào đó, ta dùng chuột kích hoạt dòng 7 của các tháng đó trước khi bấm vô nút "ĐIỀU KHIỂN" (VD: Muốn có` B/C các tháng 3,6,9 & 12 ta kích hoạt đồng thời [d7], [g7], [j7] & [M7])

Ngược lại, ta kích hoạt ô nào đó bất kỳ ngoài hàng này; Lúc đó ta sẽ có báo cáo năm;

Hãy cho biết những gì làm bạn chưa vừa í!
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Cảm ơn Bác HYen17 nhiều. Phần copy và định dạng bảng của bạn đã giúp mình giải quyết được vấn đề của em rồi!
Bác HYen17 cho em hỏi thêm là nếu như dữ liệu là các cột >12 tháng: ví dụ sheet dulieutừ B4:AN4, mà em chỉ muốn copy dữ liệu từ các cột C4, H4, j4,k4,n4, o4, p4, s4 thành một bảng có định dạng như bác HYen17 đã giúp đỡ em tại sheet ketqua (Thứ tự các cột C4, H4, j4,k4,n4, o4, p4, s4 sang bên bảng mới có thể đảo vị trí theo ý mình). Xong phần bảng thì copy thêm nội dung của sheet footer vào cuối bảng ở sheet ketqua được không?

Xin cảm ơn bác nhiều!
 

File đính kèm

Upvote 0
Bác cho em hỏi thêm: (2) Nếu như dữ liệu là các cột >12 tháng: ví dụ sheet dulieutừ B4:AN4, mà em chỉ muốn copy dữ liệu từ các cột C4, H4, j4,k4,n4, o4, p4, s4 thành một bảng có định dạng như bác HYen17 đã giúp đỡ em tại sheet ketqua ((3)Thứ tự các cột C4, H4, j4,k4,n4, o4, p4, s4 sang bên bảng mới có thể đảo vị trí theo ý mình). (1) Xong phần bảng thì copy thêm nội dung của sheet footer vào cuối bảng ở sheet ketqua được không?
(1) Báo cáo của bạn nên làm bằng macro như mình & NghiaPhuc đã làm. Mà bạn biết đó, macro có thể chạy từ nút lệnh như bạn lấy cả 1 trang tính làm mỗi việc là gắn nút lệnh để chạy là fí fạm tài nguyên không cần thiết. Bạn thấy để nút lệnh ở trang CSDL có ảnh hưởng gì không vậy? Nếu có ảnh hưởng thì ta còn cách khác là gán tổ hợp fím nóng cho macro để lúc nào cần chạy thì bấm thôi hay đưa nút lệnh lên thanh menu cũng OK mà! (Chuyên nút lệnh này bạn tự nghiêm cứu trên diễn đàn tiếp đi nha)
Bạn lấy nguyên 1 trang để chứa fần footer cũng là không cần thiết; Bạn có thể lấy vùng trống nào đó ở trang tính 'KQua' như 'IA1:iK3' để làm việc này mà; & nói thêm cho vui: Copy từ trang tính khác sẽ không nhanh bằng copy trong nôi bộ trang tính đâu; Hãy Trùm sò 1 chút đi là vừa

(2) Ở bài đầu, CSDL của bạn bắt đầu từ dòng 7, nên trong macro có nhiều số 7; Giờ ta cần chuyển sang dòng 4, thì sẽ không có vấn đề gì to tác; (Bạn thử làm sáng nay coi,; Nếu chưa đặng chiều mình về sẽ giúp)

(3) Còn chuyên đảo cột ở trang 'KQua' thì hãy chờ 1 vài buổi sẽ OK thôi). Nhưng cách mà mình mường tượng sẽ như thế này (giải thuật):
Trước tiên ta cứ đem hết các cột cần thiết sang 'KQua' theo thứ tự mà chúng vốn có;
Sang bên 'KQua' ta lần lượt chuyển đổi từng đôi một cho vừa í là OK chứ gì:
Chọn 2 đầu cột & Ẻn 01 fát, chúng sẽ được đổi vị trí cho nhau, & cứ thế. . . cho đến ưng í, OK?

Thân ái
 
Upvote 0
Cảm ơn bác HYen17 nhiều, vấn đề của em đã được Bác và Bác Nghiaphuc giải quyết okie rồi. Code copy tất cả vùng dữ liệu là okie. Nhưng ở đây em muốn hỏi thêm chút là trong cả vùng dữ liệu ví dụ sheet dulieutừ B4:AN4, mà em chỉ muốn copy dữ liệu từ các cột C4, H4, j4,k4,n4, o4, p4, s4 thành một bảng có định dạng như bác HYen17 đã giúp đỡ em tại sheet ketqua. Vì em không biết lập trình nên để diễn đạt đơn giản e có thể hình dung như sau:
bien1=vùng dữ liệu cột C4
bien2=vùng dữ liệu cột H4
bien3=vùng dữ liệu cột j4
bien4=vùng dữ liệu cột k4
bien5=vùng dữ liệu cột C4
.....
và khi đó ở bên cột kết quả ta có thể sắp sếp theo tùy ý(muốn thay đổi thì chỉ cần sửa code chút, vì vấn đề này không mang tính thay đổi nhiều. Bài trả lời đầu tiên của Bác Hyen17 và Nghiaphuc là đã giúp đỡ được vấn đề của em rồi, ở đây là em chỉ hỏi thêm chút mở rộng thôi )
cảm ơn các bác nhiều!
 
Upvote 0
Copy cột dữ liệu theo trật tự màu cho trước

/(hi bạn sang trang 'DuLieu' sẽ thấy dẫy màu ở dòng đầu. Đây là dãy quy ước thứ tự từ trái qua fải để copy các cột dữ liệu từ dòng 4 trở xuống.

Như vậy bạn muốn copy cột nào đầu tiên thì tô màu nền đầu cột đó (ở dòng 4) màu nền trùng với màu ở [B1], cột thứ 2 ứng với màu nền ở [C1],. . .
Lúc đầu sẽ khó với bạn màu ở ví dụ [D1] là màu gì, ta thực hiện theo quy trình sau:
Bấm chuột vô [D1], sau đó mở bảng màu trên thanh menu; ta sẽ thấy ô màu tương ứng được viền khung; Để dễ nhớ ta bấm chuột vô khung được viền đó (làm nó trở thành mặc định); Sau đó ta rà chọn ô cần chép theo thứ tự 4 (T07-10 trên trang tính); Kích hoạt nó & lại bấm chuột lên bảng màu nền để tô màu trùng với [D1] . . . . & cứ thế tiếp tục cho tối đa 14 cột.
Sau quá trình tô màu, ta bấm chuột vô nút lệnh "Copy By Color" để xem macro đã thoả mãn theo iêu cầu của bạn chưa!
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom