Khi tạo UserForm, Louis đặt thuộc tính Top của UserForm thành 222, thuộc tính mà anh ấy xác định bằng cách thử và sai là khoảng cách pixel giữa đường viền phía trên của cửa sổ hiện hoạt và phần trên cùng của hàng dữ liệu đầu tiên trong trang tính. Anh ấy tự hỏi liệu có cách nào để tính toán khoảng cách này theo chương trình hay không, vì khoảng cách có thể thay đổi tùy thuộc vào mức độ hiển thị của dải băng và chiều cao của thanh Công thức.

Nếu bạn cần lấy chiều cao của vùng ruy-băng, bạn có thể kiểm tra thuộc tính Chiều cao của đối tượng CommandBars (“Ribbon”), theo cách sau:

iHt = CommandBars("Ribbon").Height

Tất nhiên, điều đó sẽ chỉ cung cấp cho bạn một phần thông tin cuối cùng bạn cần. Thông tin định vị cho một UserForm dựa trên góc trên bên trái của cửa sổ chương trình. Do đó, bạn cần tính đến độ dày đường viền của cửa sổ (nếu có đường viền), chiều cao ruy-băng (đã đề cập ở trên, nhưng chỉ khi chạy trên phiên bản Excel sử dụng ruy-băng), chiều cao của thanh Công thức , bất kỳ khoảng trống nào được phép cho người cai trị, v.v.

Hầu hết những thứ này không có thuộc tính Chiều cao mà bạn có thể kiểm tra, vì vậy việc định vị UserForm có thể là một quá trình thử và sai theo thứ tự.

Khi bạn đặt UserForm đúng vị trí trên hệ thống của mình, không có gì đảm bảo rằng nó sẽ được định vị chính xác nếu được hiển thị trên hệ thống của người khác.

Giải pháp tốt nhất mà chúng tôi đã tìm thấy là (trong trường hợp này) không phát minh lại bánh xe. Chip Pearson, trên trang web của mình, đã tạo ra cái mà anh gọi là “công cụ định vị biểu mẫu” giúp loại bỏ phỏng đoán định vị một UserForm. Bạn có thể tìm thông tin về nó tại đây:

http://www.cpearson.com/Excel/FormPosition.htm

Không có phí; nó là miễn phí. Nó cho phép bạn định vị UserForm so với bất kỳ ô nào trên màn hình. Nếu bạn phát triển các macro dựa trên UserForms, bạn sẽ muốn kiểm tra những gì Chip cung cấp.

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

Mẹo này (2309) áp dụng cho Microsoft Excel 2007, 2010, 2013 và 2016.