Nguyễn Hồng Quang
Thành viên GPE Hà Nội
- Tham gia
- 8/6/07
- Bài viết
- 1,203
- Được thích
- 877
- Giới tính
- Nam
- Nghề nghiệp
- Kế toán
Xin chào cả nhà
Mình có lập 1 code với công dụng là insert dòng với số lượng dòng dự định insert được xác định trước trên bảng tính (theo fomat của mình).
(ghi chú : các dòng sau khi được insert sẽ được copy toàn bộ nội dung tính từ cột E của dòng bắt đầu insert)
Ví dụ : Muốn insert 3 dòng kể từ dòng 2 thì gõ 3 vào ô D3, muốn insert 5 dòng kể từ dòng 6 thì gõ 5 vào ô D6.
Sau khi chạy code thì mình thấy bị insert thiếu mất 1 dòng, mình loay hoay mãi mà chưa sửa được mong mọi người giúp đỡ
Dưới đây là code và file test đính kèm để test
Xin chân thành cảm ơn
Mình có lập 1 code với công dụng là insert dòng với số lượng dòng dự định insert được xác định trước trên bảng tính (theo fomat của mình).
(ghi chú : các dòng sau khi được insert sẽ được copy toàn bộ nội dung tính từ cột E của dòng bắt đầu insert)
Ví dụ : Muốn insert 3 dòng kể từ dòng 2 thì gõ 3 vào ô D3, muốn insert 5 dòng kể từ dòng 6 thì gõ 5 vào ô D6.
Sau khi chạy code thì mình thấy bị insert thiếu mất 1 dòng, mình loay hoay mãi mà chưa sửa được mong mọi người giúp đỡ

Dưới đây là code và file test đính kèm để test
Xin chân thành cảm ơn
Mã:
Sub Autoinsert()
lr = [a2].End(xlDown).Row
For i = lr To 2 Step -1
If Cells(i, 4) > 1 Then
Cells(i + 1, 4).Select
r = Cells(i, 4)
Selection.Resize(Cells(i, 4) - 1, 1).Select
Selection.EntireRow.Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(i, 4).Select
Selection.Value = 1
Selection.Resize(r, 1).Select
Selection.FillDown
Selection.Resize(r, 2).Select
Selection.FillDown
Selection.Resize(r, 3).Select
Selection.FillDown
Selection.Resize(r, 4).Select
Selection.FillDown
Selection.Resize(r, 5).Select
Selection.FillDown
Selection.Resize(r, 6).Select
Selection.FillDown
Selection.Resize(r, 7).Select
Selection.FillDown
Selection.Resize(r, 8).Select
Selection.FillDown
Selection.Resize(r, 9).Select
Selection.FillDown
End If
lr = [a2].End(xlDown).Row
Next
End Sub
