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

Liên hệ QC

momo101194

Thành viên mới
Tham gia
1/6/20
Bài viết
38
Được thích
5
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
 
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
 
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]
 
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
 
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:
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
 
Web KT
Back
Top Bottom