Xin ý kiến về lời giải hay hơn cho bài toán

Liên hệ QC

cachua99

Thành viên mới
Tham gia
18/1/16
Bài viết
2
Được thích
0
Chào anh/chị
Chả là e cũng tập tành VBA. Hiện em có 1 bài toán rất đơn giản và cũng tự code được câu trả lời. Tuy nhiên thì đáp án của e rất là thủ công, macro chạy rất lâu và chậm.
Anh chị xem có giải pháp nào hữu ích hơn giúp em k, em cám ơn.
Bài toán rất đơn giản ạ, có những file excel của e rất dài, đến 1000 dòng hoặc hơn. Em muốn dãn chiều cao của dòng ra để khi in ấn các dòng không chèn vào chữ và bị mất nội dung trong cell. Cụ thể thì với chức năng Autofit row height trong excel đã làm được 80% rồi, tuy nhiên nếu dùng chức năng này thì chắc chắn bản in ra có khả năng lớn viền cell sẽ chèn vào nội dung cell.
Hiện tại giải pháp của em là:
1. Chạy autofit row height
2. Tăng thêm chiều cao mỗi dòng thêm 10 đơn vị

Sub dandong()
Dim j As Integer
Cells(8, 2).Select
Selection.End(xlDown).Select
j = Selection.Row
For i = 5 To j
Cells(i, 1).Select
Selection.RowHeight = Selection.RowHeight + 10
Next i
End Sub

Như anh chị thấy, thì bài toán được giải quyết nhưng với file nặng thì chạy rất là lâu. Anh chị góp ý giúp em, em cám ơn
Bài đã được tự động gộp:

Dạ em ngu quá, mong mọi người giúp đỡ
Có lưu ý là: nếu sử dụng VBA để chọn từ dòng x đến dòng y (ví dụ chọn từ dòng 6 đến dòng 1000) rồi cộng thêm chiều cao 10 thì chỉ hoạt động được với dòng trống hoặc cho kết quả không ổn định, lúc được lúc không. Nên hiện tại bắt buộc phải nâng chiều cao của từng dòng
 
Lần chỉnh sửa cuối:
Cái này chỉ là mẫu mã tìrnh bày chứ có tính toán quái gì đâu mà cũng bày đặt dùng từ "bài toán" dụ dỗ thiên hạ.
 
Thật sự là có đấy ạ, nếu chỉ cho i chạy từ x đến y thì với file excel của e khoảng 1500 row nó chạy phải mất đến chục phút, ngang với render đồ họa.
Rõ ràng với 1 bài toán nhỏ mà xử lý cồng kềnh như thế thì là chưa chuẩn nên mới cần đến cách khác nhanh gọn hơn. Bác cao kiến cho e xin
 
Web KT
Back
Top Bottom