File tăng dung lượng tăng lên bất thường

Liên hệ QC

♫ђöล♥ßล†♥†µ♫

Thành viên tiêu biểu
Tham gia
10/3/18
Bài viết
684
Được thích
1,443
Giới tính
Nữ
Nghề nghiệp
Worksheet Function trong VBA , Thư viện mã lập trình, Scripting.Dictionary, Sổ tay VBA, Các hàm dò tìm và tham chiếu
Kính chào Các Thầy (Cô), Anh (Chị).
Em có File đang sử dụng. Do tại Sheets("MaCV") và Sheets("tbDinhmuc") chứa khoảng 6252 dòng dữ liệu vì vậy file chạy thấy Chậm. Chiều hôm nay em xoá bớt đi còn khoảng 400 dòng lưu lại thì dung lượng File lên đến 19066K (Mà lúc trước File chỉ có 7261K)
1589708927134.png
Em xin đính kèm File Kính mong mọi người xem có cách nào giảm dung lượng File xuống được không ạ
Em xin cám ơn nhiều/.
 

File đính kèm

  • HSQLCL GLK.Ltd.rar
    3.6 MB · Đọc: 46
Lần chỉnh sửa cuối:
P3.png
Bạn có 3 sheet có chiếm bộ nhớ bất thường do nhiều cột thừa. mình fix 2 sheet thấy file giảm còn gần 6Mb, sheet còn lại bạn tự fix nhé
Bài đã được tự động gộp:

nãy thấy nhiều cột quá xóa nên không để ý có cột phụ không, bạn check lại file cũ rồi thực hiện xóa cột cho đảm bảo. Chuyển qua xlsb để file nhẹ hơn
 

File đính kèm

  • HSQLCL GLK.Ltd.xlsm
    5.8 MB · Đọc: 8
  • HSQLCL GLK.Ltd.xlsb
    1.9 MB · Đọc: 7
Lần chỉnh sửa cuối:
Trong file có nhiều sheet mà cột cuối là XFD mặc dù không có dữ liệu, nhiều sheet mặc dù đã xóa dữ liệu nhưng dòng cuối vẫn là 5000 - 6000 (bấm Ctrl-End sẽ thấy). Với những sheet này, bạn cần xác định cột cuối theo dữ liệu thực tế (ví dụ cột X), chọn các cột từ cột trống tiếp theo đến cột cuối sheet (Y:XFD), bấm chuột phải chọn delete ở menu (không bấm phím delete trên bàn phím). Làm tương tự với dòng.
Bạn copy dòng code dưới vào cửa sổ immediate, chạy vài lần để kiểm tra dòng cột cuối và để excel cập nhật lại UsedRange.
Mã:
for i=1 to sheets.count:debug.print i & "_" & sheets(i).name & "_" & sheets(i).usedrange.address:next
 

File đính kèm

  • HSQLCL GLK.Ltd.xlsm
    1.4 MB · Đọc: 10
Trong file có nhiều sheet mà cột cuối là XFD mặc dù không có dữ liệu, nhiều sheet mặc dù đã xóa dữ liệu nhưng dòng cuối vẫn là 5000 - 6000 (bấm Ctrl-End sẽ thấy). Với những sheet này, bạn cần xác định cột cuối theo dữ liệu thực tế (ví dụ cột X), chọn các cột từ cột trống tiếp theo đến cột cuối sheet (Y:XFD), bấm chuột phải chọn delete ở menu (không bấm phím delete trên bàn phím). Làm tương tự với dòng.
Bạn copy dòng code dưới vào cửa sổ immediate, chạy vài lần để kiểm tra dòng cột cuối và để excel cập nhật lại UsedRange.
Mã:
for i=1 to sheets.count:debug.print i & "_" & sheets(i).name & "_" & sheets(i).usedrange.address:next
View attachment 237497
Bạn có 3 sheet có chiếm bộ nhớ bất thường do nhiều cột thừa. mình fix 2 sheet thấy file giảm còn gần 6Mb, sheet còn lại bạn tự fix nhé
Bài đã được tự động gộp:

