Application-defined or object-defined error là lỗi gì năm 2024

VBA run-time error 1004 is known as an Application-Defined or Object-Defined error which occurs while the code is running. Making coding errors (See our Error Handling Guide) is an unavoidable aspect learning VBA but knowing why an error occurs helps you to avoid making errors in future coding.

VBA Error 1004 – Object does not exist

If we are referring to an object in our code such as a Range Name that has not been defined, then this error can occur as the VBA code will be unable to find the name.

Sub CopyRange()  
  Dim CopyFrom As Range  
  Dim CopyTo As Range  
  Set CopyFrom = Sheets(1).Range("CopyFrom")  
  Set CopyTo = Sheets(1).Range("CopyTo")  
  CopyFrom.Copy  
CopyTo.PasteSpecial xlPasteValues  
End Sub

The example above will copy the values from the named range “CopyFrom” to the named range “CopyTo” – on condition of course that these are existing named ranges! If they do not exist, then the Error 1004 will display.

Application-defined or object-defined error là lỗi gì năm 2024

The simplest way to avoid this error in the example above is to create the range names in the Excel workbook, or refer to the range in the traditional row and column format eg: Range(“A1:A10”).

VBA Error 1004 – Name Already Taken

The error can also occur if you are trying to rename an object to an object that already exists – for example if we are trying to rename Sheet1 but the name you are giving the sheet is already the name of another sheet.

Sub NameWorksheet()  
  ActiveSheet.Name = "Sheet2"  
End Sub

If we already have a Sheet2, then the error will occur.

Application-defined or object-defined error là lỗi gì năm 2024

VBA Error 1004 – Incorrectly Referencing an Object

The error can also occur when you have incorrectly referenced an object in your code. For example:

Sub CopyRange()  
  Dim CopyFrom As Range  
  Dim CopyTo As Range  
  Set CopyFrom = Range("A1:A10")  
  Set CopyTo = Range("C1:C10")  
  Range(CopyFrom).Copy  
  Range(CopyTo).PasteSpecial xlPasteValues  
End Sub

This will once again give us the Error 10004

Application-defined or object-defined error là lỗi gì năm 2024

Correct the code, and the error will no longer be shown.

Sub CopyRange()  
  Dim CopyFrom As Range  
  Dim CopyTo As Range  
  Set CopyFrom = Range("A1:A10")  
  Set CopyTo = Range("C1:C10")  
  CopyFrom.Copy  
  CopyTo.PasteSpecial xlPasteValues  
End Sub

VBA Error 1004 – Object Not Found

This error can also occur when we are trying to open a workbook and the workbook is not found – the workbook in this instance being the object that is not found.

Mẹo nhỏ: Để tìm kiếm chính xác các chia sẻ của f4vnn.com, hãy search trên Google với cú pháp: "Từ khóa" + "f4vnn". (Ví dụ: tắt update windows f4vnn). Tìm kiếm ngay

NỘI DUNG (HIGHLIGHTS)

Cách sửa lỗi Runtime Error 1004 trong Microsoft Excel: Microsoft Excel là một trong những bảng tính phổ biến nhất được sử dụng trên toàn cầu cho cả mục đích kinh doanh và cá nhân. Đây là đích đến duy nhất để lưu trữ, sắp xếp và thao tác dữ liệu theo cách có tổ chức. MS Excel chủ yếu có hai phần mở rộng, tức là định dạng XLS và XLSX. Tuy nhiên, ngoài mức độ phổ biến đáng kinh ngạc, lỗi runtime là một mối phiền toái phổ biến đối với nhiều người dùng Windows – và một trong những lỗi phổ biến nhất là lỗi Runtime Error 1004.

Trong hướng dẫn này, chúng ta sẽ thảo luận về lỗi Runtime Error 1004 phổ biến này và một số cách khắc phục tốt nhất để giải quyết nó dễ dàng.

Application-defined or object-defined error là lỗi gì năm 2024

Cách sửa lỗi Runtime Error 1004 trong Microsoft Excel

Lỗi Runtime Error 1004 trong Excel là gì?

Runtime Error 1004 là mã lỗi liên quan đến Microsoft Visual Basic đã được biết là làm phiền người dùng Microsoft Excel. Lỗi này có thể có trên bất kỳ phiên bản MS Excel nào như Excel 2007, 2010, 2013, 2016, 2019. Không có phiên bản Microsoft Excel nào an toàn trước mối đe dọa của lỗi Runtime Error 1004.

Lỗi này chủ yếu gặp phải bởi người dùng khi họ đang làm việc trên tệp excel hoặc cố gắng tạo Macro trong tài liệu excel. Nó có thể gây rắc rối nghiêm trọng khi làm việc với Ứng dụng Visual Basic và hoàn toàn có thể làm sập một chương trình, hoặc thậm chí toàn bộ hệ thống; đôi khi nó có thể đóng băng hệ thống cấm người dùng làm bất cứ điều gì trên hệ thống của họ.

Các loại thông báo lỗi

Các thông báo lỗi liên quan nhiều nhất đến lỗi thời gian chạy này như sau:

  • VB: run-time error ‘1004’: Application-defined or object-defined error
  • Excel VBA Runtime error 1004 “Select method of Range class failed”
  • runtime error 1004 method range of object _global failed visual basic
  • Excel macro “Run-time error ‘1004?
  • Runtime error 1004 method open of object workbooks failed
  • Run-Time error ‘1004’: Method ‘Ranger’ of Object’ Worksheet’ Failed
  • “Method in Key up Object Program APPLICATION Failed.”

