Dùng VBA chạy một macro đã record ở một workbook khác trên nền workbook đó (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

shienming

Thành viên mới
Tham gia
3/7/14
Bài viết
7
Được thích
0
Em kính chào các anh chị trong diễn đàn ạ,
Vấn đề hiện tại của em là em có 2 file gồm file final 5.xls và final 5.xlsm
Tình trạng của em là em muốn dùng file final 5.xlsm để chạy macro CreateSheet của file final 5.xls một cách tự động, tức là khi nhấn vào nút button 1 trong file .xlsm thì file .xls sẽ chạy macro CreateSheet chứ không phải là file .xlsm sẽ chạy macro CreateSheet : sau khi chạy thì file .xls sẽ có thêm các sheet1, sheet2,...,sheetN còn file .xlsm thì vẫn giữ nguyên như lúc chưa chạy macro. Với trường hợp đó thì em nên xử lý như thế nào ạ?
Em xin cám ơn các anh chị trong diễn đàn ạ
Kính
Shienming
 

File đính kèm

Dường như bạn muốn sử dụng Sub Create Sheet cho các file của bạn, vậy sao bạn không chuyển những Sub dùng chung sang dạng Addin để dùng thì file nào cũng dùng được
 
Upvote 0
Dạ tại vì có 2 lý do em không muốn trực tiếp sử dụng sub CreateSheet mà muốn dùng nó một cách gián tiếp thông qua file .xlsm là vì:
1/ Sau khi sử dụng sub CreateSheet, em còn thao tác trong file .xlsm để chạy một số sub khác nữa
2/ Để sau này có gì em sẽ dùng nó như một cách để làm giảm thiểu dung lượng các file .xls với các macro khác luôn, đặc biệt là với các macro quá nặng và yêu cầu quá nhiều thời gian để tính toán trên Excel ạ
Em xin cám ơn anh đã quan tâm ạ
Kính,
Shienming
 
Upvote 0
ai giúp em với ạ, vì thực sự cái này em đã tìm google rồi mà không ra ạ
Kính
Shienming
 
Upvote 0
ai giúp em với ạ, vì thực sự cái này em đã tìm google rồi mà không ra ạ
Kính
Shienming
Thử code này
[GPECODE=vb]
Sub Test()

Application.Run "'D:\Final 5.xls'!CreateSheet"

End Sub


[/GPECODE]

Với: 'D:\Final 5.xls': Đừng dẫn file có macro muốn chạy
CreateSheet: Tên macro ở file Final 5
 
Upvote 0

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

Back
Top Bottom