nãy thấy nhiều cột quá xóa nên không để ý có cột phụ không, bạn check lại file cũ rồi thực hiện xóa cột cho đảm bảo. Chuyển qua xlsb để file nhẹ hơn
cám ơn Bạn keyeutien rất nhiều. Để mình kiểm tra lại file theo hướng bạn hướng dẫn. Chúc Bạn một ngày cuối tuồn thật vui vr và hạnh phúc
Bài đã được tự động gộp:

Trong file có nhiều sheet mà cột cuối là XFD mặc dù không có dữ liệu, nhiều sheet mặc dù đã xóa dữ liệu nhưng dòng cuối vẫn là 5000 - 6000 (bấm Ctrl-End sẽ thấy). Với những sheet này, bạn cần xác định cột cuối theo dữ liệu thực tế (ví dụ cột X), chọn các cột từ cột trống tiếp theo đến cột cuối sheet (Y:XFD), bấm chuột phải chọn delete ở menu (không bấm phím delete trên bàn phím). Làm tương tự với dòng.
Bạn copy dòng code dưới vào cửa sổ immediate, chạy vài lần để kiểm tra dòng cột cuối và để excel cập nhật lại UsedRange.
Mã:
for i=1 to sheets.count:debug.print i & "_" & sheets(i).name & "_" & sheets(i).usedrange.address:next
Em Cám ơn Anh nhiều. Dạ đúng Anh ạ. Hiện tại em đang lợi dụng cái cột cuối cùng để thực hiện điều chỉnh chiều cao ô Anh ạ:heart::heart::heart:
 
Lần chỉnh sửa cuối:
Hiện tại em đang lợi dụng cái cột cuối cùng để thực hiện điều chỉnh chiều cao ô Anh ạ
Vậy bạn có thể dùng cột cố định lớn nhất nào đó, ví dụ tất cả các sheet đều chỉ có dữ liệu đến cột Z thì lấy cột AA để điều chỉnh chiều cao, áp dụng với tất cả các sheet.
 
Vậy bạn có thể dùng cột cố định lớn nhất nào đó, ví dụ tất cả các sheet đều chỉ có dữ liệu đến cột Z thì lấy cột AA để điều chỉnh chiều cao, áp dụng với tất cả các sheet.
Dạ. Em Cám ơn Anh nhiều. Để em sẽ bố trí lại ạ. Lúc đầu em cũng không để ý đến vấn đề này. Chiều nay nó mới phồng lên. Hị hị Quýnh quá may mà được Anh và Bạn @keyeutien chỉ cho. Chúc Anh và toàn thể mọi người Vui vẻ và Hạnh phúc ạ
 
Code trong file quá hoành tráng đồ sộ. Cho mình hỏi code này của vị anh hùng nào vậy thớt ?
 
Trong nghề viết code, từ "bất thường" tương đương với "nguy hiểm"
Khi làm việc, người ta phải lượng trước được độ tăng trưởng của dữ liệu lẫn csdl.
File tăng lớn "bất thường" có nghĩa là bạn không kiểm soát được quy trình cũng như code của mình.

Bạn cần tìm hiểu về cách bảo quản và kiểm soát code.
Tôi khongn có xem qua file, nhưng theo như từ ngữ "hoành tráng" ở bài #7 thì có lẽ code này làm mẫu mã bảng rất nhiều.
Bước đầu bạn cần học là học cách tách rời phần tính toán ra khỏi phần mẫu mã.
 
Trong nghề viết code, từ "bất thường" tương đương với "nguy hiểm"
Khi làm việc, người ta phải lượng trước được độ tăng trưởng của dữ liệu lẫn csdl.
File tăng lớn "bất thường" có nghĩa là bạn không kiểm soát được quy trình cũng như code của mình.

Bạn cần tìm hiểu về cách bảo quản và kiểm soát code.
Tôi khongn có xem qua file, nhưng theo như từ ngữ "hoành tráng" ở bài #7 thì có lẽ code này làm mẫu mã bảng rất nhiều.
Bước đầu bạn cần học là học cách tách rời phần tính toán ra khỏi phần mẫu mã.
Dạ lúc đầu em cũng không để ý đến vấn đề này. Chỉ đến chiều qua em xoá bớt dòng đi nó đang từ 7M nhẩy lên 19M em mới tá hoả bùng binh lên Thầy à
 
Web KT
Back
Top Bottom