Cách tạo useform trong vba

Liên hệ QC

LanAnh19

Thành viên chính thức
Tham gia
1/5/22
Bài viết
76
Được thích
8
Giới tính
Nữ
Em chào các anh chị trong diễn đàn
Em muốn học tự tạo 1 useform trong vba, ví dụ như tạo cái form gồm có 6 cột, độ rộng mỗi cột ... và nhiều cái nữa
Em có tìm trong diễn đàn nhưng chưa thấy bài nào hướng dẫn chi tiết, cụ thể. Vì vậy mong các anh chị biết có bài nào hay thì chỉ cho em. Em xin cảm ơn các anh chị
 
Em chào các anh chị trong diễn đàn
Em muốn học tự tạo 1 useform trong vba, ví dụ như tạo cái form gồm có 6 cột, độ rộng mỗi cột ... và nhiều cái nữa
Nếu là tạo trong design time thì: mở tập tin -> nhấn Alt + F11 để vào VBE -> menu Insert -> chọn UserForm.

Còn "form gồm có 6 cột" thì phải định nghĩa khái niệm "form gồm có 6 cột" nó là gì. Hay là "đặt" cái gì đó (control) có 6 cột lên Form?

Nên nhớ là mọi khái niệm không phổ biến đều phải định nghĩa. Mọi ý đều phải nói rõ. "... và nhiều cái nữa" thì bố của thánh cũng bó tay. Chịu khó suy nghĩ đi.
 
Mình thì hiểu cái form đó, nếu được bạn mời 1 lí cà fê tại Phú Nhuận mình sẽ sẵn lòng!
 

File đính kèm

  • C0502.jpg
    C0502.jpg
    59.5 KB · Đọc: 9
Sao nhiều người nhìn ai cũng nghi ngờ là công tử Phú Nhuận thế nhỉ. Obsession?
 
Nếu là tạo trong design time thì: mở tập tin -> nhấn Alt + F11 để vào VBE -> menu Insert -> chọn UserForm.

Còn "form gồm có 6 cột" thì phải định nghĩa khái niệm "form gồm có 6 cột" nó là gì. Hay là "đặt" cái gì đó (control) có 6 cột lên Form?

Nên nhớ là mọi khái niệm không phổ biến đều phải định nghĩa. Mọi ý đều phải nói rõ. "... và nhiều cái nữa" thì bố của thánh cũng bó tay. Chịu khó suy nghĩ đi.
Vậy nếu tạo trong run-time thì sao anh? Có thể tạo và gọi một userform trong run-time giống như các đối tượng khác (combobox, textbox, ...) không, sau khi thủ tục kết thúc thì đối tượng cũng được giải phóng.
 
Nếu là tạo trong design time thì: mở tập tin -> nhấn Alt + F11 để vào VBE -> menu Insert -> chọn UserForm.

Còn "form gồm có 6 cột" thì phải định nghĩa khái niệm "form gồm có 6 cột" nó là gì. Hay là "đặt" cái gì đó (control) có 6 cột lên Form?

Nên nhớ là mọi khái niệm không phổ biến đều phải định nghĩa. Mọi ý đều phải nói rõ. "... và nhiều cái nữa" thì bố của thánh cũng bó tay. Chịu khó suy nghĩ đi.
Cảm ơn bạn nhiều, vì em mới tìm hiểu userform nên nhiều cái em nói chưa rỏ, sau khi tìm hiểu thêm thì nó gọi là tạo listbox có 6 cột và độ rộng cột sẽ khác nhau
Bài đã được tự động gộp:

Mình thì hiểu cái form đó, nếu được bạn mời 1 lí cà fê tại Phú Nhuận mình sẽ sẵn lòng!
Em cảm ơn ạ!
 
Vậy nếu tạo trong run-time thì sao anh? Có thể tạo và gọi một userform trong run-time giống như các đối tượng khác (combobox, textbox, ...) không, sau khi thủ tục kết thúc thì đối tượng cũng được giải phóng.
Tools -> References -> Microsoft Visual Basic for Applications Extensibility xxx

Mã:
Sub test()
Dim form As Object
    Set form = ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm)
'    them control, code
    VBA.UserForms.Add (form.Name)
    UserForms(0).Show
    ThisWorkbook.VBProject.VBComponents.Remove form
End Sub

Nhưng 200% chắc chắn là thớt muốn design time.

Cảm ơn bạn nhiều, vì em mới tìm hiểu userform nên nhiều cái em nói chưa rỏ, sau khi tìm hiểu thêm thì nó gọi là tạo listbox có 6 cột và độ rộng cột sẽ khác nhau
Mở tập tin -> nhấn Alt + F11 để vào VBE -> menu Insert -> chọn UserForm -> nếu chưa có thì menu View -> Toolbox -> chọn ListBox và đặt lên UserForm -> nếu chưa thấy thì menu View -> chọn Properties Window -> thiết lập vd. thuộc tính Width = 400, ColumnCount = 6, ColumnWidths = 30 pt;60 pt;60 pt;70 pt;70 pt;80 pt
 
Tools -> References -> Microsoft Visual Basic for Applications Extensibility xxx

Mã:
Sub test()
Dim form As Object
    Set form = ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm)
'    them control, code
    VBA.UserForms.Add (form.Name)
    UserForms(0).Show
    ThisWorkbook.VBProject.VBComponents.Remove form
End Sub

Nhưng 200% chắc chắn là thớt muốn design time.


Mở tập tin -> nhấn Alt + F11 để vào VBE -> menu Insert -> chọn UserForm -> nếu chưa có thì menu View -> Toolbox -> chọn ListBox và đặt lên UserForm -> nếu chưa thấy thì menu View -> chọn Properties Window -> thiết lập vd. thuộc tính Width = 400, ColumnCount = 6, ColumnWidths = 30 pt;60 pt;60 pt;70 pt;70 pt;80 pt
Em cảm ơn anh nhiều
 
Web KT

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

Back
Top Bottom