Code VBA tổng hợp dữ liệu nhiều sheet vào một sheet.

Liên hệ QC

nguyentandat200595

Thành viên mới
Tham gia
15/6/18
Bài viết
14
Được thích
2
Hiện tại e có một bảng excel trong đó có nhiều sheet .E muốn tổng hợp dữ liệu từ nhiều sheet vào sheet tổng hợp phải làm sao. nhờ mọi người hướng dẫn. E có gửi kèm file
 

File đính kèm

  • BIỂU MẪU CHUYỂN ĐI,.xlsx
    33.7 KB · Đọc: 44
Một số lưu í gởi tới chủ bài đăng:
(*) Tên trang tính không nên xài tiếng Việt có dấu & nên ngắn gọn nếu có thể (nhất là bạn đang có nhu cầu xài VBA);
Ví dụ THop thay vì 'Tổng Hợp';
NCTh (hay NCThanh') thay vì 'Nguyễn Chí Thanh' & TrDh (hay 'TDinh') thay vì 'Trương Định',. . . . .
(*) Mỗi người trong danh sách nên có mã định danh duy nhất, nếu bạn muốn CSDL vận hành trơn tru, lưu loát & trường tồn theo thời gian;

(+) Dữ liệu bạn đưa ra quá sơ sài & hời hợt! & như vậy mất đi vẻ thiện cảm fần nào với những người có nhã í giúp bạn.
(+) Bạn nên cho vô trang 'THop' những dòng kết quả mà bạn mong muốn. Bạn thông cảm; rất nhiều người trên cộng đồng này không cùng nghề với bạn.

Chúc ngày cuối tuần vui vẻ & hạnh phúc!
 
Một số lưu í gởi tới chủ bài đăng:
(*) Tên trang tính không nên xài tiếng Việt có dấu & nên ngắn gọn nếu có thể (nhất là bạn đang có nhu cầu xài VBA);
Ví dụ THop thay vì 'Tổng Hợp';
NCTh (hay NCThanh') thay vì 'Nguyễn Chí Thanh' & TrDh (hay 'TDinh') thay vì 'Trương Định',. . . . .
(*) Mỗi người trong danh sách nên có mã định danh duy nhất, nếu bạn muốn CSDL vận hành trơn tru, lưu loát & trường tồn theo thời gian;

(+) Dữ liệu bạn đưa ra quá sơ sài & hời hợt! & như vậy mất đi vẻ thiện cảm fần nào với những người có nhã í giúp bạn.
(+) Bạn nên cho vô trang 'THop' những dòng kết quả mà bạn mong muốn. Bạn thông cảm; rất nhiều người trên cộng đồng này không cùng nghề với bạn.
Hi bạn,
Bạn có thể cài đặt ASAP Utilities vào excel và sử dụng chức năng 19. Put together rows or columns from several sheets trong tab Columns & Rows nhé.
https://www.asap-utilities.com/blog...-combine-numerous-sheets-into-a-single-sheet/

Cảm ơn
cám ơn bạn rất nhiều

Chúc ngày cuối tuần vui vẻ & hạnh phúc!
 
Cám ơn bạ đã góp ý.Mình đã chỉnh sửa lại như bạn nói...mong mọi người chỉ giúp
Bài đã được tự động gộp:

Hi bạn,
Bạn có thể cài đặt ASAP Utilities vào excel và sử dụng chức năng 19. Put together rows or columns from several sheets trong tab Columns & Rows nhé.
https://www.asap-utilities.com/blog...-combine-numerous-sheets-into-a-single-sheet/

Cảm ơn[/QUOT
Mình đã cài đặt xong nhưng ko biết cách sử dụng.bạn chỉ mình quới
 
Lần chỉnh sửa cuối:
Bạn tham khảo macro này:
PHP:
Sub TongHopDuLieu()
 Dim Sh As Worksheet
 Dim Rws As Long, Col As Byte
 For Each Sh In ThisWorkbook.Worksheets
    If Sh.Name <> "THop" Then
        Rws = Sh.[B3].CurrentRegion.Rows.Count
        If Rws > 1 Then
            Col = Sh.[B3].CurrentRegion.Columns.Count
            Sh.[A4].Resize(Rws, Col).Copy Destination:=Sheets("THop").[A65500].End(xlUp).Offset(1)
        End If
    End If
 Next Sh
End Sub
 
Bạn tham khảo macro này:
PHP:
Sub TongHopDuLieu()
Dim Sh As Worksheet
Dim Rws As Long, Col As Byte
For Each Sh In ThisWorkbook.Worksheets
    If Sh.Name <> "THop" Then
        Rws = Sh.[B3].CurrentRegion.Rows.Count
        If Rws > 1 Then
            Col = Sh.[B3].CurrentRegion.Columns.Count
            Sh.[A4].Resize(Rws, Col).Copy Destination:=Sheets("THop").[A65500].End(xlUp).Offset(1)
        End If
    End If
Next Sh
End Sub
Hay quá bạn ơi...cám ơn bạn nhiều lắm.Bạn cho mình hỏi ví dụ nếu mình thay đổi số liệu ở 1 sheet thì ờ sheet tổng hợp có thay đổi theo không bạn...nếu được bạn chỉ minh cái này luôn nhe
 
Bạn ơi cho mình hỏi ví dụ nếu mình thay đổi số liệu ở 1 sheet thì ờ sheet tổng hợp có thay đổi theo không bạn...nếu được bạn chỉ minh cái này luôn nhe
 
Bạn ơi cho mình hỏi ví dụ nếu mình thay đổi số liệu ở 1 sheet thì ờ sheet tổng hợp có thay đổi theo không bạn...nếu được bạn chỉ minh cái này luôn nhe
Có 2 khả năng:
1.Cập nhật tiếp dữ liệu tiếp nối vào bảng dữ liệu vừa được ghi.
2. Xóa dữ liệu cũ vừa ghi, cập nhật dữ liệu mới.
Vậy bạn cần khả năng nào?
 
Có 2 khả năng:
1.Cập nhật tiếp dữ liệu tiếp nối vào bảng dữ liệu vừa được ghi.
2. Xóa dữ liệu cũ vừa ghi, cập nhật dữ liệu mới.
Vậy bạn cần khả năng nào?
Ví dụ như mình chỉnh sửa hoặc thêm đối tượng mới thì sheet tổng hợp nó được cập nhật theo,. Chứ mỏi lần mình nhấn F5 thì nó tổng hợp lần nửa như vậy sẽ bị trùng.
 
. . Cho hỏi ví dụ nếu mình thay đổi số liệu ở 1 sheet thì ờ sheet tổng hợp có thay đổi theo không bạn...nếu được bạn chỉ minh cái này luôn nhe
Thứ nhất, Các thành viên ở các trang tính cần có mã duy nhất; Điều này là cần thiết để không có việc râu ông này cắm vô cằm bà kia, như ông bà nói.
Mã duy nhất này có trong toàn bộ các nhân vật tham gia trong chuyện thuyên chuyển (giống như số danh đính cá nhân vậy)
Lúc đó thì có thay đổi gì (ngoài mã danh định này là vô tư được cập nhật.

Chuyện cập nhật của từng trang tính sẽ là thực thií macro có nội dung không khác nhau mấy.
Mã định danh này hện bạn xài mã định danh cá nhân đi; Riêng các cháu HS chưa có CMND thì bạn tùy chỉnh khác với CMND của cha hay mẹ của chúng đi 1 chút

Mình có thể gợi í bạn mã định danh duy nhất gọn hơn; Nhưng chuyện này bạn cần cho biết danh sách toàn bộ các trang tính trong CSDL mới thực thi được.
 
Thứ nhất, Các thành viên ở các trang tính cần có mã duy nhất; Điều này là cần thiết để không có việc râu ông này cắm vô cằm bà kia, như ông bà nói.
Mã duy nhất này có trong toàn bộ các nhân vật tham gia trong chuyện thuyên chuyển (giống như số danh đính cá nhân vậy)
Lúc đó thì có thay đổi gì (ngoài mã danh định này là vô tư được cập nhật.

Chuyện cập nhật của từng trang tính sẽ là thực thií macro có nội dung không khác nhau mấy.
Mã định danh này hện bạn xài mã định danh cá nhân đi; Riêng các cháu HS chưa có CMND thì bạn tùy chỉnh khác với CMND của cha hay mẹ của chúng đi 1 chút

Mình có thể gợi í bạn mã định danh duy nhất gọn hơn; Nhưng chuyện này bạn cần cho biết danh sách toàn bộ các trang tính trong CSDL mới thực thi được.
Dạ e sài code thầy mới cho e lúc nảy thì rất tốt.... nhưng khi thêm mới đối tượng e bấm F5 lần nửa thì nó tổng hợp lần nửa dẫn đến bị trùng. có cách nào mà khi thêm đối tượng mới thi tự động cập nhật bên sheet tổng hợp không thầy.E cám ơn
 
Cách dễ nhất là xóa toàn bộ dữ liệu cũ ở trang 'THop' đi thôi, trước khi chạy macro cập nhật.
Nhưng đây là cách không nên làm nhất;
Lí do là làm 1 việc vô bổ khi chép dữ liệu các trang khác không thay đổi trong mỗi lần xóa & chạy macro.
Cách tốt nhất là trang nào vừa thay đổi, ta cập nhật dữ liệu của trang đó sang trang 'THop' mà thôi;
Muốn vậy, mỗi người cần có mã danh định như mình đã nêu bên trên.

Bạn tham khảo bộ mã sau:
PHP:
FMT00  Đỗ Thị Mỹ Trâm
FMT01  Đỗ Minh Trường
FMT02  Đỗ Thị Minh Tâm
FNA00  Đoàn Ngọc Anh
FNA01  Đặng Thị Ngọc Ân
FNC00  Đặng Quỳnh Ngọc Châu
FNH00  Đào Trần Nhật Hào
FNH01  Đinh Ngọc Hùng
FNH00  Đinh Nhật Hào
FNL00  Đặng Ngọc Lâm
FNP00  Đặng Ngọc Phương
FNT00  Đoàn Ngọc Thuận
FNT01  Đỗ Nguyễn Ngọc Tường
FNY00  Đặng Hồ Như Ý
FNY01  Đỗ Thùy Ngọc Ý
FJV00  Đào Viễn
. . .     . . . . . .
 
Lần chỉnh sửa cuối:
Mình gởi bạn file này; Thử trãi nghiệm nguyên ngày hôm nay nha & sau đó cho í kiến

Chúc tuần làm việc vui vẻ & thành công!
 

File đính kèm

  • Find.rar
    26.9 KB · Đọc: 62
Dạ E cám ơn..Nhưng mà có cách nào (1) ẩn cột Mã đi. mõi khí mình nhập thêm tên một người thì cột Mã +(2) thêm 1 số

(1) Ẩn cột mã thì quá dễ là đằng khác; Nhưng nó là xương sống của CSDL; Nếu ẩn rồi lấy gì để bạn cũng như chương trình căn cứ vô đâu để làm việc?

(2) Nếu không xài bộ mã gợi í, bạn có thể xài mã ID theo số thứ tự giảm dần, như bắt đầu từ 999, 998,. . . . . 100
[Không nên xài tiếp những kí số dưới 100 trong Excel - vậy thôi!]
Nhưng mã ID này trong các trang tính là không trùng nhau à nha. Rõ nghĩa hơn sẽ là: Nếu bên trang F_NCT đã xài 998, thì ở các trang còn lại không thể xài mã ID này nữa, thế thôi!
 
(1) Ẩn cột mã thì quá dễ là đằng khác; Nhưng nó là xương sống của CSDL; Nếu ẩn rồi lấy gì để bạn cũng như chương trình căn cứ vô đâu để làm việc?

(2) Nếu không xài bộ mã gợi í, bạn có thể xài mã ID theo số thứ tự giảm dần, như bắt đầu từ 999, 998,. . . . . 100
[Không nên xài tiếp những kí số dưới 100 trong Excel - vậy thôi!]
Nhưng mã ID này trong các trang tính là không trùng nhau à nha. Rõ nghĩa hơn sẽ là: Nếu bên trang F_NCT đã xài 998, thì ở các trang còn lại không thể xài mã ID này nữa, thế thôi!
_ Dạ E cám ơn. đoạn code đó có thể sử dụng cho file này được không thầy, Nếu được thì mình cần sửa lại ở chổ nào trong đoạn code.
_ E không hiểu làm sao mình tạo được cái biểu tượng cập nhật, khi mình nhấp vố thì nó cập nhật á thầy. Nhờ Thầy chỉ giúp E
 

File đính kèm

  • MẪU HUY ĐỘNG VÀO LỚP 1.xlsx
    118.9 KB · Đọc: 10
  • Untitled.png
    Untitled.png
    126.8 KB · Đọc: 17
Lần chỉnh sửa cuối:
_. . . . . đoạn code đó có thể sử dụng cho file này được không thầy, Nếu được thì mình cần sửa lại ở chổ nào trong đoạn code.
_ E không hiểu làm sao mình tạo được cái biểu tượng cập nhật, khi mình nhấp vố thì nó cập nhật á thầy. Nhờ chỉ giúp

Các bạn khác trong cộng đồng giúp tiếp dùm bạn í đi; Mình không được rỗi cho lắm!
 
Thầy giúp dùm e lần nửa đi thầy. Cám ơn thầy
Thầy ơi. E đã sao chép cái bài của thầy xong rồi e thay đổi vài hàng nhưng đoạn code không chạy.. nhờ thầy chỉnh lại đoạn code dùm e xíu nhe thầy.E cám ơn thầy nhiều
Bài đã được tự động gộp:

Thầy giúp dùm e lần nửa đi thầy. Cám ơn thầy

Các bạn khác trong cộng đồng giúp tiếp dùm bạn í đi; Mình không được rỗi cho lắm!
Thầy ơi. E đã sao chép cái bài của thầy xong rồi e thay đổi vài hàng nhưng đoạn code không chạy.. nhờ thầy chỉnh lại đoạn code dùm e xíu nhe thầy.E cám ơn thầy nhiều
 

File đính kèm

  • VÀO LỚP 1.xls
    188.5 KB · Đọc: 12
  • VÀO LỚP 1.xls
    188.5 KB · Đọc: 3
Web KT
Back
Top Bottom