Hiển thị kết quả tìm kiếm từ 1 đến 8 trên tổng số: 8
  1. #1
    Tham gia ngày
    06 2006
    Bài gởi
    202
    Cảm ơn
    190
    Được cảm ơn 182 lần trong 103 bài viết

    Hàm tính tổng một ô trong tất cả các sheets

    Có bạn hỏi mình:"minh muon viet mot ham de tinh tong mot o trong tat ca cac sheet .thi du nhu o A3 chang hen minh viet nhu sau:
    PHP Code:
    Function sumall(cel As Range)’Dim wSht As Worksheet
     Dim allwShts 
    As Sheets
     Set allwShts 
    Worksheets
     
    For Each wSht In allwShts
             sumall 
    sumall cel.value
     Next wSht
    End 
    function 
    Nhung ket qua bi loi #VALUE!
    Ban co the giup minh nhe!Cam on nhieu"

    Mình có nghĩ cách giải quyết tàm tạm trong file att, mong các bạn giúp tiếp cho bạn thanguct@gmail.com
    Tập tin đính kèm Tập tin đính kèm
    thay đổi nội dung bởi: SA_DQ, 25-06-08 lúc 07:59 AM Lý do: Thêm cú pháp [php]. . . [/php]

  2. Có 2 thành viên cảm ơn kelvin về bài viết này:


  3. #2
    Tham gia ngày
    09 2006
    Nơi Cư Ngụ
    Thái Bình - Quảng Ninh
    Bài gởi
    783
    Cảm ơn
    187
    Được cảm ơn 1,217 lần trong 489 bài viết
    Một cách cực kỳ đơn giản là bạn sử dụng hàm có sẵn trong Excel.
    Để tính tổng toàn bộ các ô A1 trong tất cả các sheet ta dùng hàm: Sum()
    Tại ô bất kỳ (A3 chẳng hạn) đánh công thức sau:
    =SUM(Sheet1:Sheet3!A1)
    OK

    Nếu bạn thích viết bằng VBA thì sử dụng code sau:
    PHP Code:
    Option Explicit
    Public Function tinhtong_sheet(Cell_1 As Range)
        
    Dim Sum_All_Sheet As Double
        Dim i 
    As Byte
        Dim sheet
        i 
    0
        Sum_All_Sheet 
    0
        
    For Each sheet In Worksheets
            i 
    1
            Sum_All_Sheet 
    Sum_All_Sheet _
                       Application
    .Sheets(i).Cells(Cell_1.RowCell_1.Column)
        
    Next
        tinhtong_sheet 
    Sum_All_Sheet
    End 
    Function 

  4. Có 3 thành viên cảm ơn nvson về bài viết này:


  5. #3
    Tham gia ngày
    06 2006
    Nơi Cư Ngụ
    Hà Nội
    Bài gởi
    5,697
    Cảm ơn
    7,983
    Được cảm ơn 21,201 lần trong 4,824 bài viết
    Vấn đề này đã được tro đổi ở (tuy nhiên vẫn còn hạn chế là khi thay đổi các giá trị thì nó không tự tính toán lại):



    http://www.giaiphapexcel.com/forum/s...p?t=121&page=2



    To ngvson: Công thức = Sum() của bạn thật đơn giản, hiệu quả. Nhưng tôi hỏi nếu tên các sheet không cùng kiểu thì như thế nào vậy, có nên dùng theo thứ tự các sheet 1,2,3... thì tuỳ biến cao hơn không?

  6. #4
    Tham gia ngày
    09 2006
    Nơi Cư Ngụ
    Thái Bình - Quảng Ninh
    Bài gởi
    783
    Cảm ơn
    187
    Được cảm ơn 1,217 lần trong 489 bài viết
    Anh Hướng à. Tên Sheet không quan trọng. Vấn đề là lúc mình đánh tên hàm thôi.
    Tại ô cần tính tổng, đánh =sum( rồi chọn ô cần tính tổng, sau đó nhấn phím Shift rồi chọn đến sheet cuối cùng, tiếp đó đánh dấu ) là xong.

    Hình như hàm tính tổng của tôi khắc phục được hạn chế không tự động tính toán lại khi giá trị các ô thay đổi!!!!!!!!!

  7. Có 4 thành viên cảm ơn nvson về bài viết này:


  8. #5
    Tham gia ngày
    06 2006
    Bài gởi
    202
    Cảm ơn
    190
    Được cảm ơn 182 lần trong 103 bài viết
    bạn thanguct@gmail.com có báo kelvin
    ---------------
    Cảm ơn bạn rất nhiều ,mình cũng bận nên hôm nay mới đọc được thư của bạn .Vấn đề của mình đã được mọi người tham gia giúp đỡ .Xin cảm ơn tất cả !!Tạm biệt chúc vui vẻ
    --
    buiduythang
    NCC.,JSC
    BaiChayRoad,HalongCity
    -----------------------------------
    Nếu có ý mới trong v/đề này, mong bạn post lên để mọi người tham khảo thêm.A! nhân tiện hỏi thăm ban điều hành, ở web WKT mỗi khi có tin nhắn từ forum nó đều C/c về địa chỉ e-mail của mình, còn tin nhắn ở đây sao kg thấy default như vậy

  9. #6
    Trích Nguyên văn bởi kelvin View Post
    Có bạn hỏi mình:"minh muon viet mot ham de tinh tong mot o trong tat ca cac sheet .thi du nhu o A3 chang hen minh viet nhu sau:
    Code:
    Function sumall(cel As Range)’Dim wSht As Worksheet
     Dim allwShts As Sheets
     Set allwShts = Worksheets
     For Each wSht In allwShts
             sumall = sumall + cel.value
     Next wSht
    End function
    Nhung ket qua bi loi #VALUE!
    Ban co the giup minh nhe!Cam on nhieu"

    Mình có nghĩ cách giải quyết tàm tạm trong file att, mong các bạn giúp tiếp cho bạn thanguct@gmail.com
    Bạn "chết" ở chỗ đậm đậm kia kìa, bạn tính qua tên hàm như thế kia là "đại họa" cho việc lập trình sau này, vấn đề này gọi là đệ quy - và chỉ dùng trong trường hợp hiểu rất rõ về tính dừng của hàm.
    Để an toàn, nên làm như sau thì khỏi luôn


    PHP Code:
    Function sumall(cel As Range)’Dim wSht As Worksheet
     Dim allwShts 
    As Sheets
     Dim t 
    as long ' Ví dụ là số nguyên
     Set allwShts = Worksheets
     For Each wSht In allwShts
             t = t+ cel.value
     Next wSht
     sumall = t
    End function 
    thay đổi nội dung bởi: SA_DQ, 25-06-08 lúc 08:06 AM Lý do: Thêm cú pháp [php]. . . [/php]

  10. #7
    Tham gia ngày
    03 2008
    Nơi Cư Ngụ
    Hải Dương
    Bài gởi
    1,645
    Cảm ơn
    1,538
    Được cảm ơn 2,304 lần trong 1,107 bài viết

    Thêm một tham khảo dùng công thức

    Trích Nguyên văn bởi kelvin View Post
    Có bạn hỏi mình:"minh muon viet mot ham de tinh tong mot o trong tat ca cac sheet .thi du nhu o A3 chang hạn.Ban co the giup minh nhe!Cam on nhieu"
    Trích Nguyên văn bởi PhanTuHuong
    Vấn đề này đã được tro đổi ở (tuy nhiên vẫn còn hạn chế là khi thay đổi các giá trị thì nó không tự tính toán lại):
    To ngvson: Công thức = Sum() của bạn thật đơn giản, hiệu quả. Nhưng tôi hỏi nếu tên các sheet không cùng kiểu thì như thế nào vậy, có nên dùng theo thứ tự các sheet 1,2,3... thì tuỳ biến cao hơn không?
    Gửi bác file này để tham khảo Histories File
    Summing_Across02.xls (26.0 KB) của ndu96081631
    1. 100% là công thức
    2. Có thể tùy biến khoảng sheet được lấy giá trị để cộng
    3. Khi thêm sheet, đổi tên sheet, chuyển vị trí sheet thì List thay đổi theo <-> kết quả cũng thay đổi theo ...
    ----------------------
    Post xong nhìn lại mới thấy nhầm mục: đây là mục Các hàm tự tạo cho worksheet thế mà lại tương công thức thuần của excel vào. mong các bác bỏ qua nhé
    thay đổi nội dung bởi: SA_DQ, 25-06-08 lúc 08:10 AM Lý do: Thêm tiêu đề cho rõ nghĩa

  11. Có 3 thành viên cảm ơn boyxin về bài viết này:


  12. #8
    Tham gia ngày
    01 2007
    Bài gởi
    1,121
    Cảm ơn
    160
    Được cảm ơn 619 lần trong 369 bài viết
    Trích Nguyên văn bởi hung007007 View Post
    Function sumall(cel As Range)
    Dim wSht As Worksheet
    Dim allwShts As Sheets
    Dim t as long ' Ví dụ là số nguyên
    Set allwShts = Worksheets
    For Each wSht In allwShts
    t = t+ cel.value
    Next wSht
    sumall = t
    End function
    sumall(A1)= Giá trị ô A1 * số sheet

