Lỗi "can't find project or library" khi chạy macro

hoainam9902

Thành viên mới
Tham gia ngày
23 Tháng bảy 2010
Bài viết
6
Thích
2
Điểm
0
#1
Tình hình là e đang gặp phải vấn đề này mong các cao thủ nếu biết chỉ giúp e với. Em có file tính toán độ lún nền đường của một người trong cty lập bằng VBA nhưng giờ a ấy ko làm ở đây nữa, không biết a ấy có cài thêm add-in nào nữa ko, nhưng giờ e mở ra thì chương trình thì báo lỗi "can't find project or library" khi chạy macro, anh chị nào biết cách khắc phục thì chỉ giúp e với. E gửi file lên mọi người xem giúp e nhé. Cảm ơn mọi người!
 

File đính kèm

nhapmon

Thành viên tích cực
Tham gia ngày
31 Tháng mười 2007
Bài viết
1,178
Thích
874
Điểm
0
#2
một rừng code, coi hết chắc chết quá...hiihiih
trong khi đợi các cao thủ giúp đỡ mình thấy sơ qua như vây
các biến như i,j,k,l,m,n1,m2..v.v.v chưa được khai báo,
bạn cho nó chạy nó báo lỗi ở biến nào thì khai báo lại
ví dụ là con số thì khai là
dim i as integer

và bạn phải chắc là bạn đã không thay đổi vị trí các sheet chứ, vì trong code người ta có chỉ định, nếu bạn thay đổi vị trí các sheet thì nó ko tìm thấy lại báo lỗi.

còn vì sao tiền bối của bạn xài được mà ko cần khai báo biến thì mình cũng ko biêt...hihihih
 

hoainam9902

Thành viên mới
Tham gia ngày
23 Tháng bảy 2010
Bài viết
6
Thích
2
Điểm
0
#3
một rừng code, coi hết chắc chết quá...hiihiih
trong khi đợi các cao thủ giúp đỡ mình thấy sơ qua như vây
các biến như i,j,k,l,m,n1,m2..v.v.v chưa được khai báo,
bạn cho nó chạy nó báo lỗi ở biến nào thì khai báo lại
ví dụ là con số thì khai là
dim i as integer

và bạn phải chắc là bạn đã không thay đổi vị trí các sheet chứ, vì trong code người ta có chỉ định, nếu bạn thay đổi vị trí các sheet thì nó ko tìm thấy lại báo lỗi.
còn vì sao tiền bối của bạn xài được mà ko cần khai báo biến thì mình cũng ko biêt...hihihih
cảm ơn bạn, đây là bảng tính "nguyên gốc" mình ko thay đôỉ gì bảng tính này cả. Chỉ sợ người trước họ còn thêm các add-in bên ngoài mà mình không biết.
 

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia ngày
5 Tháng sáu 2008
Bài viết
30,108
Thích
52,067
Điểm
11,910
#4
một rừng code, coi hết chắc chết quá...hiihiih
trong khi đợi các cao thủ giúp đỡ mình thấy sơ qua như vây
các biến như i,j,k,l,m,n1,m2..v.v.v chưa được khai báo,
bạn cho nó chạy nó báo lỗi ở biến nào thì khai báo lại
ví dụ là con số thì khai là
dim i as integer

và bạn phải chắc là bạn đã không thay đổi vị trí các sheet chứ, vì trong code người ta có chỉ định, nếu bạn thay đổi vị trí các sheet thì nó ko tìm thấy lại báo lỗi.

còn vì sao tiền bối của bạn xài được mà ko cần khai báo biến thì mình cũng ko biêt...hihihih
Thường thì lỗi này liên quan đến các thành phân References
Bấm Alt + F11, vào menu Tools\References, cửa sổ hiện ra sẽ thấy có 1 số "đứa" có chữ "MISSING... " ---> nguyên nhân đa phần là ở đây (máy chưa cài các control này)
 

nhapmon

Thành viên tích cực
Tham gia ngày
31 Tháng mười 2007
Bài viết
1,178
Thích
874
Điểm
0
#5
tks anh, sau khi gở bỏ các missing thì nó chạy ok rồi, nhưng chạy lâu kinh khủng
liệu 2 lệnh sau đây cho mỗi Function có giúp nó chạy nhanh hơn ko anh

Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
.............................
.................................
Application.Calculation = xlCalc
Application.ScreenUpdating = True

lỡ giúp rồi anh hướng thêm luôn đi.
sẳn anh cho tôi hỏi luôn, khi chuyển sang xlCalculationManual, khi excel bị tắt ngang (treo, phải thoát) thì nó chuyển về autocal ko, vì tôi hay bị trong trường hợp của mình.

tks again
 
Lần chỉnh sửa cuối:

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia ngày
5 Tháng sáu 2008
Bài viết
30,108
Thích
52,067
Điểm
11,910
#6
tks anh, sau khi gở bỏ các missing thì nó chạy ok rồi, nhưng chạy lâu kinh khủng
liệu 2 lệnh sau đây cho mỗi Function có giúp nó chạy nhanh hơn ko anh

Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
.............................
.................................
Application.Calculation = xlCalc
Application.ScreenUpdating = True

lỡ giúp rồi anh hướng thêm luôn đi.
tks
Mấy cái Calculation hay ScreenUpdating ấy cũng chỉ giúp tăng tốc phần nào thôi (sau khi code đã được tối ưu) ---> Nói chung ăn nhau vẫn ở chổ giải thuật xử lý CSDL ---> Code nào có giải thuật tốt sẽ nhanh hơn (thậm chí cũng khỏi cần máy cái Calculation hay ScreenUpdating ấy luôn)
---------------
(code cả 1 "rừng", ai mà đủ kiên nhẫn để sửa đây ---> Thà tôi làm lại từ đầu còn sướng hơn)
 

AnhThu-1976

Thành viên tích cực
Tham gia ngày
17 Tháng mười 2014
Bài viết
482
Thích
45
Điểm
185
#7
Bấm Alt + F11, vào menu Tools\References, cửa sổ hiện ra sẽ thấy có 1 số "đứa" có chữ "MISSING... " ---> nguyên nhân đa phần là ở đây (máy chưa cài các control này)
Cho em hỏi cách cài các control này, vì máy em cũng báo lỗi
"Can't find project or library", Theo hướng dẫn của diễn đàn thì bỏ dấu check ở "Missing ..." em cũng không biết khi bỏ dấu check này thì khi chạy các code khác có ảnh hưởng gì không?
 

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia ngày
5 Tháng sáu 2008
Bài viết
30,108
Thích
52,067
Điểm
11,910
#8
Cho em hỏi cách cài các control này, vì máy em cũng báo lỗi
"Can't find project or library"
Thông thường để cài các OCX ta làm như sau:
- Download file OCX ở đâu đó về máy tính, đặt nó trong thư mục System32
- Đặng ký file OCX bằng câu lệnh regsvr32 Tên file.ocx (bấm tổ hợp phím Windows + R rồi gõ lệnh vào)
Đối tượng có thể không tương thích với hệ điều hành hoặc office 64 bit (tùy trường hợp)
---------------------------------------
Theo hướng dẫn của diễn đàn thì bỏ dấu check ở "Missing ..." em cũng không biết khi bỏ dấu check này thì khi chạy các code khác có ảnh hưởng gì không?
Trong quá trình viết code, các lập trình viên có thể thử nghiệm đối tượng nào đó bằng cách check các mục trong Reference nhưng sau khi "đóng gói" chương trình họ quên bỏ check mấy đối tượng ấy. Vậy nên 90% trường hợp nếu bỏ check "MISSING..." mà thấy code vẫn chạy, chứng tỏ các đối tượng ấy thừa
 

be09

Chuyên gia GPE
Tham gia ngày
9 Tháng tư 2011
Bài viết
6,775
Thích
6,549
Điểm
560
Tuổi
61
#9
Cho em hỏi cách cài các control này, vì máy em cũng báo lỗi
"Can't find project or library", Theo hướng dẫn của diễn đàn thì bỏ dấu check ở "Missing ..." em cũng không biết khi bỏ dấu check này thì khi chạy các code khác có ảnh hưởng gì không?
Mới xem sơ thì thấy máy bạn không có Control này ProgressBar nên khi mở File ra nó báo lỗi nêu trên.
Do có đến 10 cái UserForm nên chưa rảnh để xem có cái Control nào khác mà máy bạn không có không, vì xóa nó thì phải xem code mất nhiều thời gian quá.
 

AnhThu-1976

Thành viên tích cực
Tham gia ngày
17 Tháng mười 2014
Bài viết
482
Thích
45
Điểm
185
#10
Download file OCX ở đâu đó về máy tính
Tìm hiểu OCX thì thấy nó là file có đuôi là .OCX vậy cho em hỏi tên file là gì? Nếu có Link thì cho em xin
Mới xem sơ thì thấy máy bạn không có Control này ProgressBar
Cho em hỏi vậy tải ProgressBar như thế nào, và làm sao add vào chương trình?
Em cảm ơn! (Mấy cái vụ cài đặt gì đó trên máy tính thì em mù tịt!)
 

be09

Chuyên gia GPE
Tham gia ngày
9 Tháng tư 2011
Bài viết
6,775
Thích
6,549
Điểm
560
Tuổi
61
#11
Tìm hiểu OCX thì thấy nó là file có đuôi là .OCX vậy cho em hỏi tên file là gì? Nếu có Link thì cho em xin

Cho em hỏi vậy tải ProgressBar như thế nào, và làm sao add vào chương trình?
Em cảm ơn! (Mấy cái vụ cài đặt gì đó trên máy tính thì em mù tịt!)
Đừng bận tâm đến cái ProgressBar làm gì chỉ sử dụng nó cho giống như cái tiến trình trong cài đặt phần mềm thôi chứ nó chẳng có tác dụng gì trong công việc, có thể sử dụng Label và điều khiển nó chạy cũng như ProgressBar giống như hình 1 bài 21 của Link sau:
https://www.giaiphapexcel.com/diendan/threads/help-in-thẻ-dự-thi-cho-học-sinh-từ-data-là-excel.135263/page-2#post-861605
 
Lần chỉnh sửa cuối:
Top