Code lỗi phiên bản excel (1 người xem)

Liên hệ QC

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

phuocrobe

Thành viên hoạt động
Tham gia
2/11/16
Bài viết
131
Được thích
0
Mình có đoạn code này khi chạy trên excel 2010 thì chạy bình thường nhưng khi chạy trên excel 2003 thì bị lỗi "Provider cannot be found. It may not be properly installed". Nhờ các anh chị xử lý giúp em làm sao để có thể chạy trên excel 2003 được à. Em xin cám ơn -=.,,-=.,,
Sub doichieuketoan()
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 & "\ketoan.xls;Extended Properties=""Excel 12.0 Xml;HDR=NO;IMEX=1"";"
Range("A6").CopyFromRecordset cn.Execute("SELECT f5,f7,f8,f15,f22,f30 FROM [doc1$A15:AK60000] where f2 >0")
Range("A6:A" & Range("A65000").End(3).Row).Value = "=row()-5"
Range("A6:G" & Range("A65000").End(3).Row).Borders.LineStyle = xlContinuous
Range("A6:G60000").Select
ActiveWorkbook.Worksheets("B07").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("B07").Sort.SortFields.Add Key:=Range( _
"C6:C60000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("B07").Sort.SortFields.Add Key:=Range( _
"B6:B60000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("B07").Sort
.SetRange Range("A5:G60000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Có 1 trục trặc nhỏ bạn ơi. Nếu điều kiện f129 <>"" thì nó chạy ok nhưng khi f129="" thì nó xóa hết dữ liệu các dòng từ dòng 12 trở lên bạn à. Bạn kiểm tra giúp mình chỗ này với. Cám ơn bạn.
thêm dòng này
Range([A10],Range("A65500").End(xlUp)).Resize(,12).ClearContents

trước dòng (thứ 5 từ cuối chương trình lên)
If k > 0 Then Range("A10").Resize(k, 12).Value = Arr

là được

lưu ý tôi mới thêm dấu "," trước số 12
 
Upvote 0
Có 1 trục trặc nhỏ bạn ơi. Nếu điều kiện f129 <>"" thì nó chạy ok nhưng khi f129="" thì nó xóa hết dữ liệu các dòng từ dòng 12 trở lên bạn à. Bạn kiểm tra giúp mình chỗ này với. Cám ơn bạn.

xóa từ dòng 10 đi chứ?
thế là đúng còn gì,

Không có kết quả thì nó trắng là đúng
 
Upvote 0
thay dòng sau
Range([A10],Range("A65500").End(xlUp)).Resize(,12).ClearContents

bằng đoạn này
PHP:
If Range("A65500").End(xlUp).Row > 9 Then _
        Range([A10], Range("A65500").End(xlUp)).Resize(, 12).ClearContents
có thể giải quyết
 
Upvote 0
Web KT

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

Back
Top Bottom