thưa thầy, em muốn copy công thức sumif và vlookup trong hàng đầu tiên dán xuống dòng kế tiếp hay gọi là dòng cuối thì viết code thế nào ạ
Chào bạn bạn recond macro và ấn ctrl+D là sẽ ra kết quả nhé.
Cách làm như sau:
Bước 1: viết đầy đủ công thức trên dòng đầu tiên như bình thường
Bước 2: xác định vùng sẽ kéo công thức:
ví dụ dòng đầu tiên nơi viết công thức là dòng 6, vùng cần sao chép là cột D và E
=> vùng cần chọn là Range("D6:E" & DongCuoi)
chú ý là biến DongCuoi phải lớn hơn 6 thì mới làm được (dùng cấu trúc IF biện luận trước logic này)
Bước 3: thực hiện lệnh filldown:
Range("D6:E" & DongCuoi).Filldown
Bonus: nếu muốn xóa công thức, giữ lại kết quả thì:
Range("D7:E" & DongCuoi).Value = Range("D7:E" & DongCuoi).Value
chú ý là từ dòng 7 trở đi nhé, vì dòng 6 vẫn phải giữ công thức để dùng sau này
(đó cũng là lý do vì sao DongCuoi > 6 thì mới filldown)
Code tổng hợp:
Dim DongDau as long, DongCuoi as Long
DongDau = 6
DongCuoi = Sheets... 'code tìm dòng cuối
If DongCuoi > DongDau then
Range("D6:E" & DongCuoi).Filldown
Range("D7:E" & DongCuoi).Value = Range("D7:E" & DongCuoi).Value
End If