Thông tin về chủ đề này

Users Browsing this Thread

Hiện có 1 người đang xem đề tài này. (0 thành viên và 1 khách)

Đề tài tương tự

  1. Lọc dữ liệu từ nhiều sheet khác nhau (12-18 sheets) vào 1 sheets tổng hợp
    Viết bởi akacic trong chuyên mục Lọc và sắp xếp dữ liệu
    Trả lời: 12
    Bài mới gởi: 17-06-13, 07:33 AM
  2. code copy sheets này sang sheets kia theo TargetRange.Offset(i, 0)
    Viết bởi nad582 trong chuyên mục Lập Trình với Excel
    Trả lời: 6
    Bài mới gởi: 31-03-13, 04:39 PM
  3. Export tung sheets trong 1 file Excel vào thành từng bảng trong ACCESS
    Viết bởi hoquang1987 trong chuyên mục Ứng dụng Quản trị cơ sở dữ liệu
    Trả lời: 4
    Bài mới gởi: 30-11-09, 04:36 PM
  4. Làm cách nào để nhận biết tên các sheets trong vòng lặp
    Viết bởi Verona trong chuyên mục Hỏi đáp về VBA - Macro
    Trả lời: 10
    Bài mới gởi: 09-08-08, 06:01 PM
  5. Tìm kiếm trong tất cả các Sheets
    Viết bởi 148btx trong chuyên mục Các hàm tự tạo cho worksheet
    Trả lời: 5
    Bài mới gởi: 20-01-07, 06:54 AM

Bookmarks

Bookmarks

Quyền Sử Dụng Ở Diễn Ðàn

  • Bạn không thể đăng đề tài mới
  • Bạn không thể đăng trả lời
  • Bạn không thể đăng file đính kèm.
  • Bạn không thể sửa bài viết.
  •  

Mudim v0.8 Tắt VNI Telex Viqr Tổng hợp
Chính tả Bỏ dấu kiểu mới  [Bật/Tắt (F9)]