Thay đổi vị trí hiển thị của Userform về ngoài cùng bên phải và dưới thanh Fomula bar

Liên hệ QC

Mr.hieudoanxd

Thành viên thường trực
Tham gia
25/10/19
Bài viết
322
Được thích
150
Chào các anh chị!
Trong quá trình sử dụng Userform (UF) em muốn hiển thị UF ở vị trí ngoài cùng bên phải và phía dưới thanh Formula Bar nhưng chưa biết cách nào để xử lý
Về thông vị trí ngoài cùng bên phải em đã xử lý được tạm thời bằng câu lệnh
Me.Left = Application.ActiveWindow.Width - me.width
Tuy nhiên việc hiển thị dưới thanh Formula bar thì chưa biết cách. Mong các anh chị giúp đỡ
Ghi chú: Phần đã xử lý kia của em có lẽ vẫn là tạm thời. Nếu có phương án gì hay mong các anh chị chỉ thêm.
Xin cảm ơn!
 

File đính kèm

  • Vi du UF.xlsb
    21.6 KB · Đọc: 12
Có thể bài viết dưới phù hợp với yêu cầu của bạn
 
Upvote 0
Em đã đọc bài viết của anh ở link. Thú thật với code thông thường em vẫn còn bập bẹ thì động đến API, Class module thì đúng là mù tịt. Hơn nữa với bài trên đang để hiển thị dưới thanh menu Ribbon. Em muốn để dưới thanh Formula Bar thì phải sửa như thế nào ạ. Mong anh giúp đỡ
 
Upvote 0
Form này xưa kinh nghiệm API tôi còn thấp nên để code hơi rườm rà
 

File đính kèm

  • form_under_formulabar.xlsm
    42 KB · Đọc: 20
Upvote 0
Form này xưa kinh nghiệm API tôi còn thấp nên để code hơi rườm rà
Híc, Em thấy anh rất nhiệt tình giúp đỡ không chỉ mình bài em mà còn khá nhiều bài viết khác nữa. Tuy nhiên em thấy đa phần những kiến thức anh chia sẽ hơi "khó tiếp cận" với những người mới bập bẹ như bọn em. Chữ "khó tiếp cận" mà em đề cập đó là việc thay đổi code đó để phù hợp với nhu cầu sử dụng của cá nhân mình. Em cũng đã cố bê code của anh vào sử dụng cho File của em nhưng có lẽ do trình độ còn kém quá nên không áp dụng được. Liệu anh có thể sửa trực tiếp bài của em không ạ?
 
Upvote 0
1. Form được hiển thị ở độ cao của gờ trên của thanh tiêu đề cột - như trong hình dưới đây.

showform.jpg

2. Code trong UserForm. Bạn chả phải tùy biến, tùy chỉnh, lăn tăn gì cả. Cứ chép y nguyên vào Form bất kỳ của bạn.
Mã:
Private Sub UserForm_Initialize()
Dim x As Double, y As Double
    GetCoordinate x, y
    With Me
        .Left = x - .Width
        .Top = y
    End With
End Sub

Code của GetCoordinate trong module modCoor.

Code trong modCoor là bất di bất dịch, bạn thậm chí không cần phải ngó ngàng tới nó. Cứ chép y hệt code ở trên vào Form là được. Chả phải suy nghĩ, tùy chỉnh bất cứ cái gì.

Tôi cho ví dụ cụ thể. Nếu trong bài #1 bạn muốn ... thì bạn thêm module modCoor của tôi, và thêm code ở điểm 1 vào UserForm_Initialize.

Mã:
Private Sub UserForm_Initialize()
Dim x As Double, y As Double
    GetCoordinate x, y
    With Me
        .Left = x - .Width
        .Top = y
    End With

    ChangeFormStyle Me, False, False, False, False
   
End Sub

Như vậy ngoài code của bạn ChangeFormStyle để bỏ thanh tiêu đề thì thêm code ở điểm 1 thôi. Không phải xoay xở, tùy chỉnh, lăn tăn cái gì cả. Cũng chả cần phải hiểu code luôn. Muốn thì tìm hiểu, ngược lại thì cứ copy / paste mà dùng. Tôi cố tình dùng ít code nhất, bởi nếu không bạn sẽ bị ngộp, tẩu hỏa nhập ma.
 

