I am working on VBA code in excel and i have the following piece of code
Set strModel = Right(rng.Offset(0, 13).Value, Len(rng.Offset(0, 13).Value) - 4)
When I run the code I get a compile error to debug and it reads Object Required
. What is it asking me to do?
This is a larger piece of the code:
strHSLtemp = "C:UsersDesktopTo DoMidDay Orders Macro ToolTemp FilesHSL Orders Temp.xlsx"
wbHSLtemp = Dir(strHSLtemp)
Set wbHSLtemp = Workbooks.Open(strHSLtemp)
Set wsHSLtemp = wbHSLtemp.Sheets(1)
Dim arrModels() As String, strModel As String, blMultipleModels As Boolean, rngModel As range, lngModels As Long
Dim rng As range
Set strModel = Right(rng.Offset(0, 13).Value, Len(rng.Offset(0, 13).Value) - 4) 'strip off leading "HSL-"
strModel = Replace(strModel, " / ", "/") 'get rid of the spaces that appear to surround the forward slash
If InStr(1, strModel, "/") > 0 Then 'yep, there are multiples
blMultipleModels = True
Else
blMultipleModels = False
End If
If blMultipleModels = False Then 'just assign the model and move on in the outer loop
wsHSLtemp.Cells(lastrowOutput, 12) = strModel
Содержание
- Object required (Error 424)
- Support and feedback
- VBA Object Required
- Object Required in Excel VBA
- How to Handle VBA Object Required?
- Example #1
- Example #2
- Example #3
- Example #4
- Things to Remember
- Recommended Articles
- Object Required Error in Excel VBA – Troubleshooting
- Object Required Error Overview
- #1. Option Explicit / Misspelled Variable Names
- #2 Variable Assignments
- #3 Worksheet-Level Modules
- VBA Coding Made Easy
- VBA Code Examples Add-in
- Требуется объект VBA
- Объект требуется в Excel VBA
- Почему возникает ошибка «Требуется объект»? (и… как это исправить?)
- Пример №1
Object required (Error 424)
References to properties and methods often require an explicit object qualifier. This error has the following causes and solutions:
You referred to an object property or method, but didn’t provide a valid object qualifier. Specify an object qualifier if you didn’t provide one. For example, although you can omit an object qualifier when referencing a form property from within the form’s own module, you must explicitly specify the qualifier when referencing the property from a standard module.
You supplied an object qualifier, but it isn’t recognized as an object. Check the spelling of the object qualifier and make sure the object is visible in the part of the program in which you are referencing it. In the case of Collection objects, check any occurrences of the Add method to be sure the syntax and spelling of all the elements are correct.
You supplied a valid object qualifier, but some other portion of the call contained an error. An incorrect path as an argument to a host application’s File Open command could cause the error. Check arguments.
You didn’t use the Set statement in assigning an object reference. If you assign the return value of a CreateObject call to a Variant variable, an error doesn’t necessarily occur if the Set statement is omitted. In the following code example, an implicit instance of Microsoft Excel is created, and its default property (the string «Microsoft Excel») is returned and assigned to the Variant RetVal . A subsequent attempt to use RetVal as an object reference causes this error:
Use the Set statement when assigning an object reference.
In rare cases, this error occurs when you have a valid object but are attempting to perform an invalid action on the object. For example, you may receive this error if you try to assign a value to a read-only property. Check the object’s documentation and make sure the action you are trying to perform is valid.
For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh).
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.
Источник
VBA Object Required
By Madhuri Thakur
VBA Object functions
Object Required in Excel VBA
Object required is an error which is caused at run time when we have defined any variable which is not an object but we try to assign some values using a SET statement. This error is a run time error that arises for various reasons. Though this error has its own causes there are also solutions for this error. Every method requires an object qualifier and these objects are assigned by using the SET statement. For example, if we have defined any variable which is not an object but we try to assign some values using a SET statement this will cause the error at run time which is object required error. There are also some instances when we do everything right have correct object qualifiers and valid object but we try to assign values to a read-only property then also we will encounter this error.
How to Handle VBA Object Required?
Out of the numerous reasons we saw for the cause of Object Required Error, there are ways in which we can handle this error.
Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more.
- For the spell mistakes for the variables or the functions in the code, we can use Option Explicit statement to not encounter this error.
- We can check whether the object we are referring to it exists or not.
- Also, we need to ensure whether we have defined or declared our variables correctly or not.
Example #1
Let us begin with the first example where this type of error might occur and it is when we misspell a function’s name. For this, follow the below steps:
Step 1: Insert a new module inside Visual Basic Editor (VBE). Click on Insert tab > select Module.
Step 2: Now we can declare our subprocedure.
Code:
Step 3: Look at the code below what we have in the first example.
Code:
Step 4: The application function has an extra character 3 with it and we run the above code we will encounter the following error.
Example #2
Now let us discuss an example where we will use to set an object where an object is not defined instead. In other words, we will treat a non-object feature as an object. For this, follow the below steps:
Step 1: We will start with another subprocedure.
Code:
Step 2: Let us declare a variable for the path or a location to save as a string data type.
Code:
Step 3: Let us use the Set statement to set a path to this variable.
Code:
Step 4: For this example’s sake let us use Msgbox function to see what the final result will be.
Code:
Step 5: When we execute the above code we will get the following result.
We received this error because we used SET statement to a string variable and VBA treated this variable as an object with the SET statement.
Example #3
Sometimes we encounter this error when we don’t use SET statement when we assign an object reference. Let us go through this example and see how it may occur. For this, follow the below steps:
Step 1: In the same module let us start with the procedure for example 3.
Code:
Step 2: Declare any variable as a variant.
Code:
Step 3: Let us create an object using the Create Object statement.
Code:
Step 4: Now we have assigned the object reference but instead of using the SET statement.
Code:
Step 5: Once we execute the code above.
Example #4
Now there another chance when we encounter this error and that is when we try to assign values to a read-only property. Our object reference may be correct in this case but we will still encounter an error. Let us go through another example of how this might happen. For this, follow the below steps:
Step 1: In the same module let us begin.
Code:
Step 2: Below is the sample code for using a string variable with an undefined variable.
Code:
Step 3: When we execute the code above we will see the following error.
We received this error because we tried to assign values to read-only properties. Let me explain the code first we started a loop from where we are assigning object references but we are using the read-only properties.
Explanation of VBA Object Required:
From the above examples, it is very clear to us that Object Required is a run time error in VBA which we encounter while making some very small mistakes to some huge mistakes in VBA. Error handling this error can be tricky, as some mistakes are hard to identify. But there are some preventive methods such as using the option explicit statement or using the SET statement to assign objects only.
Things to Remember
There are few things which we need to remember about VBA Object Required and they are as follows:
- Object Required is a type of run time error in VBA.
- This error has an error code as 424.
- Spelling mistakes for variables and functions can also be a cause of Object Required Error.
- When some variable is not defined as an object but it is used as an object we may encounter Object Required error.
Recommended Articles
This is a guide to the VBA Object Required. Here we discuss how to handle Object Required in Excel VBA along with practical examples and downloadable excel template. You can also go through our other suggested articles –
Источник
Object Required Error in Excel VBA – Troubleshooting
In this Article
Object Required Error Overview
This tutorial will help you troubleshoot Object Required Errors in VBA.
In VBA, an Object is a “thing” like a worksheet, workbook, range, shape, row, column, userform, control, etc.
Objects have properties (exs: name, color, hidden) and methods (exs: open, clear, save, hide). If you attempt to apply a property or method, VBA needs a valid object on which to apply the properties or methods.
If you don’t provide a valid Object, you’ll receive the Object Required Error.
This guide will help you troubleshoot Object Required Errors.
#1. Option Explicit / Misspelled Variable Names
First, check if you’ve misspelled the object name. A misspelled name can cause the Object Required Error.
This can happen with existing object names:
Or with variable names:
One good way to prevent misspelled variables names is to make sure you declare Option Explicit at the top of your code module.
Option Explicit forces you to declare your variables. Now when you Debug your code, you’ll receive a message that you need to define your variable:
This should help clue you in that that variable is misspelled.
#2 Variable Assignments
Next, make sure that you assigned your variables properly.
Object Variables must be assigned by using Set Object = :
If you don’t use Set for object variable assignments you’ll receive the Object Required error.
Similarly, Non-Object Variables should be assigned without Set:
If you attempt to use Set on a non-object variable, you’ll receive the Object Required error.
#3 Worksheet-Level Modules
Is your code in a worksheet-level module? If so, you’ll need to be extra careful when referring to named ranges on other worksheets.
For example, you may have a workbook-level named range “Date”, in a regular code module, you can reference the named range like this:
However, if you reference the named range from within a worksheet-level module, you must explicitly define the worksheet where the named range is located:
Otherwise you’ll encounter an error:
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro — A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!
VBA Code Examples Add-in
Easily access all of the code examples found on our site.
Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.
Источник
Требуется объект VBA
Объект требуется в Excel VBA
Ошибки — неотъемлемая часть языка программирования, но настоящий гений заключается в том, чтобы найти ошибку и исправить ее. Первым шагом в исправлении этих ошибок является интеллектуальное определение причин возникновения этих ошибок. Если вы можете найти, почему возникают эти ошибки, то исправить эти ошибки будет очень легко, не прилагая особых усилий. Один такой ошибка в ВБА Ошибка в VBA Обработка ошибок VBA относится к устранению различных ошибок, возникающих при работе с VBA. читать далее кодирование «Требуется объект».
Если вы помните, при изучении переменных и присвоении им типов данных у нас также есть типы данных «Объект». Когда назначен тип данных объекта и если этот объект не существует на рабочем листе или в рабочей книге, на которую мы ссылаемся, мы получим сообщение об ошибке VBA как “Требуется объект». Таким образом, как новый кодер, обычно паникуют в таких ситуациях, потому что на начальном уровне новичок не может найти причину этой ошибки.
Вы можете использовать это изображение на своем веб-сайте, в шаблонах и т. д. Пожалуйста, предоставьте нам ссылку на авторство Как предоставить атрибуцию? Ссылка на статью должна быть гиперссылкой
Например:
Источник: Требуется объект VBA (wallstreetmojo.com)
Почему возникает ошибка «Требуется объект»? (и… как это исправить?)
Хорошо, нужно два-три примера, чтобы действительно понять, почему возникает эта ошибка и как ее исправить.
Например, посмотрите на приведенный ниже код.
Код:
Позвольте мне объяснить вам приведенный выше код для вас.
Я объявил три переменные, и первые две переменные относятся к объектам «Рабочая книга» и «Рабочий лист». Третья переменная относится к типу данных «Дата».
Когда переменной присваиваются типы данных «Объект», нам нужно использовать клавишу слова «Set», чтобы назначить ссылку на объект переменной, поэтому в следующих двух строках, используя ключевое слово «Set», я присвоил ссылку «ThisWorkbook» переменной «Wb», потому что эта переменная содержит тип данных объекта как «Workbook», а для переменной «Ws» я назначил объект рабочего листа «Данные» листа в этой книге.
- В следующей строке для переменной типа данных «Дата» я также использовал ключевое слово «Установить», чтобы присвоить значение значения ячейки A1 в этой книге (Wb) и на листе «Данные» (Ws).
- В следующей строке мы показываем значение переменной «MyDate» значения ячейки A1 в окне сообщения в VBA.
- Хорошо, давайте запустим этот код и посмотрим, что мы получим в результате.
Как вы можете видеть выше, он показывает сообщение об ошибке VBA как «Требуется объект». Хорошо, пришло время изучить, почему мы получаем это сообщение об ошибке.
- На приведенном выше изображении сообщения об ошибке в разделе кода при отображении сообщения об ошибке часть кода с ошибкой выделена синим цветом.
- Итак, остается вопрос, почему мы получили эту ошибку. Первое, что нам нужно увидеть, это конкретный тип данных переменной. Вернитесь к предыдущей строке кода, где мы присвоили тип данных переменной «MyDate».
- Мы присвоили переменной тип данных «Дата» и теперь вернемся к строке ошибки.
В этой строке мы использовали ключевое слово «Set», тогда как наш тип данных не является типом данных «Object». Таким образом, в тот момент, когда код VBA видит ключевое слово «Set», он предполагает, что это объектный тип данных, и говорит, что ему требуется ссылка на объект.
Итак, суть в том, что ключевое слово «Set» используется только для ссылки на переменные объекта, такие как Worksheet, Workbook и т. д.…
Пример №1
Теперь взгляните на приведенный ниже код.
Код:
В приведенном выше коде мы использовали функцию рабочего листа «СУММ» для получения суммы значений ячеек от A1 до A100. Когда вы запустите этот код, мы столкнемся с приведенной ниже ошибкой.
Ой!! В нем говорится: «Ошибка времени выполнения« 424 »: требуется объект.
Теперь давайте внимательно посмотрим на код.
Вместо использования «Приложение» мы по ошибке использовали «Приложение1», поэтому в коде VBA возникла ошибка «Требуется объект».
Если слово « Опция явная Опция явная Параметр VBA явно обязывает пользователя объявлять все переменные перед их использованием; любая неопределенная переменная вызовет ошибку при выполнении кода. Мы можем включить его для всех кодов из опций, чтобы требовать объявления переменных. читать далее », то мы получим ошибку «Переменная не определена».
Источник
Object Required in Excel VBA
Object required is an error which is caused at run time when we have defined any variable which is not an object but we try to assign some values using a SET statement. This error is a run time error that arises for various reasons. Though this error has its own causes there are also solutions for this error. Every method requires an object qualifier and these objects are assigned by using the SET statement. For example, if we have defined any variable which is not an object but we try to assign some values using a SET statement this will cause the error at run time which is object required error. There are also some instances when we do everything right have correct object qualifiers and valid object but we try to assign values to a read-only property then also we will encounter this error.
How to Handle VBA Object Required?
Out of the numerous reasons we saw for the cause of Object Required Error, there are ways in which we can handle this error.
- For the spell mistakes for the variables or the functions in the code, we can use Option Explicit statement to not encounter this error.
- We can check whether the object we are referring to it exists or not.
- Also, we need to ensure whether we have defined or declared our variables correctly or not.
You can download this VBA Object Required Excel Template here – VBA Object Required Excel Template
Example #1
Let us begin with the first example where this type of error might occur and it is when we misspell a function’s name. For this, follow the below steps:
Step 1: Insert a new module inside Visual Basic Editor (VBE). Click on Insert tab > select Module.
Step 2: Now we can declare our subprocedure.
Code:
Sub Example1() End Sub
Step 3: Look at the code below what we have in the first example.
Code:
Sub Example1() Application3.WorksheetFunction.Sum (Range("A1:A100")) End Sub
Step 4: The application function has an extra character 3 with it and we run the above code we will encounter the following error.
Example #2
Now let us discuss an example where we will use to set an object where an object is not defined instead. In other words, we will treat a non-object feature as an object. For this, follow the below steps:
Step 1: We will start with another subprocedure.
Code:
Sub Example2() End Sub
Step 2: Let us declare a variable for the path or a location to save as a string data type.
Code:
Sub Example2() Dim your_path As String End Sub
Step 3: Let us use the Set statement to set a path to this variable.
Code:
Sub Example2() Dim your_path As String Set your_path = "x/y/z" End Sub
Step 4: For this example’s sake let us use Msgbox function to see what the final result will be.
Code:
Sub Example2() Dim your_path As String Set your_path = "x/y/z" MsgBox your_path End Sub
Step 5: When we execute the above code we will get the following result.
We received this error because we used SET statement to a string variable and VBA treated this variable as an object with the SET statement.
Example #3
Sometimes we encounter this error when we don’t use SET statement when we assign an object reference. Let us go through this example and see how it may occur. For this, follow the below steps:
Step 1: In the same module let us start with the procedure for example 3.
Code:
Sub Example3() End Sub
Step 2: Declare any variable as a variant.
Code:
Sub Example3() Dim ABC End Sub
Step 3: Let us create an object using the Create Object statement.
Code:
Sub Example3() Dim ABC ABC = CreateObject("Excel.Application") End Sub
Step 4: Now we have assigned the object reference but instead of using the SET statement.
Code:
Sub Example3() Dim ABC ABC = CreateObject("Excel.Application") ABC.Visible = True End Sub
Step 5: Once we execute the code above.
Example #4
Now there another chance when we encounter this error and that is when we try to assign values to a read-only property. Our object reference may be correct in this case but we will still encounter an error. Let us go through another example of how this might happen. For this, follow the below steps:
Step 1: In the same module let us begin.
Code:
Sub Example4() End Sub
Step 2: Below is the sample code for using a string variable with an undefined variable.
Code:
Sub Example4() Dim a As String a = "Anand" For i = 1 To l With Age Set a = Age End With Next i End Sub
Step 3: When we execute the code above we will see the following error.
We received this error because we tried to assign values to read-only properties. Let me explain the code first we started a loop from where we are assigning object references but we are using the read-only properties.
Explanation of VBA Object Required:
From the above examples, it is very clear to us that Object Required is a run time error in VBA which we encounter while making some very small mistakes to some huge mistakes in VBA. Error handling this error can be tricky, as some mistakes are hard to identify. But there are some preventive methods such as using the option explicit statement or using the SET statement to assign objects only.
Things to Remember
There are few things which we need to remember about VBA Object Required and they are as follows:
- Object Required is a type of run time error in VBA.
- This error has an error code as 424.
- Spelling mistakes for variables and functions can also be a cause of Object Required Error.
- When some variable is not defined as an object but it is used as an object we may encounter Object Required error.
Recommended Articles
This is a guide to the VBA Object Required. Here we discuss how to handle Object Required in Excel VBA along with practical examples and downloadable excel template. You can also go through our other suggested articles –
- VBA CInt
- VBA AND
- VBA Filter
- VBA XLUP
ТРЕНИНГИ
Быстрый старт
Расширенный Excel
Мастер Формул
Прогнозирование
Визуализация
Макросы на VBA
КНИГИ
Готовые решения
Мастер Формул
Скульптор данных
ВИДЕОУРОКИ
Бизнес-анализ
Выпадающие списки
Даты и время
Диаграммы
Диапазоны
Дубликаты
Защита данных
Интернет, email
Книги, листы
Макросы
Сводные таблицы
Текст
Форматирование
Функции
Всякое
Коротко
Подробно
Версии
Вопрос-Ответ
Скачать
Купить
ПРОЕКТЫ
ОНЛАЙН-КУРСЫ
ФОРУМ
Excel
Работа
PLEX
© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
Техническая поддержка сайта
ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Object Required in Excel VBA
Mistakes are part and parcel of coding language. But the real genius lies in finding the error and fixing those errors. The first step in fixing those errors is the intelligence to find why those errors are occurring. If you can find why those errors are coming, then it is a very easy job to fix those errors without breaking a sweat. One such error in VBAVBA error handling refers to troubleshooting various kinds of errors encountered while working with VBA. read more coding is “Object Required.”
Table of contents
- Object Required in Excel VBA
- Why Object Required Error Occurs? (and… How to Fix it?)
- Example #1
- Things to Remember
- Recommended Articles
- Why Object Required Error Occurs? (and… How to Fix it?)
If you remember, while learning variables and assigning data types to those variables, we have “Object” data types as well. So, when the object data type is assigned, and if that object does not exist in the worksheet or workbook we refer to, we will get the VBA error message as “Object required.” So, as a new coder, it is common to panic in those situations because, at the starting level, a beginner cannot find the cause for this error.
You are free to use this image on your website, templates, etc., Please provide us with an attribution linkArticle Link to be Hyperlinked
For eg:
Source: VBA Object Required (wallstreetmojo.com)
Why does Object Required Error Occur? (and… How to Fix it?)
It takes two or three examples to understand why this error occurs and how to fix it.
You can download this VBA Object Required Excel Template here – VBA Object Required Excel Template
For example, look at the below code.
Code:
Sub Last_Row() Dim Wb As Workbook Dim Ws As Worksheet Dim MyToday As Date Set Wb = ThisWorkbook Set Ws = ThisWorkbook.Worksheets("Data") Set MyToday = Wb.Ws.Cells(1, 1) MsgBox MyToday End Sub
Let me explain to you the above code for you.
We have declared three variables, and the first two refer to the “Workbook” and “Worksheet” objects. The third variable refers to the “Date” data type.
When the “Object” data types assign the variable, we need to use the word “Set” key to assign the object’s reference to the variable. So, in the next two lines, by using the “Set” keyword, we have assigned the reference of “ThisWorkbook” to the variable “Wb” because this variable holds the object data type as “Workbook.” For the variable “Ws,” we have assigned the worksheet object of the “Data” worksheet in this workbook.
Set Wb = ThisWorkbook
Set Ws = ThisWorkbook.Worksheets("Data")
- In the next line for the “Date” data type variable also, we have used the “Set” keyword to assign the value of the cell A1 value in this workbook (Wb) and the worksheet “Data” (Ws).
Set MyToday = Wb.Ws.Cells(1, 1)
- In the next line, we show the value of the “MyDate” variable value of cell A1 in the message box in VBA.
MsgBox MyToday
- Let us run this code and see what we get.
As you can see above, it shows the VBA error message as “Object required.” Therefore, it is time to examine why we are getting this error message.
- In the above error message image in the code section, while showing the error message, it has highlighted the error part of the code with blue color.
- So, the question remains why we got this error. The first thing we need to see is this particular variable data type. Go back to the previous code line, assigning the data type to the variable “MyDate.”
- We have assigned the variable data type as “Date” and now return to the error line.
In this line, we have used the keyword “Set,” whereas our data type isn’t the “Object” data type. So the moment VBA code sees the keyword “Set,” it assumes it is an object data type and says it requires an object reference.
So, the bottom line is the “Set” keyword one may use to refer only to reference the object variables like Worksheet, Workbook, etc.
Example #1
Now take a look at the below code.
Code:
Sub Object_Required_Error() Range("A101").Value = Application1.WorksheetFunction.Sum(Range("A1:A100")) End Sub
In the above code, we have used the worksheet function “SUM” to get the total of the cell values from A1 to A100. When you run this code, we will encounter the below error.
It says, “Run-time error ‘424’: Object required.”
Now, let us closely look at the code now.
Instead of using “Application,” we mistakenly used “Application1”, so this encountered the error of “Object required” in the VBA code.
If the word “Option ExplicitVBA option explicitly makes a user mandatory to declare all the variables before using them; any undefined variable will throw an error while coding execution. We can enable it for all codes from options to require variable declaration.read more” is enabled, we will get the “Variable not defined” error.
Things to Remember
- The “Object required” means object data type reference needs to be accurate.
- When the Option Explicit word is unenabled in the coding, we will get an “Object Required” error for misspelled variable words. If Option Explicit is enabled, we will get the variable not defined error for misspelled variable words.
Recommended Articles
This article has been a guide to VBA Object Required. Here, we learn why the object required an error in Excel VBA and some examples and download the Excel template. Below are some useful Excel articles related to VBA: –
- VBA Login User Form
- CreateObject in VBA
- OverFlow Error in VBA
- 1004 Error in VBA
- VBA COUNTA
AlexFlash27 0 / 0 / 0 Регистрация: 19.12.2014 Сообщений: 17 |
||||||||
1 |
||||||||
05.06.2018, 18:56. Показов 4413. Ответов 4 Метки vba (Все метки)
При попытке запустить код, выдает ошибку: Object required.
Как исправить? Заранее спасибо.
__________________
0 |
Заблокирован |
||||
05.06.2018, 19:56 |
2 |
|||
Сообщение было отмечено snipe как решение Решение
0 |
AlexFlash27 0 / 0 / 0 Регистрация: 19.12.2014 Сообщений: 17 |
||||||||
05.06.2018, 20:04 [ТС] |
3 |
|||||||
Если делать:
То новая ошибка: Run-time error ’13’ Type mismatch
0 |
snipe 4037 / 1422 / 394 Регистрация: 07.08.2013 Сообщений: 3,539 |
||||
05.06.2018, 20:07 |
4 |
|||
Сообщение было отмечено AlexFlash27 как решение Решениеа вот тут
1 |
0 / 0 / 0 Регистрация: 19.12.2014 Сообщений: 17 |
|
05.06.2018, 20:26 [ТС] |
5 |
Спасибо, теперь работает!
0 |
Permalink
Cannot retrieve contributors at this time
title | keywords | f1_keywords | ms.prod | ms.assetid | ms.date | ms.localizationpriority |
---|---|---|---|---|---|---|
Object required (Error 424) |
vblr6.chm1000424 |
vblr6.chm1000424 |
office |
282292d7-d147-b71e-4d1e-149af7da8f7e |
06/08/2017 |
medium |
References to properties and methods often require an explicit object qualifier. This error has the following causes and solutions:
-
You referred to an object property or method, but didn’t provide a valid object qualifier. Specify an object qualifier if you didn’t provide one. For example, although you can omit an object qualifier when referencing a form property from within the form’s own module, you must explicitly specify the qualifier when referencing the property from a standard module.
-
You supplied an object qualifier, but it isn’t recognized as an object. Check the spelling of the object qualifier and make sure the object is visible in the part of the program in which you are referencing it. In the case of Collection objects, check any occurrences of the Add method to be sure the syntax and spelling of all the elements are correct.
-
You supplied a valid object qualifier, but some other portion of the call contained an error. An incorrect path as an argument to a host application’s File Open command could cause the error. Check arguments.
-
You didn’t use the Set statement in assigning an object reference. If you assign the return value of a CreateObject call to a Variant variable, an error doesn’t necessarily occur if the Set statement is omitted. In the following code example, an implicit instance of Microsoft Excel is created, and its default property (the string «Microsoft Excel») is returned and assigned to the Variant
RetVal
. A subsequent attempt to useRetVal
as an object reference causes this error:Dim RetVal ' Implicitly a Variant. ' Default property is assigned to Type 8 Variant RetVal. RetVal = CreateObject("Excel.Application") RetVal.Visible = True ' Error occurs here.
Use the Set statement when assigning an object reference.
-
In rare cases, this error occurs when you have a valid object but are attempting to perform an invalid action on the object. For example, you may receive this error if you try to assign a value to a read-only property. Check the object’s documentation and make sure the action you are trying to perform is valid.
For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh).
[!includeSupport and feedback]
- Remove From My Forums
-
Question
-
Cant seem to compile this simple code. I am trying to learn how to use VBA and have no programing experience. Please explain what is wrong with the code. Thank you.
I am trying to take a input (integer value) and trying to set a series of cells (range) in that column to the value. Also i am trying to take multiple ranges and values at the same time. My code is below. Please if someone can fix it or even write a nicer
way to do it, i would be grateful.Sub Ask()
Dim myrange As Ranges
Dim slope As Integer
Set myrange = Application.InputBox(Prompt:= _
«Please input a Range (Ex. B2:B52, B53:B125)», _
Title:=»InputBox Method», Type:=8)
Set slope = Application.InputBox(Prompt:= _
«Please enter a slope value (Ex. 2,1,-1)», _
Title:=»InputBox Method», Type:=1)
myrange.Range = slope
End SubThe compile errors: object required, is the errors i get when i try to compile. And also i am running 2007.
Объект требуется в Excel VBA
Ошибки — неотъемлемая часть языка программирования, но настоящий гений заключается в том, чтобы найти ошибку и исправить ее. Первым шагом в исправлении этих ошибок является интеллектуальное определение причин возникновения этих ошибок. Если вы можете найти, почему возникают эти ошибки, то исправить эти ошибки будет очень легко, не прилагая особых усилий. Один такой ошибка в ВБАОбработка ошибок VBA относится к устранению различных ошибок, возникающих при работе с VBA. читать далее кодирование «Требуется объект».
Если вы помните, при изучении переменных и присвоении им типов данных у нас также есть типы данных «Объект». Когда назначен тип данных объекта и если этот объект не существует на рабочем листе или в рабочей книге, на которую мы ссылаемся, мы получим сообщение об ошибке VBA как “Требуется объект». Таким образом, как новый кодер, обычно паникуют в таких ситуациях, потому что на начальном уровне новичок не может найти причину этой ошибки.
Вы можете использовать это изображение на своем веб-сайте, в шаблонах и т. д. Пожалуйста, предоставьте нам ссылку на авторствоСсылка на статью должна быть гиперссылкой
Например:
Источник: Требуется объект VBA (wallstreetmojo.com)
Почему возникает ошибка «Требуется объект»? (и… как это исправить?)
Хорошо, нужно два-три примера, чтобы действительно понять, почему возникает эта ошибка и как ее исправить.
Вы можете скачать этот шаблон Excel, необходимый для объекта VBA, здесь — Объект VBA Требуемый шаблон Excel
Например, посмотрите на приведенный ниже код.
Код:
Sub Last_Row() Dim Wb As Workbook Dim Ws As Worksheet Dim MyToday As Date Set Wb = ThisWorkbook Set Ws = ThisWorkbook.Worksheets("Data") Set MyToday = Wb.Ws.Cells(1, 1) MsgBox MyToday End Sub
Позвольте мне объяснить вам приведенный выше код для вас.
Я объявил три переменные, и первые две переменные относятся к объектам «Рабочая книга» и «Рабочий лист». Третья переменная относится к типу данных «Дата».
Когда переменной присваиваются типы данных «Объект», нам нужно использовать клавишу слова «Set», чтобы назначить ссылку на объект переменной, поэтому в следующих двух строках, используя ключевое слово «Set», я присвоил ссылку «ThisWorkbook» переменной «Wb», потому что эта переменная содержит тип данных объекта как «Workbook», а для переменной «Ws» я назначил объект рабочего листа «Данные» листа в этой книге.
Set Wb = ThisWorkbook
Set Ws = ThisWorkbook.Worksheets("Data")
- В следующей строке для переменной типа данных «Дата» я также использовал ключевое слово «Установить», чтобы присвоить значение значения ячейки A1 в этой книге (Wb) и на листе «Данные» (Ws).
Set MyToday = Wb.Ws.Cells(1, 1)
- В следующей строке мы показываем значение переменной «MyDate» значения ячейки A1 в окне сообщения в VBA.
MsgBox MyToday
- Хорошо, давайте запустим этот код и посмотрим, что мы получим в результате.
Как вы можете видеть выше, он показывает сообщение об ошибке VBA как «Требуется объект». Хорошо, пришло время изучить, почему мы получаем это сообщение об ошибке.
- На приведенном выше изображении сообщения об ошибке в разделе кода при отображении сообщения об ошибке часть кода с ошибкой выделена синим цветом.
- Итак, остается вопрос, почему мы получили эту ошибку. Первое, что нам нужно увидеть, это конкретный тип данных переменной. Вернитесь к предыдущей строке кода, где мы присвоили тип данных переменной «MyDate».
- Мы присвоили переменной тип данных «Дата» и теперь вернемся к строке ошибки.
В этой строке мы использовали ключевое слово «Set», тогда как наш тип данных не является типом данных «Object». Таким образом, в тот момент, когда код VBA видит ключевое слово «Set», он предполагает, что это объектный тип данных, и говорит, что ему требуется ссылка на объект.
Итак, суть в том, что ключевое слово «Set» используется только для ссылки на переменные объекта, такие как Worksheet, Workbook и т. д.…
Пример №1
Теперь взгляните на приведенный ниже код.
Код:
Sub Object_Required_Error() Range("A101").Value = Application1.WorksheetFunction.Sum(Range("A1:A100")) End Sub
В приведенном выше коде мы использовали функцию рабочего листа «СУММ» для получения суммы значений ячеек от A1 до A100. Когда вы запустите этот код, мы столкнемся с приведенной ниже ошибкой.
Ой!! В нем говорится: «Ошибка времени выполнения« 424 »: требуется объект.
Теперь давайте внимательно посмотрим на код.
Вместо использования «Приложение» мы по ошибке использовали «Приложение1», поэтому в коде VBA возникла ошибка «Требуется объект».
Если слово «Опция явнаяПараметр VBA явно обязывает пользователя объявлять все переменные перед их использованием; любая неопределенная переменная вызовет ошибку при выполнении кода. Мы можем включить его для всех кодов из опций, чтобы требовать объявления переменных.читать далее», то мы получим ошибку «Переменная не определена».
То, что нужно запомнить
- Object Required означает, что ссылка на тип данных объекта должна быть точной.
- Когда в кодировке не включена опция «явное слово», мы получим ошибку «Требуется объект» для переменных слов с ошибками, а если включена опция «Явное слово», мы получим ошибку «неопределенная переменная» для переменных слов с ошибками.
УЗНАТЬ БОЛЬШЕ >>
Post Views: 785