Leonard tự hỏi liệu khi hiển thị hộp thông báo trong macro, có cách nào để buộc hộp đó xuất hiện tại một vị trí cụ thể trên màn hình hay không.

Không có cách nào để làm điều này, vì hàm MsgBox không bao gồm bất kỳ cách nào để chỉ định vị trí. Thay vào đó, Excel sẽ hiển thị hộp thông báo ở giữa màn hình. Nếu bạn cần khả năng định vị hộp, thì giải pháp đơn giản nhất là dựa vào hàm InputBox:

sName = InputBox(Prompt:="Enter your name", XPos:=2880, YPos:=1440)

Lưu ý rằng bạn có thể chỉ định cả vị trí X và vị trí Y cho góc trên bên trái của hộp. Các giá trị được gán cho các thông số này được đo từ góc trên cùng bên trái của màn hình và được chỉ định bằng twips. (Có 1440 twips đến một inch.)

Tất nhiên, một hộp nhập liệu yêu cầu người dùng cung cấp thông tin đầu vào, trong khi hộp thông báo thì không. Nếu bạn không muốn có khả năng gây nhầm lẫn cho người dùng của mình bằng cách yêu cầu đầu vào khi không thực sự cần thiết, thì bạn sẽ cần tạo UserForm để mô phỏng hộp thông báo.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (10028) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003.

Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: