Coppy code vba từ UserForm

Cát Lượng

Thành viên chính thức
Tham gia ngày
14 Tháng mười một 2018
Bài viết
71
Thích
11
Điểm
20
Tuổi
31
#1
Chào các anh chị!
Em muốn coppy một code vba kiểu Userform (bao gồm code và hình dạng biểu mẫu ) sang một file khác để sử dụng
Phần chữ của code thì em làm được, nhưng phần định dạng biểu mẫu em không biết coppy kiểu nào
Các anh chị giúp em ạ!
1.png 2.png
 

vanthinh3101

Thành viên tích cực
Tham gia ngày
24 Tháng một 2015
Bài viết
758
Thích
795
Điểm
360
Tuổi
30
#2
Chào các anh chị!
Em muốn coppy một code vba kiểu Userform (bao gồm code và hình dạng biểu mẫu ) sang một file khác để sử dụng
Phần chữ của code thì em làm được, nhưng phần định dạng biểu mẫu em không biết coppy kiểu nào
Các anh chị giúp em ạ!
View attachment 208898 View attachment 208899
Bạn xem bài này: https://www.giaiphapexcel.com/diendan/threads/có-cách-nào-để-copy-1-userform.3155/
 

HeSanbi

Thành viên tích cực
Tham gia ngày
24 Tháng hai 2013
Bài viết
414
Thích
180
Điểm
395
#3
Phần chữ của code thì em làm được
"Phần chữ của code thì em làm được " -> Vô lý
Đã làm được như vậy mà không biết cách Copy Form. Vui đấy
Gợi ý: Dùng code VBA export UserForm gửi đi đâu đó rồi. Dựa vào link đó Import lại Workbook mới
 

Cát Lượng

Thành viên chính thức
Tham gia ngày
14 Tháng mười một 2018
Bài viết
71
Thích
11
Điểm
20
Tuổi
31
#4
"Phần chữ của code thì em làm được " -> Vô lý
Đã làm được như vậy mà không biết cách Copy Form. Vui đấy
Gợi ý: Dùng code VBA export UserForm gửi đi đâu đó rồi. Dựa vào link đó Import lại Workbook mới
Cái phần biểu mẫu em không cop được ạ!
còn phần view code em coppy được
 

HeSanbi

Thành viên tích cực
Tham gia ngày
24 Tháng hai 2013
Bài viết
414
Thích
180
Điểm
395
#5
Cái phần biểu mẫu em không cop được ạ!
còn phần view code em coppy được
"Cực kì khó"
PHP:
Sub ImportForm()
    Dim wbA As Workbook, wbB As Workbook
    Set wbA = Workbooks("Book1")
    Set wbB = Workbooks("Book2")
    wbA.VBProject.VBComponents("Userform1").Export "C:\temp\Userform1.frm"
    wbB.VBProject.VBComponents.Import "C:\temp\userform1.frm"
    Kill "C:\temp\userform1.frm"
    Kill "C:\temp\userform1.frx"
End Sub
 

Cát Lượng

Thành viên chính thức
Tham gia ngày
14 Tháng mười một 2018
Bài viết
71
Thích
11
Điểm
20
Tuổi
31
#6
"Cực kì khó"
PHP:
Sub ImportForm()
    Dim wbA As Workbook, wbB As Workbook
    Set wbA = Workbooks("Book1")
    Set wbB = Workbooks("Book2")
    wbA.VBProject.VBComponents("Userform1").Export "C:\temp\Userform1.frm"
    wbB.VBProject.VBComponents.Import "C:\temp\userform1.frm"
    Kill "C:\temp\userform1.frm"
    Kill "C:\temp\userform1.frx"
End Sub
Em vừa copy từng cái 1, khi chạy code thấy báo lỗi, nhờ anh giúp e ạ!
khi chạy code đã hiện lên bảng, nhưng khi nhấn vào nút trong bảng không thấy tác dụng ạ!
Loi code1.png
 

Cát Lượng

Thành viên chính thức
Tham gia ngày
14 Tháng mười một 2018
Bài viết
71
Thích
11
Điểm
20
Tuổi
31
#8
Bạn phải học VBIDE và VBA . Để kiểm soát ứng dụng của mình chứ. Sao có thể giải thích cho bạn được hết được
Dạ vâng, em mới học nên cũng chưa biết ạ! em tải file lên nhờ anh giúp em một lần, xem nó bị lỗi gì ạ! cái code trong userform có tên "quanlybangsheet"
Em cám ơn anh ạ!
 

File đính kèm

batman1

