Có cách nào để copy 1 UserForm?

Liên hệ QC

dvu58

Thành viên thường trực
Tham gia
29/4/07
Bài viết
298
Được thích
378
Tôi có tạo thử 1 userform trong 1 workbook.

Sau đó, tôi muốn tạo nhiều workbook có sử dụng userform giống như userform đã tạo. Vậy, có cách nào để copy chúng sang các workbook mới được không?

Xin các bạn 1 lời góp ý nhé.
Cảm ơn nhiều
 
Bác thử làm theo cách sau:
- Mở Workbook chứa UserForm đã tạo và workbook cần copy UserForm.
- Vào VBA
- Nhấn vào UserForm đã tạo trong cửa sổ VBA Project, nhấn và giữ nguyên chuột rồi thả vào Workbook cần Copy UserForm.
- Trở về Excel, đóng Workbook chứa UserForm (nguồn).
P/s:
Nếu muốn Copy Module thì cũng làm tương tự, tuy nhiên với Module thì có nhiều cách hơn!
 
dvu58 đã viết:
Tôi có tạo thử 1 userform trong 1 workbook.

Sau đó, tôi muốn tạo nhiều workbook có sử dụng userform giống như userform đã tạo.
Theo tôi, đơn gian chỉ cần copy workbook đó thành nhiều workbook khác thế thôi. Không biết có đúng ý bác không.
 
Bạn cũng có thể làm theo các bước sau:

1. Vào cửa sổ VBE
2. Chọn Form cần chép và nhấp phải chuột, chọn Export File
3. Chọn nơi lưu form có đuôi là .frm
4. Mở Workbook mới và vào cửa sổ VBA
5. Chọn nhóm Forms, nhấp phải chuột, chọn Import File
6. Chọn nơi lưu form, nhấp Open.

TP.
 
ttphong2007 đã viết:
Bạn cũng có thể làm theo các bước sau:

1. Vào cửa sổ VBE
2. Chọn Form cần chép và nhấp phải chuột, chọn Export File
3. Chọn nơi lưu form có đuôi là .frm
4. Mở Workbook mới và vào cửa sổ VBA
5. Chọn nhóm Forms, nhấp phải chuột, chọn Import File
6. Chọn nơi lưu form, nhấp Open.

TP.

Cảm ơn bạn ttphong2007.

Về vấn đề này, xin bạn cho thêm một số kiến thức với nhé - Mình mô tả công việc như sau:

+ Ở workbook 1
1. Tạo ra 1 userform.
2. Mở sheet1, tạo 1 command_button để khi bấm vào nó thì cái form này "show" ra.
3. Export cái form này, sẽ ra 2 nhóc con sinh đôi:
+ 01 có đuôi là: *.frm
+ 01 có đuôi là: *.frx
5. Export cái sheet1, sẽ sinh ra cái: Sheet1.cls

+ Ở workbook 2:
1. Import cái *.frm vào workbook mới.
2. Import cái Sheet1.cls này vào workbook thì nó sẽ tự động nhảy vào thư mục classe (chứ không vào cái sheet1.xls).

Vậy mong "sư phụ" chỉ giúp:
1. Nhóc con *.frx có ý nghĩa và sử dụng như thế nào?
2. Sử dụng cái *.cls như thế nào để workbook 2 có sheet1 giống như workbook 1

Xin cảm ơn và chúc bạn thật nhiều sức khỏe.
 
minhlev đã viết:
Theo tôi, đơn gian chỉ cần copy workbook đó thành nhiều workbook khác thế thôi. Không biết có đúng ý bác không.

Cảm ơn bạn minhlev.

Nhưng mình nghĩ, ở nhiều trường hợp riêng thì cách làm này lại không phù hợp.

Ví dụ, mình tạo ra 1 woorkbook có chứa cái form này như 1 template (có thể chỉ cần có 1 sheet, có nghĩa như 1 bản mẫu để sẵn). Nhưng sau đó, khi cần thiết mình muốn "gán" cái mẫu này vào 1 workbook bất kỳ khác (mới thì không có vấn đề gì. Nhưng trường hợp workbook muốn gán này này có định dạng sẵn và khác cái workbook mẫu kia, thì rõ ràng là không được bạn ạ). Như vậy việc copy workbook như bạn gợi ý sẽ không thể thực hiện được.

Thân.
 
Chào bác dvu58,

.FRM: Chứa thông tin dạng văn bản của các Form trong Visual Basic.

.FRX: Chứa các thông tin về cách hình ảnh, icons, ... của các Form trong Visual Basic và thông tin các thư viện tham chiếu.

.CLS: Chứa các đối tượng tham chiếu trong mã nguồn của chương trình, bao gồm các hàm, thủ tục, các biến, và các kiểu dữ liệu.

Bạn Export các sheet ra có dạng .cls nghĩa là nó chỉ xuất ra các hàm, thủ tục,... mà bạn viết trong sheet đó chứ không phải nội dung của Sheet của Workbook. Bạn có thể chuyển Sheet đó qua Workbook mới bằng cách nhấp phải chuột lên nó | chọn Move or Copy... | đánh dấu chọn vào Create a copy và chọn tên Workbook cần sao chép sang tại To Workbook: <tên Workbook> (Workbook nguồn và đích đều mở trước khi thực hiện lệnh) khi đó nội dụng của sheet mới chuyển sang được.

Thân chào,
TP.
 
Cam on cac ban nhieu. Cac phan mem nay rat co ich
 
Bạn cũng có thể làm theo các bước sau:

1. Vào cửa sổ VBE
2. Chọn Form cần chép và nhấp phải chuột, chọn Export File
3. Chọn nơi lưu form có đuôi là .frm
4. Mở Workbook mới và vào cửa sổ VBA
5. Chọn nhóm Forms, nhấp phải chuột, chọn Import File
6. Chọn nơi lưu form, nhấp Open.

TP.
Em có làm như anh hướng dẫn nhưng thấy báo lỗi:
4.png6.png
 
Web KT
Back
Top Bottom