cách gọi userform hoặc macro từ 1 file excel đang đóng

momo101194

Thành viên mới
Tham gia ngày
1 Tháng sáu 2020
Bài viết
38
Được thích
5
Điểm
15
Tuổi
26
xin mọi người hướng dẫn, mình muốn gọi userform của một file excel đang đóng mình có viết và chạy thử thì file excel hiện ra nhưng userform không hiện ra,mình muốn chỉ userform hiện ra thôi.
đây là mình viết nhưng chạy không đúng
Sub Sample02_Run()
On Error Resume Next
Application.Run "C:\excel\?book1.xlsm!marco1"
End Sub
 

Hai Lúa Miền Tây

❆❆❆❆❆❆❆❆
Thành viên BQT
Administrator
Tham gia ngày
18 Tháng ba 2008
Bài viết
7,777
Được thích
14,778
Điểm
1,910
Nơi ở
Tp.HCM
xin mọi người hướng dẫn, mình muốn gọi userform của một file excel đang đóng mình có viết và chạy thử thì file excel hiện ra nhưng userform không hiện ra,mình muốn chỉ userform hiện ra thôi.
đây là mình viết nhưng chạy không đúng
Sub Sample02_Run()
On Error Resume Next
Application.Run "C:\excel\?book1.xlsm!marco1"
End Sub
Thử sửa lại như sau nhé:

Mã:
Sub GoiForm()
    On Error Resume Next
    Dim wbUserform As Workbook
    Set wbUserform = Workbooks.Open("C:\excel\book1.xlsm")
    Application.Run wbUserform.Name & "!marco1"
End Sub
 

momo101194

Thành viên mới
Tham gia ngày
1 Tháng sáu 2020
Bài viết
38
Được thích
5
Điểm
15
Tuổi
26
Thử sửa lại như sau nhé:

Mã:
Sub GoiForm()
    On Error Resume Next
    Dim wbUserform As Workbook
    Set wbUserform = Workbooks.Open("C:\excel\book1.xlsm")
    Application.Run wbUserform.Name & "!marco1"
End Sub
Cảm ơn 『Hai Lúa Miền Tây』, minh đã chạy thử thì userform và màn hình excel đã hiện ra nhưng em muốn ẩn màn hình excel đi và chỉ hiện ra mỗi userform thôi.Em có thêm dòng 『Application.Visible=False』
vào nhưng nó vẫn không ẩn đi ah,có cách nào làm cho nó ẩn đi không ah.

Sub GoiForm()
On Error Resume Next
Dim wbUserform As Workbook
 Application.Visible=False
Set wbUserform = Workbooks.Open("C:\excel\book1.xlsm")
Application.Run wbUserform.Name & "!marco1"
End Sub
[/CODE]
 

Hai Lúa Miền Tây

❆❆❆❆❆❆❆❆
Thành viên BQT
Administrator
Tham gia ngày
18 Tháng ba 2008
Bài viết
7,777
Được thích
14,778
Điểm
1,910
Nơi ở
Tp.HCM
Cảm ơn 『Hai Lúa Miền Tây』, minh đã chạy thử thì userform và màn hình excel đã hiện ra nhưng em muốn ẩn màn hình excel đi và chỉ hiện ra mỗi userform thôi.Em có thêm dòng 『Application.Visible=False』
vào nhưng nó vẫn không ẩn đi ah,có cách nào làm cho nó ẩn đi không ah.

Sub GoiForm()
On Error Resume Next
Dim wbUserform As Workbook
 Application.Visible=False
Set wbUserform = Workbooks.Open("C:\excel\book1.xlsm")
Application.Run wbUserform.Name & "!marco1"
End Sub
[/CODE]
Bạn phải đưa dòng code đó nằm trong Userform bên file book1.
Mã:
Private Sub UserForm_Initialize()
    Application.Visible = False
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    Application.Visible = True
End Sub
 

momo101194

Thành viên mới
Tham gia ngày
1 Tháng sáu 2020
Bài viết
38
Được thích
5
Điểm
15
Tuổi
26
Dạ cảm ơn anh 『Hai Lúa Miền Tây』ah,em có thể hỏi thêm điều này đuợc không ah,
giả sử :
-book1:macro1
-book2:macro2
từ book2 của macro2 gọi marco1 của book1 thì e đã gọi ok macro1 hiện ra và màn hình excel của book1 ẩn đi đúng em mong muốn.
nhưng khi em dùng lệnh để hiển thị file excel của book2 lên thì nó lại hiện lên macro1,nhưng nếu em tắt marco1 và chạy lên hiển thị file excel của book2 lần nữa thì nó sẽ hiện ra,tức là em phải chạy 2 lần thì file excel mới hiện ra.
 
Lần chỉnh sửa cuối:

momo101194

Thành viên mới
Tham gia ngày
1 Tháng sáu 2020
Bài viết
38
Được thích
5
Điểm
15
Tuổi
26
Dạ cảm ơn anh 『Hai Lúa Miền Tây』ah,em có thể hỏi thêm điều này đuợc không ah,
giả sử :
-book1:macro1
-book2:macro2
từ book2 của macro2 gọi marco1 của book1 thì e đã gọi ok macro1 hiện ra và màn hình excel của book1 ẩn đi đúng em mong muốn.
nhưng khi em dùng lệnh để hiển thị file excel của book2 lên thì nó lại hiện lên macro1,nhưng nếu em tắt marco1 và chạy lên hiển thị file excel của book2 lần nữa thì nó sẽ hiện ra,tức là em phải chạy 2 lần thì file excel mới hiện ra.
em đã làm đuợc rồi ah
 
Top Bottom