Code thế này:Tình hình là em có 1 vùng dữ liệu bên Sheet1, vùng dữ liệu này cố định cột, nhưng hàng thay đổi phụ thuộc dữ liệu bên Sheet2
Em muốn nhờ các bác chỉ giáo đoạn code trong VBA để set vùng in cho Sheet1 với ạ.
Em xin chân thành cảm ơn!
Code thế này:
[GPECODE=vb]Sub SetPrintArea()
Sheet2.PageSetup.PrintArea = [A1:F1].Resize(Sheet3.[A1]).Address
End Sub[/GPECODE]
Có vấn đề gì đâu, miễn là nó phải là một số nguyên dương là được (tất nhiên không được vượt quá số hàng của Excel).Cảm ơn bác,
Bác cho em hỏi thêm câu nữa: cái ô A1 bên Sheet3 kia giờ nó là kết quả của phép chia kiểu như Round(B2,B1,0) thì vị trí đó phải xử lí như nào ạ?
Có vấn đề gì đâu, miễn là nó phải là một số nguyên dương là được (tất nhiên không được vượt quá số hàng của Excel).
Nó chính là code trên kia chứ có khác gì đâu nhỉ? Bạn thử lập công thức cho ô A1 của sheet3 rồi chạy code xem nó ra sao.bác cho em xin cái code chỗ đấy với ạ, em xin cảm ơn.
Nó chính là code trên kia chứ có khác gì đâu nhỉ? Bạn thử lập công thức cho ô A1 của sheet3 rồi chạy code xem nó ra sao.
Thật sự là tôi không hiểu ý của bạn. Bạn thử thay chỗ Sheet3.[A1] thành công thức gì gì đó bạn muốn đưa vào xem sao.Ý em là em muốn cho công thức vào đấy, chứ không link đến 1 ô trên cell nữa![]()
Thật sự là tôi không hiểu ý của bạn. Bạn thử thay chỗ Sheet3.[A1] thành công thức gì gì đó bạn muốn đưa vào xem sao.
"Phát" này thì chắc chắn là Excel không chịu rồi, thứ nhất là Round(B2,B1,0) chẳng biết nó sẽ trả về cái gì cả, thứ hai là Sheet3.[Round(B2,B1,0)] không có ý nghĩa gì.Em muốn làm 1 phát như này có được không?
Sheet3.[Round(B2,B1,0)]
[COLOR=#000000][FONT=Consolas]Sheet2.PageSetup.PrintArea = [A1:F1].Resize([/FONT][/COLOR][COLOR=#ff0000][FONT=Consolas][B]Round([/B][/FONT][B][FONT=Consolas]Sheet3.[B2]/[/FONT][/B][FONT=Consolas][B]Sheet3.[B1],0)[/B][/FONT][/COLOR][COLOR=#000000][FONT=Consolas]).Address[/FONT][/COLOR]