Làm thế nào để khắc phục "Lỗi thời gian chạy 424 ‘Yêu cầu đối tượng’" – VBA (Excel)

Nếu đang sử dụng Excel, bạn có thể gặp phải lỗi “Lỗi thời gian chạy 424” với thông báo “Yêu cầu đối tượng”.

Đây là lỗi với VBA (Visible Primary for Functions) và về cơ bản hiển thị khi bạn đang tham chiếu đến một đối tượng không tồn tại hoặc nằm ngoài phạm vi hiện tại.

Nếu bạn thấy lỗi do ai đó đang “phát triển” bất kỳ chức năng macro / tự động nào trong bảng tính excel, thì vấn đề có thể xảy ra là bạn đang gọi một đối tượng “ngoài ngữ cảnh”. Điều này có nghĩa là bạn có thể đã tải một đối tượng, nhưng nội dung của nó có thể đã bị thay đổi hoặc thay thế. Ngoài ra còn có một số vấn đề tiềm ẩn khác, các bản sửa lỗi mà tôi sẽ giải thích trong hướng dẫn này …

Nguyên nhân

Lỗi bạn sẽ thấy sẽ có thông báo sau:

Lỗi thời gian chạy ‘424’

Đối tượng được yêu cầu

Để giải thích tại sao lỗi lại xuất hiện và ý nghĩa của nó – Microsoft đã phát hành gói “Visible Primary” nổi tiếng vào cuối những năm 90.

Điều này cung cấp các khả năng cơ bản với hệ thống, cho phép các nhà phát triển sở thích tạo ra các ứng dụng đơn giản. VB là một thành công lớn.

Do đó, Microsoft đã giới thiệu “VBA” (Visible Primary for Functions) trong bộ phần mềm Workplace của họ, cụ thể là Excel và Phrase. Điều này cho phép kiểu nhà phát triển tạo chức năng tự động trong bảng tính Excel, tham chiếu “đối tượng” trong chính trang tính, v.v.

Mỗi khi bạn sử dụng Visible Primary, những gì bạn đang làm là gọi một loạt “đối tượng” vào bộ nhớ. Các đối tượng này chỉ đơn giản là các biến với một loạt các chức năng bổ sung được áp dụng, bao gồm các chức năng tùy chỉnh, v.v. Vấn đề – và điều này kéo dài qua hầu hết các ngôn ngữ lập trình – là nếu bạn đang tham chiếu đến một đối tượng chưa được gọi, ứng dụng sẽ không thành công.

Giải pháp

Nếu bạn muốn khắc phục sự cố, trước tiên bạn cần đảm bảo dữ liệu có trong hệ thống và sau đó bạn có thể tham chiếu nó một cách chính xác. Hướng dẫn này sẽ giải thích cách:

1. Đảm bảo bạn đã xác định các biến một cách chính xác

Vấn đề chính là bạn đã gọi một phương thức trên một biến (đối tượng) không tồn tại. Lý do phổ biến nhất cho điều này là bạn đã viết sai chính tả tên của biến và do đó đã không khai báo nó trong ứng dụng VBA của bạn. Lấy ví dụ sau:

Kiểm tra phụ ()

Application33.WorksheetFunction.Sum (Phạm vi (“A1: A100”))

Kết thúc Sub

Ở trên sẽ phát sinh lỗi vì bạn đang cố gọi phương thức WorksheetFunction trên một đối tượng được tham chiếu tại “Application33”.

Thật không could, đối tượng Application33 không tồn tại trong bộ nhớ, khiến ứng dụng của bạn không thể tải nó. Để khắc phục điều này, bạn cần phải xem qua mã nguồn của mình (tham chiếu sai hầu như sẽ luôn được tham chiếu) và sửa bất kỳ tên đối tượng sai chính tả nào.

2. Nếu Sử dụng Excel, Đảm bảo Phạm vi / Bộ chọn Tồn tại

Một trong những lý do phổ biến nhất gây ra lỗi là bạn đang cố gắng tham chiếu đến một đối tượng hoặc giá trị không tồn tại. Đây là một vấn đề điển hình với việc thích sử dụng VLookup hoặc một trong các đối tượng ActiveX. Nếu gặp lỗi này, bạn cần đảm bảo mã chỉ tham chiếu đến các đối tượng tồn tại:

Kiểm tra phụ riêng tư ()

Điều này sẽ gây ra lỗi

Software.WorksheetFunction.VLookup (TeamName, Vary (“TeamNameLookup”), 3, Sai) .Worth

Giá trị phải là

Software.WorksheetFunction.VLookup (TeamName, Sheets (“YourSheetName”). Phạm vi (“TeamNameLookup”), 3, Sai)

Kết thúc Sub

Điều trên có nghĩa là bạn đang cố gắng gọi các trang tính khác nhau và các hàm “Phạm vi” / “Giá trị” tương ứng của chúng mà không tìm thấy hoặc khai báo trang tính. Để khắc phục điều này, bạn cần đảm bảo rằng bạn đang gọi “Phạm vi” hoặc “Giá trị” trên các đối tượng có phạm vi tương ứng.

3. Đảm bảo bạn có các định nghĩa chính xác

Cuối cùng, một trong những lý do phổ biến hơn gây ra lỗi là bạn không xác định chính xác các biến của mình.

Từ việc xác định không chính xác các biến làm định nghĩa đối tượng sai, đến việc gọi “Possibility Specific”, có thể là trường hợp bạn đang cố gắng tham chiếu đến các biến / đối tượng không được xác định đơn giản vì chúng chưa được định nghĩa đúng.

Ví dụ…

Tùy chọn rõ ràng

Kiểm tra phụ riêng tư ()

Ở đây, bạn cần phải khai báo các biến một cách rõ ràng trước khi cố gắng tham chiếu / điền chúng vào

Ví dụ…

Làm mờ đường dẫn của bạn dưới dạng chuỗi

Đặt your_path = “x / y / z”

Kết thúc Sub

Trong ví dụ trên, nếu biến “your_path” không được khai báo trước khi cố gắng thiết lập, bạn sẽ gặp phải lỗi 424 (vì đối tượng “your_path” không tồn tại). Từ đây, bạn cũng cần đảm bảo rằng bạn có thể gọi các đối tượng có liên quan (nếu bạn đang tham chiếu đến giá trị trang tính, bạn cần đảm bảo trang tính tồn tại và có thể được tải).

Rõ ràng, có một số trường hợp khác của lỗi này. Vì bản chất cụ thể của mã của mọi người là khác nhau, tôi không thể xem xét từng tiềm năng duy nhất. Hy vọng rằng bạn có thể thấy rằng lỗi là do tham chiếu biến không hợp lệ trên hệ thống của bạn.

Related Posts

Review đánh giá về sự hấp dẫn của trò chơi bắn cá tiên tại Go88

Trò chơi bắn cá đã trở thành một trong những trò chơi được yêu thích nhất trong thời gian gần đây. Với tính chất phiêu lưu, kết…

Sicbo 789club – Trò chơi cá cược hấp dẫn nhất hiện nay

Sicbo 789club là một trong những trò chơi cá cược được yêu thích nhất hiện nay tại Việt Nam. Với đồ họa đẹp mắt, âm thanh sống động…

Top 5 game nổ hũ làm mưa làm gió trên Hitclub

Trên nền tảng Hitclub, top 5 game nổ hũ đã tạo nên cơn sốt và làm mưa làm gió trong cộng đồng người chơi. Những trò chơi…

ống Kính Ef Và Rf

Ống kính EF và RF: Định nghĩa và sự khác biệt

Tìm hiểu sự khác nhau giữa ống kính EF và RF của Canon. Bài viết đầy đủ và chi tiết về ống kính ef và rf cho máy ảnh của bạn.

Driver Intel Ac 9560

Giới thiệu về driver Intel AC 9560 – Tìm hiểu về một phần quan trọng của máy tính

Nếu bạn là người dùng máy tính, chắc hẳn bạn đã nghe nói về driver Intel AC 9560. Đây là một thành phần quan trọng của máy…

Sm Bus Controller Driver Windows 7

Hướng dẫn cài đặt SM Bus Controller driver cho Windows 7

Huong dan cai dat sm bus controller driver cho Windows 7 de giai quyet van de lien quan den bo dieu khien va tang toc do hoat dong he thong. Tai driver ngay!