Chào mừng đến với Diễn đàn Dân Kế Toán - Kế toán tổng hợp thực tế.
Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 15
  1. #1
    Ngày tham gia
    Aug 2015
    Bài viết
    0

    Copy dữ liệu từ các sheet nhanh nhất


  2. #2
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Copy dữ liệu từ các sheet nhanh nhất




    Trích dẫn Gửi bởi Loan1989
    Giả sử mình có một fiel exel gồm 10 sheet.Các bạn có biết cách nảo để tạo một sheet gồm dữ liệu từ 10 sheet này mà không dùng lệnh copy từng sheet không"?
    Thanks
    Nếu tất cả các sheet đều có cấu trúc tương tự nhau thì có thể dùng công cụ Consolidate để "gộp" dữ liệu các bảng lại. Vừa xem chi tiết được, vừa có thể xem số liệu tổng kết được.

    Bạn có thể xem Help về cách sử dụng Consolidate.

  3. #3
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Copy dữ liệu từ các sheet nhanh nhất




    Trích dẫn Gửi bởi Loan1989
    Giả sử mình có một fiel exel gồm 10 sheet.Các bạn có biết cách nảo để tạo một sheet gồm dữ liệu từ 10 sheet này mà không dùng lệnh copy từng sheet không"?
    Thanks
    Không copy bằng tay thì dùng VBA vậy! Consolidate chưa chắc đã làm được đâu nếu dử liệu không phải dạng số

  4. #4
    Ngày tham gia
    Jan 2016
    Đang ở
    90 Giảng Võ, Ba Đình, Hà Nội
    Bài viết
    3
    Ðề: Copy dữ liệu từ các sheet nhanh nhất

    Mình lại chẳng biết gì về VBA cả.Có bạn nào có đoạn code upload lên cho mình được không?
    Thanks

  5. #5
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Copy dữ liệu từ các sheet nhanh nhất




    Trích dẫn Gửi bởi Loan1989
    Giả sử mình có một fiel exel gồm 10 sheet.Các bạn có biết cách nảo để tạo một sheet gồm dữ liệu từ 10 sheet này mà không dùng lệnh copy từng sheet không"?
    Thanks
    bạn dùng hàm indirect nhé, nó sẽ cho kết quả của các sheet về 1 sheet.

  6. #6
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Copy dữ liệu từ các sheet nhanh nhất




    Trích dẫn Gửi bởi Loan1989
    Giả sử mình có một fiel exel gồm 10 sheet.Các bạn có biết cách nảo để tạo một sheet gồm dữ liệu từ 10 sheet này mà không dùng lệnh copy từng sheet không"?
    Thanks
    Thay vì làm như thế thì ngay từ đầu bạn đừng gõ vào 10 sheet riêng biệt mà nên gõ chung vào 1 sheet.
    Chỉ cần thêm 1 cột ghi số phân loại.
    Về sau khi cần lấy số liệu của 1 sheet (theo ý ban đầu của bạn) thì chỉ cần dùng bộ lọc mà lấy ra.

    Ví dụ thay vì lập sổ Nhật ký chung cho từng tháng trên từng sheet, hãy lập chung cho cả năm, và thêm cột "THÁNG" vào đó.

    Bạn cảm thấy khó khăn?

    Đó là vì Excel là phần mềm xử lý bảng tính chứ không phải là phần mềm quản lý cơ sở dữ liệu. Khó khăn là đương nhiên.

  7. #7
    Ngày tham gia
    Aug 2015
    Bài viết
    392
    Ðề: Copy dữ liệu từ các sheet nhanh nhất




    Trích dẫn Gửi bởi muontennguoi
    Thay vì làm như thế thì ngay từ đầu bạn đừng gõ vào 10 sheet riêng biệt mà nên gõ chung vào 1 sheet.
    Chỉ cần thêm 1 cột ghi số phân loại.
    .
    Cái này tôi đồng ý (vì tôi vẫn thường làm vậy), những giả sử dử liệu đang có của người ta là nhiều sheet thì sao
    Tóm lại: Sang Giai pháp Excel mà hỏi, vì tôi có file nhưng chẳng biết gữi lên bằng cách nào...
    Nói ngắn gọn là:
    - Dùng vòng lập quét qua các sheet (với đ/k bỏ qua sheet cần tổng hợp)
    - Copy và paste nối đuôi vào sheet cần tổng hợp
    Cực kỳ đơn giản (bạn có thể record macro rồi chỉnh sửa lại code)

  8. #8
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Copy dữ liệu từ các sheet nhanh nhất

    Trong trường hợp đó thì việc xác định các sheet cần thiết cũng cần có quy tắc nhất định.

    Ví dụ các sheet được đặt tên là "NKC-T01", "NKC-T02" ... thì mới có thể dựa theo quy tắc đặt tên đó là tính toán tên sheet cần thiết.

    Vậy, thực ra thao tác chọn vùng rồi nhấn Ctrl+C rồi sang sheet tổng hợp, đặt con trỏ ở cột A, nhấn ctrl+mũi tên xuống, xuống dòng trống kế tiếp và cuối cùng nhấn ctrl+V, tuy kể ra thì dài nhưng làm thì rất nhanh, chỉ vài cú click và cài cú gõ là xong.
    Đó là cách chung nhất, hiệu quả nhất.

    Thêm:
    Để chọn nguyên vùng data liên kế nhau bạn hãy nhấn chuột phải trên menu hoặc toolbar, rồi chọn Customize. Ở tab Commands, trong khung Categoires chọn Edit, trong khung Commands chọn Select current region (có hình vuông đen với 4 mũi tên chĩa ra 4 góc) rồi lôi nó bỏ vào thanh công cụ để dùng về sau.

    -----------
    Nếu bạn viết code thì nó đại khái như sau (Giả sử tên sheet không có quy tắc nào cả, phải chỉ ra chính xác tên từng sheet):
    <div style="padding-left: 30px">Sub Macro1()
    '
    ' Macro1 Macro
    ' Macro recorded 19/01/2009 by Duong Thai Binh
    '
    '
    Dim sheet_TH As String
    sheet_TH = "sheet-TH"

    Sheets("Sheet1").Select
    Range("A1").Select
    Selection.CurrentRegion.Select
    Selection.Copy
    Sheets(sheet_TH).Select
    Range("A1").Select
    ActiveSheet.Paste

    Sheets("Sheet2").Select
    Range("A1").Select
    Selection.CurrentRegion.Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets(sheet_TH).Select
    Selection.End(xlDown).Select
    Selection.Offset(1, 0).Select
    ActiveSheet.Paste

    Sheets("Sheet3").Select
    Range("A1").Select
    Selection.CurrentRegion.Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets(sheet_TH).Select
    Selection.End(xlDown).Select
    Selection.Offset(1, 0).Select
    ActiveSheet.Paste

    ' Ở trên là copy 3 sheet sang sheet tổng hợp, bạn hãy copy thêm ra thành 10 đoạn cho đủ 10 sheet.
    ' Nhớ sửa lại tên sheet cho đúng.

    End Sub
    ​</div>Lưu ý code trên cần điều kiện:
    - VÙng data nằm bắt đầu ở ô A1 trên tất cả các sheet.
    - Tên các sheet là không có quy tắc gì cả thành ra cần phải sửa lại (gõ lại code ở trên) cho đúng với file của bạn.
    - Nếu tên các sheet là có quy tắc thì bạn có thể dùng vòng lặp cho chương trình gọn hơn.

    Tóm lại đoạn chương trình như vậy cũng có hơi là củ chuối, chẳng có ích lợi gì nhiều, trừ khi nó nằm trong 1 chương trình lớn.

  9. #9
    Ngày tham gia
    Nov 2015
    Bài viết
    0
    Ðề: Copy dữ liệu từ các sheet nhanh nhất

    Giã sử bạn muốn copy tất cả các sheet vào 1 sheet tên Main
    Vậy ta làm như sau:



    Mã nguồn HTML:
    
    
    Cứ việc nhập liệu thoải mái, chỉ cần khi bạn chọn vào sheet Main là dử liệu sẽ được cập nhật
    Code này code dử liệu, bỏ qua tiêu đề

  10. #10
    Ngày tham gia
    Nov 2015
    Bài viết
    0
    Ðề: Copy dữ liệu từ các sheet nhanh nhất

    Nếu khi bắt đầu chạy mà không biết chắc sheet nào đang là hiện thời (con trỏ đang nằm ở bất kỳ chỗ nào) thì đọan trên chỉ cần thêm 1 dòng:


    Option Explicit
    Private Sub Worksheet_Activate()
    Dim Sh As Worksheet
    Application.ScreenUpdating = False
    sheets("Main").select
    Range("A1").CurrentRegion.ClearContents
    For Each Sh In Worksheets
    If Sh.Name <> "Main" Then
    Sh.Range("A1").CurrentRegion.Offset(1).Copy
    Range("A65536").End(xlUp).Offset(1).PasteSpecial 3
    End If
    Next Sh
    Application.CutCopyMode = False
    End Sub

 

 
Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •