Xử lý usedrange là nguyên cột

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

OverAC

Đỗ Nguyên Bình
Thành viên BQT
Administrator
Tham gia
30/5/06
Bài viết
2,693
Được thích
15,089
Bình có cái file như đính kèm,
Vùng sử dụng (usedrange) của nó là cả cột A:X, nhưng Bình không biết cách xử lý để cập nhật lại usedrange cho gọn lại.

Cảm ơn mọi người.
 

File đính kèm

Bình có cái file như đính kèm,
Vùng sử dụng (usedrange) của nó là cả cột A:X, nhưng Bình không biết cách xử lý để cập nhật lại usedrange cho gọn lại.

Cảm ơn mọi người.
đọc tới đọc lui 10 lần nhưng cũng không đoán được bạn muốn làm gì?
 
đọc tới đọc lui 10 lần nhưng cũng không đoán được bạn muốn làm gì?
Vào cửa sổ Immediate, gõ dòng lệnh: ?Sheet3.UsedRange.Address rồi Enter phát sẽ nhận được kết $A:$X
Dữ liệu đâu ra mà nhiều vậy? Vấn đề nằm ở đó đó!
Ngoài ra, dung lượng file trên 2.5 MB cũng là điều phải suy nghĩ
 
đọc tới đọc lui 10 lần nhưng cũng không đoán được bạn muốn làm gì?
Ý là từ dòng 100 tới dòng 1048576 không có dữ liệu nhưng khi ctrl + End nó nhảy tới cell X1048576
(Hoặc muốn chọn usedrange thì click vào 1 cell có dữ liệu rồi nhấn ctrl + A xem nó chọn tới đâu thì đó là usedrange)
Giờ cần xử lý để usedrange tới dòng 99 thôi (A1:X99)
p/s: Thử vài cách rồi mà không xóa được. Thử mở sheet1.xml nhưng nặng quá.
 
Ý là từ dòng 100 tới dòng 1048576 không có dữ liệu nhưng khi ctrl + End nó nhảy tới cell X1048576
(Hoặc muốn chọn usedrange thì click vào 1 cell có dữ liệu rồi nhấn ctrl + A xem nó chọn tới đâu thì đó là usedrange)
Giờ cần xử lý để usedrange tới dòng 99 thôi (A1:X99)
p/s: Thử vài cách rồi mà không xóa được. Thử mở sheet1.xml nhưng nặng quá.
Cám ơn bạn, mình cứ tưởng tạo vùng dữ liệu kế toán +-+-+-+ +-+-+-+ +-+-+-+
mình cũng vài lần bị như vậy không biết tại sao luôn. chũa cháy bằng cách insert sheet mới, cắt vùng dữ liệu cần thiết sang sheet mới sau đó xóa sheet cũ, rồi dổi tên sheet mới theo sheet cũ
 
Lần chỉnh sửa cuối:
Cám ơn bạn, mình cứ tưởng tạo vùng dữ liệu kế toán +-+-+-+ +-+-+-+ +-+-+-+
mình cũng vài lần bị như vậy không biết tại sao luôn. chũa cháy bằng cách insert sheet mới, cắt vùng dữ liệu cần thiết sang sheet mới sau đó xóa sheet cũ, rồi dổi tên sheet mới theo sheet cũ
Mình thấy vấn đề này trong một file có nhiều sheet và sheet này là sheet nguồn dữ liệu. Nhiều sheet khác tham chiếu tới đây.
Nếu làm theo các bạn đề cập thì sẽ gặp vấn đề với các công thức.
 
Mình thấy vấn đề này trong một file có nhiều sheet và sheet này là sheet nguồn dữ liệu. Nhiều sheet khác tham chiếu tới đây.
Nếu làm theo các bạn đề cập thì sẽ gặp vấn đề với các công thức.

Nếu file dữ liệu của anh < 65536 dòng thì thử cách sau:
- Mở file Cap nhat usedange.xlsx
- Lưu lại với định dạng *.xls (Luu1.xls)
- Tắt Excel, mở file Luu1.xls, cài đặt Calculation Options: Manual và Hủy check: Recalculate workbook before saving.
- Chèn thêm 1 sheet "temp". Chép dữ liệu ở sheet "TOTAL" rồi dán value vào sheet "temp"
- Ở sheet "TOTAL": Chọn cả bảng tính rồi Clear All (Tab Home/ Clear/ Clear All)
- Lưu file rồi tắt Excel.
- Mở lại file Luu1.xls. Lưu lại thành Luu1.xlsx. Tắt Excel.
- Mở file Luu1.xlsx. Ở sheet "TOTAL": unhide rows để hiện ra các dòng >65536-1048576. Chọn cả bảng tính. Clear All. Lưu file rồi tắt Excel.
- Mở file Luu1.xlsx. Chép dữ liệu từ sheet "temp" dán value vào sheet "TOTAL". Xóa sheet "temp", cài đặt Calculation Options: Automatic.
- Lưu file. Cài đặt lại các định dạng/ công thức cho sheet "TOTAL".
 