Nếu bạn gặp phải bất kỳ lỗi nào ở trên, thì bạn có thể sửa lỗi bằng hướng dẫn của chúng tôi.

Nguyên nhân là gì?

Lỗi Runtime Error 1004 là một mã chung liên quan đến MS Excel nhưng không cụ thể cho một nguyên nhân chính xác. Do đó, trong trường hợp này, lý do chính xác tại sao lỗi này có thể bật lên sẽ khác nhau tùy theo từng trường hợp và hoàn cảnh. Từ các vấn đề cấu hình đến các vấn đề phần mềm, bên dưới chúng tôi đã liệt kê một bản tóm tắt các lý do phổ biến cho lỗi này trong excel:

  • MS Excel Desktop Icon might be corrupted
  • VBA Excel File is clashing with other application
  • Due to application or object specified error
  • Due to missing dependent file
  • Due to Virus, Trojan or malware
  • Due to Invalid Registry Keys and so on.

Đây là một vài trong số những lý do phổ biến nhất đằng sau việc nhận lỗi Runtime Error 1004 trong MS Excel; bây giờ hãy để chúng ta cùng tìm hiểu các bản sửa lỗi khác nhau.

Cách sửa lỗi Runtime Error 1004 trong Microsoft Excel

Ở đây chúng tôi đã chi tiết cả giải pháp thủ công và tự động để khắc phục lỗi Runtime Error 1004. Bạn có thể làm theo bất kỳ một trong các phương pháp tiếp theo để giải quyết vấn đề.

  • Tạo một mẫu Excel mới
  • Chạy Quét Virus
  • Đối với VB: Runtime Error 1004, hãy thay đổi kích thước các mục chú thích

1] Tạo mẫu Excel mới

Trong một số trường hợp, việc khắc phục sự cố này có thể đơn giản như chèn một bảng tính mới từ một mẫu thay vì tạo một bản sao của một bảng tính hiện có. Dưới đây là những gì bạn cần làm:

  • Mở MS Excel
  • Nhấn CTRL + N, để tạo một bảng tính Microsoft Excel mới.
  • Sau khi hoàn thành, xóa tất cả các sheet tính trên sổ làm việc trừ một sheet.
  • Bây giờ, định dạng sổ làm việc, đã được để lại.
  • Cuối cùng, hãy truy cập File > Save As để lưu bảng tính mới với định dạng tệp Excel Mẫu (.xltx hoặc .xlt).
  • Khi bạn đã tạo thành công mẫu, bạn có thể chèn nó theo chương trình bằng cách sử dụng dòng mã sau:

Sheets.Add Type:=path\filename

Xin lưu ý – Đừng quên thay thế tên tệp mới bằng tên thực của tài liệu.

2] Chạy Quét vi-rút

Điều rất quan trọng là quét hệ thống máy tính của bạn để tìm phần mềm độc hại và vi-rút vì chúng có thể làm hỏng các tệp và tài liệu quan trọng và hiển thị lỗi thời gian chạy 1004 trong MS Excel. Đôi khi sử dụng một chương trình chống vi-rút tốt sẽ giúp rất nhiều.

3] Đối với VB: Runtime Error 1004, hãy thay đổi kích thước các mục chú thích

Nếu bạn gặp phải Lỗi Runtime Error 1004 khi chạy macro Microsoft Visual Basic for Application (VBA), thì bạn có thể sử dụng phương pháp này để khắc phục.

Nói chung, bạn gặp lỗi này khi bạn cố chạy macro VBA sử dụng phương thức LegendEntries để thay đổi các mục chú thích trong biểu đồ Microsoft Excel. Lúc đó, bạn có thể nhận được thông báo lỗi sau:

Lỗi Runtime Error 1004 lỗi ứng dụng hoặc lỗi do đối tượng xác định. Lỗi này xảy ra khi biểu đồ Excel chứa nhiều mục chú thích hơn khoảng trống có sẵn để hiển thị các mục chú thích trên biểu đồ Excel. Khi hành vi này xảy ra, Microsoft Excel có thể cắt bớt các mục chú thích.

Để khắc phục hành vi này, hãy tạo một macro làm giảm kích thước phông chữ của văn bản chú giải biểu đồ Excel trước khi macro VBA của bạn thay đổi chú thích biểu đồ và sau đó khôi phục kích thước phông chữ của chú giải biểu đồ sao cho giống với ví dụ macro sau .

Sub ResizeLegendEntries()
With Worksheets("Sheet1").ChartObjects(1).Activate
      ' Store the current font size
      fntSZ = ActiveChart.Legend.Font.Size
'Temporarily change the font size.
      ActiveChart.Legend.Font.Size = 2
'Place your LegendEntries macro code here to make
         'the changes that you want to the chart legend.
' Restore the font size.
      ActiveChart.Legend.Font.Size = fntSZ
   End With
End Sub

Hi vọng với hướng dẫn cách sửa lỗi Runtime Error 1004 trong Microsoft Excel có ích với các bạn. Chúc bạn thành công.