File đính kèm

  • testShowForm.xlsm
    21.6 KB · Đọc: 18
Lần chỉnh sửa cuối:
Upvote 0
Như vậy ngoài code của bạn ChangeFormStyle để bỏ thanh tiêu đề thì thêm code ở điểm 1 thôi. Không phải xoay xở, tùy chỉnh, lăn tăn cái gì cả. Cũng chả cần phải hiểu code luôn. Muốn thì tìm hiểu, ngược lại thì cứ copy / paste mà dùng. Tôi cố tình dùng ít code nhất, bởi nếu không bạn sẽ bị ngộp, tẩu hỏa nhập ma.
Cảm ơn anh đã giúp đỡ. Code rất dễ để phục vụ nhu cầu cá nhân của em!
@HeSanbi hi vọng không giận vài lời góp ý của em!
 
Upvote 0
Hôm qua em có áp dụng lại ví dụ trên vào file của em làm nhưng không được. Loay hoay mãi thì ra là do giá trị StarUpPosition không để giá trị bằng 0-Manual. Mọi người nếu muốn xử lý giống em thì chú ý cái này nhé
 
Upvote 0
Hôm qua em có áp dụng lại ví dụ trên vào file của em làm nhưng không được. Loay hoay mãi thì ra là do giá trị StarUpPosition không để giá trị bằng 0-Manual. Mọi người nếu muốn xử lý giống em thì chú ý cái này nhé
Manual không phải là thiết lập mặc định. Nếu ai có Manual thì có nghĩa là họ đã CỐ TÌNH thiết lập Manual. Trong bài #1 bạn có Manual, chứng tỏ là bạn CỐ TÌNH thay đổi mặc định. Trong tập tin của mình ở bài #7 tôi cũng CỐ TÌNH thay đổi mặc định. Nhưng tôi không nhắc bạn vì tôi thấy bạn cũng biết. Thế mà bây giờ bạn nói là bạn phải "Loay hoay mãi" thì tôi cũng chịu bạn.
 
Upvote 0
Manual không phải là thiết lập mặc định. Nếu ai có Manual thì có nghĩa là họ đã CỐ TÌNH thiết lập Manual. Trong bài #1 bạn có Manual, chứng tỏ là bạn CỐ TÌNH thay đổi mặc định. Trong tập tin của mình ở bài #7 tôi cũng CỐ TÌNH thay đổi mặc định. Nhưng tôi không nhắc bạn vì tôi thấy bạn cũng biết. Thế mà bây giờ bạn nói là bạn phải "Loay hoay mãi" thì tôi cũng chịu bạn.
Tôi nghĩ có lẽ bạn ấy trong mớ hỗn độn các hành động mày mò rồi vô tình thay đổi mà không nhớ. Cái quên đó cũng rất tự nhiên vốn có của con người mà.
 
Upvote 0
Manual không phải là thiết lập mặc định. Nếu ai có Manual thì có nghĩa là họ đã CỐ TÌNH thiết lập Manual. Trong bài #1 bạn có Manual, chứng tỏ là bạn CỐ TÌNH thay đổi mặc định. Trong tập tin của mình ở bài #7 tôi cũng CỐ TÌNH thay đổi mặc định. Nhưng tôi không nhắc bạn vì tôi thấy bạn cũng biết. Thế mà bây giờ bạn nói là bạn phải "Loay hoay mãi" thì tôi cũng chịu bạn.
Tôi nghĩ có lẽ bạn ấy trong mớ hỗn độn các hành động mày mò rồi vô tình thay đổi mà không nhớ. Cái quên đó cũng rất tự nhiên vốn có của con người mà.
Vâng, cũng tại trong lúc "loay hoay mãi" để mò ra vấn đề trên em đã sửa lại StarUpPosition mà không biết chứ không phải là "CỐ TÌNH" đâu. Em đã phải dò thuộc tính của từng dòng 1 ở 2 file để mò ra được StarUpPosition bị sai đấy ạ. Kể mà biết tí tiếng dịch được tài liệu tiếng này tiếng kia thì tốt biết mấy
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom