Làm sao để chạy macro khi file đang đóng (1 người xem)

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

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

kulyvn

Thành viên thường trực
Tham gia
3/8/11
Bài viết
283
Được thích
4
Sub tonghop()
Application.ScreenUpdating = False
Range("A6:G" & Range("A65000").End(3).Row + 1).ClearContents
Set cn = CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\danhsach.xls;Extended Properties=""Excel 12.0 Xml;HDR=NO;IMEX=1"";"
Range("B6").CopyFromRecordset cn.Execute("SELECT f5,f7,f8,f15,f22,f30 FROM [doc1$A15:AK60000] where f2 >0")
Range("A6:A" & Range("B65000").End(3).Row).Value = "=row()-5"
Range("A6:G" & Range("B65000").End(3).Row).Borders.LineStyle = xlContinuous
ActiveWorkbook.Worksheets("DOI B07").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("DOI B07").Sort.SortFields.Add Key:=Range("C6:C60000"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
End Sub



Khi mình mở file danhsach.xls thì mới chạy được macro trên, có cách nào không cần mở file danhsach.xls mà vẫn chạy code trên được không?
Nhờ các anh chị giúp đỡ. Xin cám ơn !!
 
Sub tonghop()
Application.ScreenUpdating = False
Range("A6:G" & Range("A65000").End(3).Row + 1).ClearContents
Set cn = CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\danhsach.xls;Extended Properties=""Excel 12.0 Xml;HDR=NO;IMEX=1"";"
Range("B6").CopyFromRecordset cn.Execute("SELECT f5,f7,f8,f15,f22,f30 FROM [doc1$A15:AK60000] where f2 >0")
Range("A6:A" & Range("B65000").End(3).Row).Value = "=row()-5"
Range("A6:G" & Range("B65000").End(3).Row).Borders.LineStyle = xlContinuous
ActiveWorkbook.Worksheets("DOI B07").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("DOI B07").Sort.SortFields.Add Key:=Range("C6:C60000"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
End Sub



Khi mình mở file danhsach.xls thì mới chạy được macro trên, có cách nào không cần mở file danhsach.xls mà vẫn chạy code trên được không?
Nhờ các anh chị giúp đỡ. Xin cám ơn !!
Cách nhà quê làm vầy nếu nghe lọt tai ta tính tiếp nha

dùng file X mở file đó lên chạy code đó xong đóng file đó lại ... xong
 
...
Khi mình mở file danhsach.xls thì mới chạy được macro trên, có cách nào không cần mở file danhsach.xls mà vẫn chạy code trên được không?
Nhờ các anh chị giúp đỡ. Xin cám ơn !!

Lý do tại sao bạn lại muốn thế?
Làm được hay khong chưa tính tới. Nhưng nếu bạn làm được thì có biết nguy hiểm như thế nào không?

Tương đương với đưa chìa khoá cho một thằng lính của mình, và bảo:
- chìa khoá nhà, khoá tủ tao đây, mày về nhà tao mở tủ lấy cho tao mấy triệu.

(nếu tôi là người lính của bạn ấy, tôi từ chối thẳng không nhận chìa khoá)
(nếu bạn vẫn không hiểu tại sao thì bạn nên về học lại cách kiểm soát dữ liệu)
 
Dữ liệu mình public nên không có gì nguy hiểm cả. Ở file khác mình làm y như thế lại được, qua file này thì không hiểu sao lại không chạy được.
Nó báo lỗi chỗ này
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\danhsach.xls;Extended Properties=""Excel 12.0 Xml;HDR=NO;IMEX=1"";"
Lý do tại sao bạn lại muốn thế?
Làm được hay khong chưa tính tới. Nhưng nếu bạn làm được thì có biết nguy hiểm như thế nào không?

Tương đương với đưa chìa khoá cho một thằng lính của mình, và bảo:
- chìa khoá nhà, khoá tủ tao đây, mày về nhà tao mở tủ lấy cho tao mấy triệu.

(nếu tôi là người lính của bạn ấy, tôi từ chối thẳng không nhận chìa khoá)
(nếu bạn vẫn không hiểu tại sao thì bạn nên về học lại cách kiểm soát dữ liệu)
 

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

Back
Top Bottom