VBA bị lỗi Name khi cài lại win (1 người xem)

Liên hệ QC

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

Excel365

Thành viên tích cực
Tham gia
29/10/10
Bài viết
865
Được thích
127
Giới tính
Nam
Em có 1 file trong đó có các hàm VBA, trước đây vẫn sử dụng bình thường không bị lỗi. Nhưng hôm trước em có cài lại Win, cũng là file đó nhưng em mở lên thì tất cả các hàm VBA đều bị lỗi Name. Nhờ các anh giúp em khắc phục.

===============
HLMT: Lần sau post bài cho đúng box nha bạn.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Em có 1 file trong đó có các hàm VBA, trước đây vẫn sử dụng bình thường không bị lỗi. Nhưng hôm trước em có cài lại Win, cũng là file đó nhưng em mở lên thì tất cả các hàm VBA đều bị lỗi Name. Nhờ các anh giúp em khắc phục.

===============
HLMT: Lần sau post bài cho đúng box nha bạn.
Bạn làm theo cách này thử coi được ko nhe.
Nếu thấy báo lỗi: #NAME thì thực hiện theo cách sau:
Đối với Execl 2007:
Vào office botton chọn vào Execl options (hay phím tắc I ), chọn trust center, ở khung giữa chọn vào chữ trust center settings… và chọn vào chấm có dòng chữ Enable all macros (not….) sau đó ok tất cả. Lưu văn bản đó lại tắt và mỡ văn bản đó lại. (save => close => open)
Đối với Execl 2003:
Chọn vào tools => macro => security => chọm vào chấm Clow. sau đó ok tất cả. Lưu văn bản đó lại tắt và mỡ văn bản đó lại. (save => close => open)
Trân trọng.
 
Em làm như hướng dẫn rồi, mà vẫn báo lỗi Name,
 
Bạn xem các hàm đó có phải cài trong Add-Ins hay không?
 
Nếu như vậy thì em phải làm như thế nào, tại mỗi hàm VBA thì em tách ra thành 1 modules. (mỗi modules em có xuất ra 1 file .bas để dự phòng). Nhưng bây giờ Improt vô nó vẫn bị lỗi name. Các anh giúp em làm sao để file của em khi share thì các vba không bị lỗi. Hiện tại thì em bỏ share vẫn bị lỗi. Mong các anh giúp đỡ. Nếu chuyển sang addin thì làm như thế nào
 
Nếu như vậy thì em phải làm như thế nào, tại mỗi hàm VBA thì em tách ra thành 1 modules. (mỗi modules em có xuất ra 1 file .bas để dự phòng). Nhưng bây giờ Improt vô nó vẫn bị lỗi name. Các anh giúp em làm sao để file của em khi share thì các vba không bị lỗi. Hiện tại thì em bỏ share vẫn bị lỗi. Mong các anh giúp đỡ. Nếu chuyển sang addin thì làm như thế nào

Bạn thử chup cái lỗi xem sao? Ngoài ra có trường hợp bộ cài Office không cài đầy đủ phần VBA.
 
Nếu như vậy thì em phải làm như thế nào, tại mỗi hàm VBA thì em tách ra thành 1 modules. (mỗi modules em có xuất ra 1 file .bas để dự phòng). Nhưng bây giờ Improt vô nó vẫn bị lỗi name. Các anh giúp em làm sao để file của em khi share thì các vba không bị lỗi. Hiện tại thì em bỏ share vẫn bị lỗi. Mong các anh giúp đỡ. Nếu chuyển sang addin thì làm như thế nào
Trên màng hình bạn xem dưới thanh tab hàm có thêm 1 cái thanh nào nữa ko, nếu có thì có chữ optison bạn chọn vào đó rồi điều chỉnh lại chế độ cho phép chạy macro. vì theo bạn nói thì bạn vẫn vào được VBA để chèn modules. theo tôi nghĩ lỗi do Office không cho chạy macro.
 
Mình ko thấy gì hết bạn ơi. File cua minh trước đây có đặt mật khẩu, Mình gở mật khẩu bỏ, thì VBA chạy, nhưng đặt mk vao thì lại lỗi name
 
Bạn đã thử mở file này trên máy khác chưa? Kết quả thế nào? Nếu vẫn không được thì vui lòng gửi cái file ấy lên đây. Nếu bạn ngại vấn đề thông tin bí mật gì đó trên file thì không cần thiết phải lưu nhiều dữ liệu, chủ yếu là các ô có liên quan đến công thức bị lỗi của bạn là được rồi.
 
Ok để em gởi lên cho anh xem dùm em
 
Anh ơi giúp e với, hiện tại thi file của em vẫn bị tinh trạng như vây, không thể đặt MK được. nếu đặt thì toàn là lỗi name
 

File đính kèm

Anh ơi giúp e với, hiện tại thi file của em vẫn bị tinh trạng như vây, không thể đặt MK được. nếu đặt thì toàn là lỗi name

Tôi chẳng thấy lỗi gì cả! Có chăng là chưa Enable Macro nên mới lỗi thôi
Còn cái vụ MK, không biết bạn đang nói đến MK nào? Bảo vệ sheet hay file? Tôi thử đặt MK cho sheet và file Open luôn cũng chẳng thấy lỗi gì cả
 
Enable Macro rồi, nhưng khi anh nhấp double vào ô công thức VBA thì nó báo lỗi [TABLE="width: 51"]
[TR]
[TD="align: center"]#NAME?[/TD]
[/TR]
[/TABLE]
 
Em thử đặt mk thì là 123 nhưng mở ra nhấp double thi nó báo lỗi nữa rồi anh?. Macro thi em đã chỉnh enable rồi.
 

File đính kèm

Như vậy thì chác là office của em bị lỗi, hay là chưa tùy chỉnh đúng. mong anh hướng dẫn giúp e
 
Tôi chẳng thấy lỗi gì cả! Có chăng là chưa Enable Macro nên mới lỗi thôi
Còn cái vụ MK, không biết bạn đang nói đến MK nào? Bảo vệ sheet hay file? Tôi thử đặt MK cho sheet và file Open luôn cũng chẳng thấy lỗi gì cả
Em vừa thử nghiệm mở file với mật khẩu (File Open) và không có mật khẩu trên Excel 2007. Kết quả là file không có mật khẩu thì bình thường, còn file có mật khẩu bị báo lỗi #NAME.
Tiếp theo, em lại thử nghiệm như trên nhưng với Excel 2010. Kết quả là cả 2 file đều bình thường, không có file nào báo lỗi #NAME.
Như vậy, có thể đây là do lỗi của Excel 2007 mà Excel 2010 đã khắc phục được.
Kết luận: Đổi sang Excel 2010 mà xài cho chắc.
(phải mất khoảng 10 phút download Office 2010 Portable để kiểm nghiệm vụ này. Dù sao cũng đáng bỏ ra thời gian để rút ra một kinh nghiệm)
 
(phải mất khoảng 10 phút download Office 2010 Portable để kiểm nghiệm vụ này. Dù sao cũng đáng bỏ ra thời gian để rút ra một kinh nghiệm)

Thấy đáng thì liệng cha nó thằng 2007 và cài 2010 luôn đi
Nói chung: Cái gì lưng lững, dở dở ương ương là khó xài lắm (kể cả NGƯỜI)
Ẹc... Ẹc...
 
File của bạn code không chuẩn nên lỗi. Trong hàm "ThueTNCN" có hai biến bạn sử dụng là c_5tr, c_10tr nhưng cả hai biến này không được khai báo và gán giá trị trước đó (có thể là hằng số nhưng tác giả quên). Bạn chỉ cần khai báo nó đúng với mục đích sử dụng và đảm bảo file mở với Enable Macro thì file này chạy sẽ ok!

Bạn viết code VBA lưu ý là trên đầu các module & class nên khai báo Option Explicit để trình biên dịch VBA phát hiện những biến ta chưa khai báo nhưng lại sử dụng.
 
Lần chỉnh sửa cuối:
File của bạn code không chuẩn nên lỗi. Trong hàm "ThueTNCN" có hai biến bạn sử dụng là c_5tr, c_10tr nhưng cả hai biến này không được khai báo và gán giá trị trước đó (có thể là hằng số nhưng tác giả quên). Bạn chỉ cần khai báo nó đúng với mục đích sử dụng và đảm bảo file mở với Enable Macro thì file này chạy sẽ ok!

Bạn viết code VBA lưu ý là trên đầu các module & class nên khai báo Option Explicit để trình biên dịch VBA phát hiện những biến ta chưa khai báo nhưng lại sử dụng.
Có vẻ không ổn lắm!
Ví nếu là "KHÔNG CHUẨN" thì dù có pass hay không pass code nó cũng phải "hành xử" giống nhau chứ
Tại sao không pass code chạy bình thường mà khi có pass lại tèo?
Tại sao việc này chỉ xảy ra với Excel 2007 còn Excel 2010 thì không?
 
Web KT

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

Back
Top Bottom