Thành viên tích cực
Tham gia ngày
8 Tháng chín 2014
Bài viết
1,245
Thích
2,010
Điểm
360
#9
Đã có 1 Form được thiết kế chuẩn và có code rồi.
Bây giờ:
1. Nếu muốn lưu lại vào thư viện riêng của mình để sau này lúc cần thì thêm vào tập tin mới: Trong VBE chọn Form - Trong cửa sổ Project - VBAProject (...) -> menu File -> Export File -> duyệt tới thư mục vd. "Các code của tôi" -> lưu lại.
Nếu có các Module và muốn sau này thêm vào các tập tin khác thì cũng làm tương tự.

Trong tương lai muốn thêm Form, Module vào tập tin khác thì File -> Import -> duyệt tới "Các code của tôi" -> chọn Form hoặc Module.

2. Nếu muốn thêm Form, Module vào tập tin đang mở ngay bây giờ mà trước đó chưa Export thì: mở tiếp tập tin có Form, Module nếu chưa mở -> nhấn chuột trái vào Form, Module - Trong cửa sổ Project - VBAProject (...) và giữ không thả -> kéo sang vùng của tập tin mới -> thả chuột (kéo thả = drag and drop)

Tất nhiên sau khi thêm Form, Module thì nên thêm, bớt controls, code hoặc chỉnh sửa cái đã có để hoàn toàn phù hợp với tập tin hiện hành.
 
Lần chỉnh sửa cuối:

Cát Lượng

Thành viên chính thức
Tham gia ngày
14 Tháng mười một 2018
Bài viết
71
Thích
11
Điểm
20
Tuổi
31
#10
Đã có 1 Form được thiết kế chuẩn và có code rồi.
Bây giờ:
1. Nếu muốn lưu lại vào thư viện riêng của mình để sau này lúc cần thì thêm vào tập tin mới: Trong VBE chọn Form -> menu File -> Export File -> duyệt tới thư mục vd. "Các code của tôi" -> lưu lại.
Nếu có các Module và muốn sau này thêm vào các tập tin khác thì cũng làm tương tự.

Trong tương lai muốn thêm Form, Module vào tập tin khác thì File -> Import -> duyệt tới "Các code của tôi" -> chọn Form hoặc Module.

2. Nếu muốn thêm Form, Module vào tập tin đang mở ngay bây giờ mà trước đó chưa Export thì: mở tiếp tập tin có Form, Module nếu chưa mở -> nhấn chuột trái vào Form, Module và giữ không thả -> kéo sang vùng của tập tin mới -> thả chuột (kéo thả = drag and drop)

Tất nhiên sau khi thêm Form, Module thì nên thêm, bớt controls, code hoặc chỉnh sửa cái đã có để hoàn toàn phù hợp với tập tin hiện hành.
Dạ em làm được nhưng vẫn thông báo lỗi, loay hoay từ chiều đến giờ
Anh vào giúp em bài#6 ạ! em cám ơn anh nhiều
chúc anh buổi tối vui vẻ!
https://www.giaiphapexcel.com/diendan/threads/lỗi-code.139466/
 

thuyyeu99

Thành viên tích cực
Tham gia ngày
6 Tháng sáu 2008
Bài viết
704
Thích
276
Điểm
735
#11

Cát Lượng

Thành viên chính thức
Tham gia ngày
14 Tháng mười một 2018
Bài viết
71
Thích
11
Điểm
20
Tuổi
31
#15
Giúp gì? Nói thế vẫn chưa hiểu.

Tôi thêm Form vào Book2 như clip đính kèm
Vâng, ý em là em chạy được code nhưng vẫn báo lỗi ạ! em đã copy và chạy rồi, nhưng báo lỗi, mà lỗi em có nêu ở bài #6 ạ!
Bài đã được tự động gộp:

Mình dang dung diện thoại nên không nhớ rõ tên... Bo tay doi minh seach thử
Dạ vâng, em cám ơn.
 

Cát Lượng

Thành viên chính thức
Tham gia ngày
14 Tháng mười một 2018
Bài viết
71
Thích
11
Điểm
20
Tuổi
31
#17
Dạ vâng để em thử tìm ạ! chiều em tìm mãi k ra
Bài đã được tự động gộp:

Dạ không phải lỗi đó chị ạ!
Em coppy cả Userform sang một file bình thường thì vẫn sử dụng được, nhưng em copy sang file này (file đính kèm bài #6) thì lại báo lỗi vậy nên mới không hiểu tại sao.
 
Lần chỉnh sửa cuối:

batman1

Thành viên tích cực
Tham gia ngày
8 Tháng chín 2014
Bài viết
1,245
Thích
2,010
Điểm
360
#18
Vâng, ý em là em chạy được code nhưng vẫn báo lỗi ạ! em đã copy và chạy rồi, nhưng báo lỗi, mà lỗi em có nêu ở bài #6 ạ!
.
Bạn hỏi về copy Form thì tôi đã trả lời. Tôi còn thêm miễn phí
Tất nhiên sau khi thêm Form, Module thì nên thêm, bớt controls, code hoặc chỉnh sửa cái đã có để hoàn toàn phù hợp với tập tin hiện hành
Chắc gì tập tin mới mà bạn không đính kèm nó y hệt như tập tin cung cấp Form (file can giup.xlsm), vì thế phải chỉnh sửa cho phù hợp.

Tôi hiểu là bạn có "file can giúp.xlsm" với Form quanlybangsheet. Bạn muốn copy Form sang tập tin hichic.xlsm. Nếu sau khi hichic.xlsm có Form quanlybangsheet rồi và chạy code bị lỗi và bạn muốn người khác sửa hộ thì phải đính kèm hichic.xlsm chứ sao lại đính kèm "file can giup.xlsm"?

Tóm lại copy là một chuyện nhưng sau đó phải làm đỏ đỏ

Và cái lỗi gì đó không liên quan gì tới việc copy. Nhiều khi người ta đóng chủ đề với lời cảnh báo: "Bạn đã nhận được sự giúp đỡ. Nếu có vấn đề khác thì lập chủ đề mới"
 

Cát Lượng

Thành viên chính thức
Tham gia ngày
14 Tháng mười một 2018
Bài viết
71
Thích
11
Điểm
20
Tuổi
31
#19
Bạn hỏi về copy Form thì tôi đã trả lời. Tôi còn thêm miễn phí

Chắc gì tập tin mới mà bạn không đính kèm nó y hệt như tập tin cung cấp Form (file can giup.xlsm), vì thế phải chỉnh sửa cho phù hợp.

Tôi hiểu là bạn có "file can giúp.xlsm" với Form quanlybangsheet. Bạn muốn copy Form sang tập tin hichic.xlsm. Nếu sau khi hichic.xlsm có Form quanlybangsheet rồi và chạy code bị lỗi và bạn muốn người khác sửa hộ thì phải đính kèm hichic.xlsm chứ sao lại đính kèm "file can giup.xlsm"?

Tóm lại copy là một chuyện nhưng sau đó phải làm đỏ đỏ

Và cái lỗi gì đó không liên quan gì tới việc copy. Nhiều khi người ta đóng chủ đề với lời cảnh báo: "Bạn đã nhận được sự giúp đỡ. Nếu có vấn đề khác thì lập chủ đề mới"
Vâng, em đã làm trên file bình thường (không phải file em đính kèm )thì vẫn chạy được , nhưng em đã coppy Userform vào file em đính kèm (file can giup) và chạy thì lại không được ạ, nó báo lỗi. em không hiểu lỗi dó do đâu.
File em đính kèm bài #6 đã có Userform trong đó.
Em cũng mới tham gia nên nhiều cái chưa rõ, lần sau em sẽ rút kinh nghiệm.
Cám ơn anh!
 
Lần chỉnh sửa cuối:

batman1

Thành viên tích cực
Tham gia ngày
8 Tháng chín 2014
Bài viết
1,245
Thích
2,010
Điểm
360
#20
Vâng, em đã làm trên file bình thường (không phải file em đính kèm )thì vẫn chạy được , nhưng em đã coppy Userform vào file em đính kèm (file can giup) và chạy thì lại không được ạ, nó báo lỗi. em không hiểu lỗi dó do đâu.
File em đính kèm bài #6 đã có Userform trong đó.
Em cũng mới tham gia nên nhiều cái chưa rõ, lần sau em sẽ rút kinh nghiệm.
Cám ơn anh!
1. Hãy lập chủ đề mới để hỏi vấn đề mới.
2. Hãy mô tả trình tự các thao tác để đi tới lỗi. Vd.: "Sau khi mở tập tin thì tôi chọn cái này ..., nhấn cái kia ..., lúc đó có UserForm nhẩy ra, tôi sẽ gõ cái này ... vào chỗ này ..., sao đó tôi chọn cái kia .... thì nhẩy ra cửa sổ báo lỗi"

Phải hướng dẫn người khác cách "đi gặp lỗi". Nói là có lỗi thì ai mà đoán được? Vì tôi bỏ các code liên quan tới add-in, vì bạn không đính kèm, rồi sau đó Show Form rồi đúp chuột vào ListBox thì chả thấy lỗi gì.
 
Top