Dùng VBA để thực thi lệnh trên nền workbook khác đã mở sẵn (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 xin chào các anh/chị trong diễn đàn ạ
Vấn đề của em là em có 2 file Excel, 1 file là *.xls, một file là *.xlm
Vì file *.xls nếu lưu lại dạng VBA thì thường dung lượng rất nặng nên em chuyển sang lưu VBA trên file *.xlm và sau khi thực thi sẽ chuyển dữ liệu về file *.xls
Trong file *.xlm em dùng vòng lặp "For i = 1 to 15 Step 1" để chạy code của mình
Điều em muốn là sau mỗi lần thay đổi i trong vòng lặp (Tức là khi kết thúc vòng i = 1, kết thúc vòng i = 2, ..., kết thúc vòng i=15) thì bên file *.xls sẽ tự động cập nhật kết quả mà không phải dùng lại lệnh mở lại file *.xls thì mình có cách nào giải quyết không ạ?
Tóm tắt lại vấn đề của em là file *.xls em đã mở sẵn rồi, nhưng em muốn trong file *.xlm không phải dùng lệnh mở file *.xls mà file *.xlm tự động truy cập vào file *.xls luôn để thay đổi dữ liệu trong đó đó ạ.
Em xin cám ơn các anh/chị ạ,
Em xin hết ạ
Kính
Shienming
Vì dở văn nên em viết hơi lủng củng, mong anh chị thông cảm ạ
 
Em xin chào các anh/chị trong diễn đàn ạ
Vấn đề của em là em có 2 file Excel, 1 file là *.xls, một file là *.xlm
Vì file *.xls nếu lưu lại dạng VBA thì thường dung lượng rất nặng nên em chuyển sang lưu VBA trên file *.xlm và sau khi thực thi sẽ chuyển dữ liệu về file *.xls
Trong file *.xlm em dùng vòng lặp "For i = 1 to 15 Step 1" để chạy code của mình
Điều em muốn là sau mỗi lần thay đổi i trong vòng lặp (Tức là khi kết thúc vòng i = 1, kết thúc vòng i = 2, ..., kết thúc vòng i=15) thì bên file *.xls sẽ tự động cập nhật kết quả mà không phải dùng lại lệnh mở lại file *.xls thì mình có cách nào giải quyết không ạ?
Tóm tắt lại vấn đề của em là file *.xls em đã mở sẵn rồi, nhưng em muốn trong file *.xlm không phải dùng lệnh mở file *.xls mà file *.xlm tự động truy cập vào file *.xls luôn để thay đổi dữ liệu trong đó đó ạ.
Em xin cám ơn các anh/chị ạ,
Em xin hết ạ
Kính
Shienming
Vì dở văn nên em viết hơi lủng củng, mong anh chị thông cảm ạ
File .xls không có code thì chạy kiểu nào?
Trong khi file .xlsm có code thì đóng?
Nói nhiều chi bằng gởi file lên cho nhanh có câu trả lời.
 
Upvote 0
Trong file 5.rar này em có 2 file: 1 file là Final 5.xlsm và 1 file là Final 5.xls
Ví dụ em mở sẵn cả 2 file, sau đó trong file Final 5.xlsm em thực thi lệnh CallData, sau đó thực thi lệnh Update thì nó hiện bảng thông báo báo rằng có muốn reopen file hay không, giờ em muốn nó không hiện bảng đó nữa thì phải làm thế nào ạ?
Kính
Shienming
 

File đính kèm

Upvote 0
Trong file 5.rar này em có 2 file: 1 file là Final 5.xlsm và 1 file là Final 5.xls
Ví dụ em mở sẵn cả 2 file, sau đó trong file Final 5.xlsm em thực thi lệnh CallData, sau đó thực thi lệnh Update thì nó hiện bảng thông báo báo rằng có muốn reopen file hay không, giờ em muốn nó không hiện bảng đó nữa thì phải làm thế nào ạ?
Kính
Shienming

Nếu tập tin XLS đã được mở thì trong 2 sub CallData và UpDate bạn truy cập tới nó như sau

Mã:
[COLOR=#ff0000]Set wb = Workbooks("Final 5.xls")[/COLOR]

hoặc viết tường minh

[COLOR=#ff0000]Set wb = Application.Workbooks("Final 5.xls")[/COLOR]
 
Upvote 0
Trong file 5.rar này em có 2 file: 1 file là Final 5.xlsm và 1 file là Final 5.xls
Ví dụ em mở sẵn cả 2 file, sau đó trong file Final 5.xlsm em thực thi lệnh CallData, sau đó thực thi lệnh Update thì nó hiện bảng thông báo báo rằng có muốn reopen file hay không, giờ em muốn nó không hiện bảng đó nữa thì phải làm thế nào ạ?
Kính
Shienming

Code thế này để kiểm tra xem WB có đang mở hay không, nếu chưa thì mở, nếu đang mở thì không mở nữa
PHP:
Sub KT()
Dim WB As Workbook, Chk As Boolean
For Each WB In Workbooks
    If WB.Name = "Final 5.xls" Then Chk = True
Next
If Chk = False Then
    'Code mo file
End If
End Sub
 
Upvote 0
Dạ em xin cảm ơn anh quanghai1969 ạ
Anh ơi, cho em hỏi thêm xíu là lỗi run time error 1004: Method "Run" of object '_Application' failed là gì ạ?
Em đang tính thử thực thi macro của file Final 5.xls bằng file Final 5.xlsm
Em tham khảo link này: http://excelexperts.com/VBA-Tips-Call-Code-From-Another-Workbook và tải 2 file đính kèm như trong link thì khi chạy code CallCodeFromAnotherWorkbook() của nó thì Excel báo lỗi ạ
Em xin cám ơn anh ạ
Kính
Shienming
 
Upvote 0

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

Back
Top Bottom