Code insert dòng chay chậm khi dữ liệu lớn

Liên hệ QC

Tuan_hcth

Thành viên thường trực
Tham gia
8/4/07
Bài viết
206
Được thích
11
Lang thang trên mạng, em tìm được đoàn code insert dòng tự động. Với dữ liệu ít, code chạy ổn, nhưng dữ liệu lớn thì code chạy rất chậm. Anh, chị xem có cách nào khắc phục không ạ. Cảm ơn mọi người.
Code như sau:
Sub test()
Dim j As Long, r As Range
j = InputBox("type the number of rows to be insered")

Set r = Range("A3")
Do
Range(r.Offset(1, 0), r.Offset(j, 0)).EntireRow.Insert
Set r = Cells(r.Row + j + 1, 1)
'MsgBox r.Address(the apostrophe in the beginning of this line makes this line non operable)
If r.Offset(1, 0) = "" Then Exit Do
Loop

End Sub
 
Lang thang trên mạng, em tìm được đoàn code insert dòng tự động. Với dữ liệu ít, code chạy ổn, nhưng dữ liệu lớn thì code chạy rất chậm. Anh, chị xem có cách nào khắc phục không ạ. Cảm ơn mọi người.
Code như sau:
Sub test()
Dim j As Long, r As Range
j = InputBox("type the number of rows to be insered")

Set r = Range("A3")
Do
Range(r.Offset(1, 0), r.Offset(j, 0)).EntireRow.Insert
Set r = Cells(r.Row + j + 1, 1)
'MsgBox r.Address(the apostrophe in the beginning of this line makes this line non operable)
If r.Offset(1, 0) = "" Then Exit Do
Loop

End Sub
Bạn muốn Insert bao nhiêu dòng mà bạn cho là chậm?
 
Lang thang trên mạng, em tìm được đoàn code insert dòng tự động. Với dữ liệu ít, code chạy ổn, nhưng dữ liệu lớn thì code chạy rất chậm. Anh, chị xem có cách nào khắc phục không ạ. Cảm ơn mọi người.
Code như sau:
Sub test()
Dim j As Long, r As Range
j = InputBox("type the number of rows to be insered")

Set r = Range("A3")
Do
Range(r.Offset(1, 0), r.Offset(j, 0)).EntireRow.Insert
Set r = Cells(r.Row + j + 1, 1)
'MsgBox r.Address(the apostrophe in the beginning of this line makes this line non operable)
If r.Offset(1, 0) = "" Then Exit Do
Loop

End Sub
Thử như sau:

Mã:
Sub test()
    Dim j As Long
    j = InputBox("type the number of rows to be insered")
    Rows("3:" & j + 2).Insert 3
End Sub
 
Lang thang trên mạng, em tìm được đoàn code insert dòng tự động. Với dữ liệu ít, code chạy ổn, nhưng dữ liệu lớn thì code chạy rất chậm. Anh, chị xem có cách nào khắc phục không ạ. Cảm ơn mọi người.
Code như sau:
Sub test()
Dim j As Long, r As Range
j = InputBox("type the number of rows to be insered")

Set r = Range("A3")
Do
Range(r.Offset(1, 0), r.Offset(j, 0)).EntireRow.Insert
Set r = Cells(r.Row + j + 1, 1)
'MsgBox r.Address(the apostrophe in the beginning of this line makes this line non operable)
If r.Offset(1, 0) = "" Then Exit Do
Loop

End Sub
Code Insert từng dòng như vậy là tương đối nhanh rồi.

Góp ý cho bạn:
1/ Bạn nên nêu cái bạn cần làm gì với những Cell trống đó.
2/ Theo tôi thì nên nhập liệu theo chiều nếu cần những cái gì gần nhau thì Sort để sắp xếp nó lại, nếu bạn có 1000 loại nội tìm cho đúng nó để nhập thêm thì chắc cũng hết hơi.
 
Web KT

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

Back
Top Bottom