Các anh chị cho em hỏi, đoạn code em viết bị sai chỗ nào
Phần nội dung từ cột A đến cột Y sẽ thay đổi mỗi ngày (sau khi em lấy dữ liệu từ các file báo cáo đem về (hôm nay 10.000 dòng, nhưng ngày mai có thể 20.000 hoặc 30.000 dòng.
Em không muốn fill sẵn công thức ở 2 cột Z và AA vì như thế nó sẽ rất nặng file, nên em chèn sub này vào để mỗi khi lấy xong báo cáo, thì nó sẽ xem bên cột A, hàng cuối cùng có dữ liệu là hàng thứ mấy, thì nó sẽ tự động kéo tiếp công thức hết hàng đó thôi.
Sub Fill_formula()
Dim LastRow As Long
With ActiveSheet
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
Range("Z6:AA" & LastRow).Value = Range("Z6:AA6").FormulaR1C1
End With
End Sub

nhưng sau khi kéo thì nó bị nhảy hàng, ví dụ :
Ở ô gốc Z6 : công thức của em là =Value(X6)
Vậy nhưng sau khi code chạy, nó kéo xuống ô X7 thì công thức của em lại biến thành =Value(X8) ???
Phần nội dung từ cột A đến cột Y sẽ thay đổi mỗi ngày (sau khi em lấy dữ liệu từ các file báo cáo đem về (hôm nay 10.000 dòng, nhưng ngày mai có thể 20.000 hoặc 30.000 dòng.
Em không muốn fill sẵn công thức ở 2 cột Z và AA vì như thế nó sẽ rất nặng file, nên em chèn sub này vào để mỗi khi lấy xong báo cáo, thì nó sẽ xem bên cột A, hàng cuối cùng có dữ liệu là hàng thứ mấy, thì nó sẽ tự động kéo tiếp công thức hết hàng đó thôi.
Sub Fill_formula()
Dim LastRow As Long
With ActiveSheet
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
Range("Z6:AA" & LastRow).Value = Range("Z6:AA6").FormulaR1C1
End With
End Sub

nhưng sau khi kéo thì nó bị nhảy hàng, ví dụ :
Ở ô gốc Z6 : công thức của em là =Value(X6)
Vậy nhưng sau khi code chạy, nó kéo xuống ô X7 thì công thức của em lại biến thành =Value(X8) ???
File đính kèm
Lần chỉnh sửa cuối: