2012-07-18 9 views
6

Khách hàng của tôi đang gặp phải Lỗi Biên dịch; Không thể tìm thấy dự án hoặc Thư viện trên phiên bản Excel 2010 của mình, tuy nhiên tôi không nhận được điều này trên phiên bản của tôi năm 2010. Làm cách nào tôi có thể điều chỉnh mã này để mã sẽ không xuất hiện. Khi lỗi xuất hiện trong đoạn mã sau dòng chữ "tế bào" trong "Đối với mỗi cell trong vùng chọn" được tô đậm:Tôi nhận được 'Lỗi biên dịch: Không thể tìm thấy dự án hoặc thư viện' trong một số phiên bản Excel 2010 duy nhất. Khó kiểm tra điều này

Private Sub Worksheet_Change(ByVal Target As Range) 
If Target.Address = "$B$9" Then 
Columns("D:CB").Select 
Selection.EntireColumn.Hidden = False 
Application.ScreenUpdating = False 

Sheet17.Range("E48:CB48").Select 

For Each cell In Selection 
    If cell = 0 Then 
     Range(cell.Address).EntireColumn.Hidden = True 
    End If 
Next 

Application.ScreenUpdating = True 
Sheet17.Range("b9").Select 
End If 

End Sub` 

Khách hàng của tôi cũng báo cáo một lỗi trong đoạn mã sau với từ "đáp ứng" được nhấn mạnh . Điều này, là tốt, không phải là một vấn đề đối với tôi, trên phiên bản của tôi của Excel 2010. Bất kỳ và tất cả sự giúp đỡ được đánh giá cao.

If Sheet1.Range("E18") = 3 Then 
Response = MsgBox("Reminder Emails have been set to be sent automatically at " &    Sheet1.Range("f18").Value & ", " & Sheet1.Range("Q4").Value & " day(s) before" & vbCrLf & "the scheduled appointment. Do you want to send reminder e-mails now anyway?", vbYesNo) 
    If Response = vbNo Then 
    Exit Sub 
    End If 
    End If 
+0

Bạn đang sử dụng 'Phản hồi' để giữ một biến dài, do đó, điều này không nên gây ra lỗi (trừ khi' Response' là một phần của mô hình đối tượng của tham chiếu thư viện - đoán). Tôi sẽ sử dụng 'lngResponse' cho tên và kích thước của nó. – brettdj

+2

Điều này có thể giống với: http://stackoverflow.com/questions/507191/cant-find-project-or-library-for-standard-vba-functions – Smandoli

+0

OK tôi sẽ thử. Kể từ trên máy tính của tôi, tất cả các tùy chọn này hoạt động tốt, tôi phải chờ phản hồi của khách hàng, điều này hơi bực bội. Cảm ơn bạn rất nhiều lần nữa – ExcelForFreelancers

Trả lời

9

Trong cửa sổ VBA, đi đến Tools --> References và đảm bảo các thư viện tương tự được bật cho tất cả các máy tính. Ngoài ra, hãy đảm bảo rằng tất cả các thư viện hoạt động đều có cùng thứ tự từ trên xuống dưới.

Nhiều thư viện "đạt tiêu chuẩn" nhưng một thư viện có thể cần được bật. Hoặc, tham chiếu thư viện có thể cần được chuyển sang chế độ tắt do nhiễu chức năng. Một thư viện có thể hoàn toàn mất tích, nhưng tôi nghi ngờ đây là trường hợp vì nó là một bộ phần mềm khá chuẩn và bạn không nhận thức được việc bị nhét với nó.

Đây là vấn đề điển hình và thường không được coi là một gánh nặng quá lớn đối với khách hàng phân phối của bạn. Nếu có, bạn có thể làm lại mã của mình để sử dụng ít tham chiếu hơn; hoặc bạn có thể load the needed libraries programmatically (nhưng tôi chưa bao giờ thử điều đó).

Tôi khuyên bạn nên bao gồm Option Explicit ở đầu tất cả các mô-đun. Vấn đề này có vẻ hơi thất bại trong việc khai báo các biến của bạn; và tôi nghĩ rằng yêu cầu có thể khác nhau tùy theo cài đặt. Option Explicit sẽ buộc tất cả các biến được khai báo, mang lại lợi ích nói chung và có thể khiến tất cả các cài đặt ứng dụng khách hoạt động giống nhau.

+0

Ok, tôi đã nhận thức được điều này, nhưng tôi đã thực sự hy vọng có cái gì đó sai với mã của tôi, vì vậy tôi sẽ không phải yêu cầu khách hàng của tôi để làm điều này. Dựa trên câu trả lời của bạn, tôi sẽ tiếp tục và yêu cầu anh ta kiểm tra thư viện VBA của mình như bạn đã gợi ý. (Tôi hy vọng đây là một sự xuất hiện hiếm hoi, vì ứng dụng này sẽ được phân phối rộng rãi) Cảm ơn bạn đã nhanh chóng respoinse – ExcelForFreelancers

+0

@raphuket Các thư viện phải được ** tự động ** - tức là vấn đề là chúng bị thiếu từ máy hơn là không chuyển sang số – brettdj

+0

@brettdj Hmmmm, Ok. Rõ ràng tôi mới làm quen với VBA, và tôi vừa gửi cho khách hàng một email, với hướng dẫn, để kiểm tra điều này. Nếu thư viện của anh ấy bị 'mất tích' thì tôi đoán chỉ cần cài đặt lại excel là cần thiết? Hoặc là 'thư viện thiếu' này một cái gì đó ông có thể cài đặt, hoặc tôi có thể gửi cho anh ta? Xin lỗi cho tất cả các câu hỏi, nhưng nếu đây là một vấn đề phổ biến với các khách hàng khác, tôi sẽ phải tìm một công việc xung quanh. – ExcelForFreelancers