Heracles1976
Thành viên mới

- Tham gia
- 10/6/15
- Bài viết
- 35
- Được thích
- 7

Bạn thử:Chào các Bác
Em có file dữ liệu với macro đã làm trong file.
Nhưng gán value thì được, gán công thức thay đổi mỗi dòng thì không được.
Các Bác giúp E với.!
Sub ABC()
Dim LR
LR = Cells(Rows.Count, 1).End(xlUp).Row
Range("E3:E" & LR).FormulaR1C1 = "=IF(R2C6=""Ngu?i nhà"",AVERAGE(RC[-3]:RC[-1])+1,IF(R2C6=""Uu tiên"",AVERAGE(RC[-3]:RC[-1])+0.5,AVERAGE(RC[-3]:RC[-1])))"
End Sub

Bác ơi, nối vào cái E đang có, thì phải làm thế nào để nhấn 1 lần thôi ạ..?Bạn thử:
PHP:Sub ABC() Dim LR LR = Cells(Rows.Count, 1).End(xlUp).Row Range("E3:E" & LR).FormulaR1C1 = "=IF(R2C6=""Ngu?i nhà"",AVERAGE(RC[-3]:RC[-1])+1,IF(R2C6=""Uu tiên"",AVERAGE(RC[-3]:RC[-1])+0.5,AVERAGE(RC[-3]:RC[-1])))" End Sub
Đằng nào cũng phải nhập 3 điểm của 3 môn, vậy sao bạn không nhập trực tiếp tại sheet SoDL luôn, khỏi mất thêm 1 lần nhấn nútChào các Bác
Em có file dữ liệu với macro đã làm trong file.
Nhưng gán value thì được, gán công thức thay đổi mỗi dòng thì không được.
Các Bác giúp E với.!

Đằng nào cũng phải nhập 3 điểm của 3 môn, vậy sao bạn không nhập trực tiếp tại sheet SoDL luôn, khỏi mất thêm 1 lần nhấn nút
???
Khó hiểu quá!
Bạn bật công cụ record macro lên. Xong chọn cell E3, bấm F2 rồi Enter phát. Tắt record macro, bạn có ngay code gán công thứcDạ thưa thầy, em học cách tự động gán công thức bằng macro thôi ạ. Thầy chỉ cho Em với!

Trong code tôi thấy bạn ghi: Sheets("SoDL").Range("A65536").End(xlUp).Offset(1).Resize(, 4)Vâng, vì mỗi lần ghi dữ liệu các dòng dữ liệu nó nhẩy xuống E4,E5,E6... nếu gán như vậy nó chỉ gán được E3 thôi. Mỗi lần ghi sau lại ko có..

Em hiểu ý Thầy rồi ạ, E cảm ơn Thầy!Trong code tôi thấy bạn ghi: Sheets("SoDL").Range("A65536").End(xlUp).Offset(1).Resize(, 4)
chứng tỏ bạn biết xài End(xlUp) rồi Offset nữa. Vậy cứ 2 món đó mà.. phang thôi