Hòi về chạy macro cùa fiile B từ file A? (1 người xem)

  • Thread starter Thread starter nad582
  • Ngày gửi Ngày gửi

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

nad582

Thành viên thường trực
Tham gia
7/6/11
Bài viết
317
Được thích
48
chào a(c) trong GPE, e có vấn đề thế này:
e có 2 file excell A và B:
file A: tại sheet 1 chứa dữ liệu (số dòng có thể thay đổi)
file B: tại sheet2 lấy dữ liệu từ file A
Như vậy, tại file A e có đoạn code đề mở file B lên sau đó chuyển dữ liệu từ file A sang file B.
trong file B e có đoạn code tao border (tạo lưới),
vậy làm sao để khi thực hiện khi chuyển dữ liệu sang file B lên, rồi thực hiện macro tạo lưới từ file B...!!
e chân thành cảm ơn!!
mong hồi âm!!
 
chào a(c) trong GPE, e có vấn đề thế này:
e có 2 file excell A và B:
file A: tại sheet 1 chứa dữ liệu (số dòng có thể thay đổi)
file B: tại sheet2 lấy dữ liệu từ file A
Như vậy, tại file A e có đoạn code đề mở file B lên sau đó chuyển dữ liệu từ file A sang file B.
trong file B e có đoạn code tao border (tạo lưới),
vậy làm sao để khi thực hiện khi chuyển dữ liệu sang file B lên, rồi thực hiện macro tạo lưới từ file B...!!
e chân thành cảm ơn!!
mong hồi âm!!
Bạn thêm một dòng gọi Sub trong file B từ file A như sau:
PHP:
Sub test()
Application.ScreenUpdating = False
On Error GoTo Handle
Workbooks.Open Application.GetOpenFilename("File_Excell_XLS, *.xls,", , "Open File")
Workbooks("excellBB.xls").Sheets("Sheet2").[A3:L65000].Value = Workbooks("excellAA.xls").Sheets("Sheet1").[A3:L65000].Value
Application.Run "excellBB.xls!border"
Application.ScreenUpdating = True
Handle:
End
End Sub
Nhưng sao bạn không viết code border trong sub Test trên file A luôn nhỉ.
 
Upvote 0
Bạn thêm một dòng gọi Sub trong file B từ file A như sau:
PHP:
Sub test()
Application.ScreenUpdating = False
On Error GoTo Handle
Workbooks.Open Application.GetOpenFilename("File_Excell_XLS, *.xls,", , "Open File")
Workbooks("excellBB.xls").Sheets("Sheet2").[A3:L65000].Value = Workbooks("excellAA.xls").Sheets("Sheet1").[A3:L65000].Value
Application.Run "excellBB.xls!border"
Application.ScreenUpdating = True
Handle:
End
End Sub
Nhưng sao bạn không viết code border trong sub Test trên file A luôn nhỉ.
Cảm ơn bài viết của huuthang_bd
code border để thực hiện trên file B, vì vậy nếu viết trên file A thì e ko biết làm sao để sub border thực hiện được với file B...
nếu được a giúp dùm e chỗ đó luôn!! chân thành cảm ơn!!
mong hồi âm
 
Upvote 0
chào a(c) trong GPE, e có vấn đề thế này:
e có 2 file excell A và B:
file A: tại sheet 1 chứa dữ liệu (số dòng có thể thay đổi)
file B: tại sheet2 lấy dữ liệu từ file A
Như vậy, tại file A e có đoạn code đề mở file B lên sau đó chuyển dữ liệu từ file A sang file B.
trong file B e có đoạn code tao border (tạo lưới),
vậy làm sao để khi thực hiện khi chuyển dữ liệu sang file B lên, rồi thực hiện macro tạo lưới từ file B...!!
e chân thành cảm ơn!!
mong hồi âm!!

Muốn chạy code từ file khác thì BẮT BUỘC bạn phải mở file chứa code ấy lên. Vậy có phải là tốn điện nước không?
Đàng nào cũng phải viết code, vậy sao bạn không viết luôn cái code mình cần vào file đang chạy cho khỏe? (gọi file kia lên chỉ để lấy code từ nó thì có vẻ... kỳ kỳ)
Cách hay hơn: Nếu như bạn thường dùng 1 code nào đó nhưng không muốn viết lại trên nhiều file, bạn có thể lưu code thành AddIn để dùng chung
 
Upvote 0
Cảm ơn bài viết của huuthang_bd
code border để thực hiện trên file B, vì vậy nếu viết trên file A thì e ko biết làm sao để sub border thực hiện được với file B...
nếu được a giúp dùm e chỗ đó luôn!! chân thành cảm ơn!!
mong hồi âm
Tôi sửa lại theo code của bạn.
PHP:
Sub Test()
Application.ScreenUpdating = False
On Error GoTo Handle
With Workbooks.Open(Application.GetOpenFilename("File_Excell_XLS, *.xls,", , "Open File"))
    .Sheets("Sheet2").[A3:L65000].Value = ThisWorkbook.Sheets("Sheet1").[A3:L65000].Value
    .Sheets("Sheet2").Cells.Borders.LineStyle = 0
    Range(.Sheets("Sheet2").[A65000].End(xlUp), .Sheets("Sheet2").[L3]).Borders.LineStyle = xlContinuous
End With
Handle:
Application.ScreenUpdating = True
End Sub
 
Upvote 0
Muốn chạy code từ file khác thì BẮT BUỘC bạn phải mở file chứa code ấy lên. Vậy có phải là tốn điện nước không?
Đàng nào cũng phải viết code, vậy sao bạn không viết luôn cái code mình cần vào file đang chạy cho khỏe? (gọi file kia lên chỉ để lấy code từ nó thì có vẻ... kỳ kỳ)
Cách hay hơn: Nếu như bạn thường dùng 1 code nào đó nhưng không muốn viết lại trên nhiều file, bạn có thể lưu code thành AddIn để dùng chung
Dùng AddIn em thấy vẫn phải dùng Application.Run, chứ đâu có gọi trực tiếp được code đâu Thầy?
 
Upvote 0

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

Back
Top Bottom