Nếu file dữ liệu của anh < 65536 dòng thì thử cách sau:
- Mở file Cap nhat usedange.xlsx
- Lưu lại với định dạng *.xls (Luu1.xls)
- Tắt Excel, mở file Luu1.xls, cài đặt Calculation Options: Manual và Hủy check: Recalculate workbook before saving.
- Chèn thêm 1 sheet "temp". Chép dữ liệu ở sheet "TOTAL" rồi dán value vào sheet "temp"
- Ở sheet "TOTAL": Chọn cả bảng tính rồi Clear All (Tab Home/ Clear/ Clear All)
- Lưu file rồi tắt Excel.
- Mở lại file Luu1.xls. Lưu lại thành Luu1.xlsx. Tắt Excel.
- Mở file Luu1.xlsx. Ở sheet "TOTAL": unhide rows để hiện ra các dòng >65536-1048576. Chọn cả bảng tính. Clear All. Lưu file rồi tắt Excel.
- Mở file Luu1.xlsx. Chép dữ liệu từ sheet "temp" dán value vào sheet "TOTAL". Xóa sheet "temp", cài đặt Calculation Options: Automatic.
- Lưu file. Cài đặt lại các định dạng/ công thức cho sheet "TOTAL".
Tôi thấy làm vầy cũng được:
- Mở file, SaveAs file thành đuôi xls ---> Đóng file
- Mở file xls ---> SaveAs thành đuôi xlsx ---> Đóng file
- Mở file xlsx vừa lưu ---> Unhide toàn bộ row, column ---> Clear All từ dòng 107 đến dòng cuối ---> Clear All từ cột Y đến cột cuối
- Đóng và lưu file
- Kiểm tra dung lượng (đã thấy ngon) ---> Mở file lại lần nữa và kiểm tra UsedRange
 
Tôi thấy làm vầy cũng được:
- Mở file, SaveAs file thành đuôi xls ---> Đóng file
- Mở file xls ---> SaveAs thành đuôi xlsx ---> Đóng file
- Mở file xlsx vừa lưu ---> Unhide toàn bộ row, column ---> Clear All từ dòng 107 đến dòng cuối ---> Clear All từ cột Y đến cột cuối
- Đóng và lưu file
- Kiểm tra dung lượng (đã thấy ngon) ---> Mở file lại lần nữa và kiểm tra UsedRange

thầy ơi trong file của em dữ liệu dòng cuối nằm ở dòng 65540 và cũng bị tình trạng y như anh nick màu đỏ ở trên thì khắc phục bằng cách nào ạ ? !$@!!!$@!!
 
Mình thấy vấn đề này trong một file có nhiều sheet và sheet này là sheet nguồn dữ liệu. Nhiều sheet khác tham chiếu tới đây.
Nếu làm theo các bạn đề cập thì sẽ gặp vấn đề với các công thức.
Mình đã làm vài lần, các công thức tham chiếu chỉ trong vùng dữ liệu cắt qua không ảnh hưởng, nên hầu hết công thức vẫn bình thường.
Chỉ có các công thức tham chiếu dư ngoài vùng dữ liệu cắt là bị lỗi, những công thức nầy thật ra không ổn, làm nặng file, sẵn dịp sửa công thức lại với vùng tham chiếu vừa đủ
 

File đính kèm

Tôi thấy làm vầy cũng được:
- Mở file, SaveAs file thành đuôi xls ---> Đóng file
- Mở file xls ---> SaveAs thành đuôi xlsx ---> Đóng file
- Mở file xlsx vừa lưu ---> Unhide toàn bộ row, column ---> Clear All từ dòng 107 đến dòng cuối ---> Clear All từ cột Y đến cột cuối
- Đóng và lưu file
- Kiểm tra dung lượng (đã thấy ngon) ---> Mở file lại lần nữa và kiểm tra UsedRange
Đã làm và thấy ngon, cảm ơn anh.
Điều chưa hiểu là tại sao phải unhide rows và columns đâu thấy có dòng hay cột ẩn?
 
Mình đã làm vài lần, các công thức tham chiếu chỉ trong vùng dữ liệu cắt qua không ảnh hưởng, nên hầu hết công thức vẫn bình thường.
Chỉ có các công thức tham chiếu dư ngoài vùng dữ liệu cắt là bị lỗi, những công thức nầy thật ra không ổn, làm nặng file, sẵn dịp sửa công thức lại với vùng tham chiếu vừa đủ
File này của người khác chứ không phải của mình. Mình không kiểm soát hết được các công thức của họ.
 
Đã làm và thấy ngon, cảm ơn anh.
Điều chưa hiểu là tại sao phải unhide rows và columns đâu thấy có dòng hay cột ẩn?
Khi lưu từ *.xlsx về *.xls thì có 65536 dòng và cột cuối IV.
Tiếp đó, lưu từ *.xls về *.xlsx thì có 1048576 dòng và cột cuối XFD NHƯNG từ dòng 65537-1048576 bị ẩn (cột hiện đủ) nên mới có bước unhide rows.
 
cách của các anh chị ở trên là rất hay rồi , ở đây tôi sẽ thêm 1 cách nữa dành cho dân thích "quậy" Xml
Mã:
'zeroHeight="1"


Public Sub hello()
Dim lr As Long
With Sheet3
    lr = .UsedRange.Find("*", , xlValues, , , xlPrevious).Row + 1
    .Rows(lr & ":1048576").Delete xlUp
    ThisWorkbook.Save
    MsgBox "UsedRange : " & .UsedRange.Address
End With
End Sub

[video=youtube;p5jG06vWbqU]https://www.youtube.com/watch?v=p5jG06vWbqU[/video]
 
Web KT

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

Back
Top Bottom