Run time error 91 object variable or with block variable not set как исправить

Cells.Find(What:=Data)...– поиск ячейки со значением, записанным в переменной Data. Если ячейка найдена, возращается номер ее столбца (.Column) или строки (.Row).

Ошибка говорит о том, что данные на листе не найдены. А если быть точнее: не определен объект – ячейка. Можно добавить проверку:

Private Sub Workbook_Open()
    Dim sPathTxt As String, sData As String
    Dim c As Long, r As Long
    Dim f
    Const lClmn As Long = 4

    sPathTxt = "здесь_полный_путь_к файлу (с_именем_и_расширением)"

    Open sPathTxt For Input As #1
    Line Input #1, sData
    Close #1

    With Worksheets("Лист1")
        On Error GoTo err_
        c = .Cells.Find(What:=sData).Column
        r = .Cells.Find(What:=sData).row
        f = .Cells(r, c + 1).Value
        .Cells(1, lClmn).Value = f
        .Cells(1, lClmn - 1).Value = sData
    End With

    Open sPathTxt For Output As #1
    Print #1, sData; " "; f
    Close #1
err_:
    If Err Then MsgBox sData & Chr$(10) & "Данные не найдены" 64, ""
End Sub

При записи другой номер файла (Input As #2) указывать не обязательно, ведь запись производится в тот же текстовый файл.

Icon Ex Номер ошибки: Ошибка во время выполнения 91
Название ошибки: Object variable or With block variable not set
Описание ошибки: There are two steps to creating an object variable. First you must declare the object variable. Then you must assign a valid reference to the object variable using the Set statement. Similarly, a With…End With block must be initialized by executing the
Разработчик: Microsoft Corporation
Программное обеспечение: Windows Operating System
Относится к: Windows XP, Vista, 7, 8, 10, 11

Основы «Object variable or With block variable not set»

Это наиболее распространенное условие «Object variable or With block variable not set», известное как ошибка времени выполнения (ошибка). Разработчики, такие как Microsoft Corporation, обычно проходят через несколько контрольных точек перед запуском программного обеспечения, такого как Windows Operating System. К сожалению, инженеры являются людьми и часто могут делать ошибки во время тестирования, отсутствует ошибка 91.

В выпуске последней версии Windows Operating System может возникнуть ошибка, которая гласит: «There are two steps to creating an object variable. First you must declare the object variable. Then you must assign a valid reference to the object variable using the Set statement. Similarly, a With…End With block must be initialized by executing the ». Если происходит «Object variable or With block variable not set», разработчикам будет сообщено об этой проблеме, хотя отчеты об ошибках встроены в приложение. Затем Microsoft Corporation исправляет эти дефектные записи кода и сделает обновление доступным для загрузки. Таким образом при выполнении обновления программного обеспечения Windows Operating System, он будет содержать исправление для устранения проблем, таких как ошибка 91.

Почему происходит ошибка времени выполнения 91?

Сбой во время запуска Windows Operating System или во время выполнения, как правило, когда вы столкнетесь с «Object variable or With block variable not set». Вот три наиболее заметные причины ошибки ошибки 91 во время выполнения происходят:

Ошибка 91 Crash – она называется «Ошибка 91», когда программа неожиданно завершает работу во время работы (во время выполнения). Это возникает, когда Windows Operating System не реагирует на ввод должным образом или не знает, какой вывод требуется взамен.

Утечка памяти «Object variable or With block variable not set» – Когда Windows Operating System обнаруживает утечку памяти, операционная система постепенно работает медленно, поскольку она истощает системные ресурсы. Потенциальные триггеры могут быть «бесконечным циклом», или когда программа выполняет «цикл» или повторение снова и снова.

Ошибка 91 Logic Error – Логические ошибки проявляются, когда пользователь вводит правильные данные, но устройство дает неверный результат. Это может произойти, когда исходный код Microsoft Corporation имеет уязвимость в отношении передачи данных.

Как правило, такие Microsoft Corporation ошибки возникают из-за повреждённых или отсутствующих файлов Object variable or With block variable not set, а иногда — в результате заражения вредоносным ПО в настоящем или прошлом, что оказало влияние на Windows Operating System. Большую часть проблем, связанных с данными файлами, можно решить посредством скачивания и установки последней версии файла Microsoft Corporation. Кроме того, некоторые ошибки Object variable or With block variable not set могут возникать по причине наличия неправильных ссылок на реестр. По этой причине для очистки недействительных записей рекомендуется выполнить сканирование реестра.

Распространенные сообщения об ошибках в Object variable or With block variable not set

Object variable or With block variable not set Проблемы, связанные с Windows Operating System:

  • «Ошибка программного обеспечения Object variable or With block variable not set. «
  • «Ошибка программного обеспечения Win32: Object variable or With block variable not set»
  • «Извините, Object variable or With block variable not set столкнулся с проблемой. «
  • «Object variable or With block variable not set не может быть найден. «
  • “Отсутствует файл Object variable or With block variable not set.”
  • «Ошибка запуска в приложении: Object variable or With block variable not set. «
  • “Файл Object variable or With block variable not set не запущен.”
  • “Отказ Object variable or With block variable not set.”
  • «Object variable or With block variable not set: путь приложения является ошибкой. «

Ошибки Object variable or With block variable not set EXE возникают во время установки Windows Operating System, при запуске приложений, связанных с Object variable or With block variable not set (Windows Operating System), во время запуска или завершения работы или во время установки ОС Windows. При появлении ошибки Object variable or With block variable not set запишите вхождения для устранения неполадок Windows Operating System и чтобы HelpMicrosoft Corporation найти причину.

Источники проблем Object variable or With block variable not set

Эти проблемы Object variable or With block variable not set создаются отсутствующими или поврежденными файлами Object variable or With block variable not set, недопустимыми записями реестра Windows Operating System или вредоносным программным обеспечением.

Более конкретно, данные ошибки Object variable or With block variable not set могут быть вызваны следующими причинами:

  • Поврежденные ключи реестра Windows, связанные с Object variable or With block variable not set / Windows Operating System.
  • Вирус или вредоносное ПО, которые повредили файл Object variable or With block variable not set или связанные с Windows Operating System программные файлы.
  • Другая программа (не связанная с Windows Operating System) удалила Object variable or With block variable not set злонамеренно или по ошибке.
  • Другое приложение, конфликтующее с Object variable or With block variable not set или другими общими ссылками.
  • Поврежденная загрузка или неполная установка программного обеспечения Windows Operating System.

Продукт Solvusoft

Загрузка
WinThruster 2022 – Проверьте свой компьютер на наличие ошибок.

Совместима с Windows 2000, XP, Vista, 7, 8, 10 и 11

Установить необязательные продукты – WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

1 02.03.2018 11:05:02

  • Ошибка 91 Обьект переменной или блок
  • Fck_This
  • генерал-полковник
  • Неактивен
  • Откуда: Минск, Беларусь
  • Зарегистрирован: 13.07.2016
  • Сообщений: 648
  • Поблагодарили: 97

Тема: Ошибка 91 Обьект переменной или блок

Возникает такая ошибка при поиске значения по первой строке

Dim Ячейка as Excel.range
Dim Заг as String
Заг = "искомое слово"
Set Ячейка = ActiveSheet.Rows(1).Find(What:=Заг, LookAt:=xlWhole)

Ругается на последнюю строку. Это странно т.к. такое значение переменной “Заг” существует – содержится в первой строке, столбце А. Нужна помощь.

Спасибо можно перевести на WebMoney-кошелёк R378231864568 или на Яндекс-деньги 410015093172871

2 Ответ от Fck_This 02.03.2018 11:14:51

  • Ошибка 91 Обьект переменной или блок
  • Fck_This
  • генерал-полковник
  • Неактивен
  • Откуда: Минск, Беларусь
  • Зарегистрирован: 13.07.2016
  • Сообщений: 648
  • Поблагодарили: 97

Re: Ошибка 91 Обьект переменной или блок

Да, это из ворда запускается.

Спасибо можно перевести на WebMoney-кошелёк R378231864568 или на Яндекс-деньги 410015093172871

3 Ответ от yshindin 02.03.2018 12:03:46

  • yshindin
  • генерал-полковник
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 12.05.2012
  • Сообщений: 447
  • Поблагодарили: 171

Re: Ошибка 91 Обьект переменной или блок

Fck_This пишет:


Ругается на последнюю строку.

Действительно, странно. Надеюсь, это VBA-код для Excel?
Я заменил русские идентификаторы английскими, и у меня все проходит и находит ячейку.

Sub t()
Dim clrg As Excel.Range
Dim Hdr As String
Hdr = "искомое слово"
Set clrg = ActiveSheet.Rows(1).Find(What:=Hdr, LookAt:=xlWhole)
clrg.Select
End Sub

А какое сообщение об ошибке: от компилятора или Runtime-error?

4 Ответ от Fck_This 03.03.2018 09:14:20

  • Ошибка 91 Обьект переменной или блок
  • Fck_This
  • генерал-полковник
  • Неактивен
  • Откуда: Минск, Беларусь
  • Зарегистрирован: 13.07.2016
  • Сообщений: 648
  • Поблагодарили: 97

Re: Ошибка 91 Обьект переменной или блок

Run-time error 91. Object variable or with block variable not set (писал по памяти, но думаю всё правильно)

Спасибо можно перевести на WebMoney-кошелёк R378231864568 или на Яндекс-деньги 410015093172871

5 Ответ от yshindin 03.03.2018 09:45:27

  • yshindin
  • генерал-полковник
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 12.05.2012
  • Сообщений: 447
  • Поблагодарили: 171

Re: Ошибка 91 Обьект переменной или блок

Fck_This пишет:

Run-time error 91. Object variable or with block variable not set (писал по памяти, но думаю всё правильно)

В данном случае это может быть как ошибка компиляции, так и Runtime-error (скорее второе). Вы пишете, что запускается все из Word, но у вас в сбойном операторе указан объект ActiveSheet, который Word не должен понимать.
То есть, я предполагаю, что к моменту исполнения оператора активным Application-объектом является Word (а не Excel), поэтому выдается сообщение об ошибке. Возможно, вы хотели из Word запустить Excel, а в нем выполнить этот поиск. Тогда надо предварительно создать Excel-объект (через CreateObject или GetObject), связав его с переменной-объектом, а далее использовать новый объект в Excel-операциях, напр.

Set clrg = ExcelObj.ActiveSheet.Rows(1).Find(What:=Hdr, LookAt:=xlWhole)

6 Ответ от Fck_This 05.03.2018 09:18:56

  • Ошибка 91 Обьект переменной или блок
  • Fck_This
  • генерал-полковник
  • Неактивен
  • Откуда: Минск, Беларусь
  • Зарегистрирован: 13.07.2016
  • Сообщений: 648
  • Поблагодарили: 97

Re: Ошибка 91 Обьект переменной или блок

yshindin пишет:

Fck_This пишет:

Run-time error 91. Object variable or with block variable not set (писал по памяти, но думаю всё правильно)

В данном случае это может быть как ошибка компиляции, так и Runtime-error (скорее второе). Вы пишете, что запускается все из Word, но у вас в сбойном операторе указан объект ActiveSheet, который Word не должен понимать.
То есть, я предполагаю, что к моменту исполнения оператора активным Application-объектом является Word (а не Excel), поэтому выдается сообщение об ошибке. Возможно, вы хотели из Word запустить Excel, а в нем выполнить этот поиск. Тогда надо предварительно создать Excel-объект (через CreateObject или GetObject), связав его с переменной-объектом, а далее использовать новый объект в Excel-операциях, напр.

Set clrg = ExcelObj.ActiveSheet.Rows(1).Find(What:=Hdr, LookAt:=xlWhole)

Я так понимаю, имеется в виду
Set ExcelObj = CreateObject(“Excel.Application”).
Вообще код не мой. Обычно не использую ActiveSheet (вместо этого делаю через назначение Set oList = ). Тем не менее это не объясняет избирательности использования функции. Спасибо за совет.

Спасибо можно перевести на WebMoney-кошелёк R378231864568 или на Яндекс-деньги 410015093172871

7 Ответ от Fck_This 05.03.2018 10:15:28

  • Ошибка 91 Обьект переменной или блок
  • Fck_This
  • генерал-полковник
  • Неактивен
  • Откуда: Минск, Беларусь
  • Зарегистрирован: 13.07.2016
  • Сообщений: 648
  • Поблагодарили: 97

Re: Ошибка 91 Обьект переменной или блок

И ещё такая проблема. На этот раз код запускается из экселя.

Function GetColumnAddress(ByVal sTarget As String, ByRef oWorkSht As Worksheet)
Dim rCell As Range
Set rCell = oWorkSht.Rows(1).Find(What:=sTarget, LookAt:=xlWhole)
'MsgBox rCell.Address
    GetColumnAddress = Split(oWorkSht.Cells(rCell.Row, rCell.Column).Address, "$")(1)
End Function

Передаю значение текстовое и лист. По итогу rCell высвечивает именно то зачение, которое нужно, но дальше неправильно показывает её адрес. Искомое значение находится в столбце AD, а определяется она как Z. GetColumnAddress показывает 26, а должен вернуть – 30. (в Z столбце “Лист #Д”, в AD столбце – “Плёнка”) Такие значения как “Тираж” и “Шифр” находит правильно.

Спасибо можно перевести на WebMoney-кошелёк R378231864568 или на Яндекс-деньги 410015093172871

8 Ответ от Fck_This 05.03.2018 10:43:23

  • Ошибка 91 Обьект переменной или блок
  • Fck_This
  • генерал-полковник
  • Неактивен
  • Откуда: Минск, Беларусь
  • Зарегистрирован: 13.07.2016
  • Сообщений: 648
  • Поблагодарили: 97

Re: Ошибка 91 Обьект переменной или блок

Так понимаю, что надо указывать другие свойства для поиска по AA – и далее

Спасибо можно перевести на WebMoney-кошелёк R378231864568 или на Яндекс-деньги 410015093172871

9 Ответ от yshindin 05.03.2018 11:37:48

  • yshindin
  • генерал-полковник
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 12.05.2012
  • Сообщений: 447
  • Поблагодарили: 171

Re: Ошибка 91 Обьект переменной или блок

Fck_This пишет:

. . .
Искомое значение находится в столбце AD, а определяется она как Z. GetColumnAddress показывает 26, а должен вернуть – 30. (в Z столбце “Лист #Д”, в AD столбце – “Плёнка”) Такие значения как “Тираж” и “Шифр” находит правильно.
. . .

Я прогнал вот этот код для проверки вашей функции GetColumnAddress и у меня все выдается правильно:

Sub ttf()
Dim ss As String
ss = GetColumnAddress("плёнка", ActiveSheet) '="AD"
ss = GetColumnAddress("Лист #Д", ActiveSheet) '="Z"
End Sub

В чем может быть ваша проблема, мне не понятно. Попробуйте подобрать другие варианты реализации этой функции.

10 Ответ от Fck_This 05.03.2018 16:33:29

  • Ошибка 91 Обьект переменной или блок
  • Fck_This
  • генерал-полковник
  • Неактивен
  • Откуда: Минск, Беларусь
  • Зарегистрирован: 13.07.2016
  • Сообщений: 648
  • Поблагодарили: 97

Re: Ошибка 91 Обьект переменной или блок

yshindin пишет:

Fck_This пишет:

. . .
Искомое значение находится в столбце AD, а определяется она как Z. GetColumnAddress показывает 26, а должен вернуть – 30. (в Z столбце “Лист #Д”, в AD столбце – “Плёнка”) Такие значения как “Тираж” и “Шифр” находит правильно.
. . .

Я прогнал вот этот код для проверки вашей функции GetColumnAddress и у меня все выдается правильно:

Sub ttf()
Dim ss As String
ss = GetColumnAddress("плёнка", ActiveSheet) '="AD"
ss = GetColumnAddress("Лист #Д", ActiveSheet) '="Z"
End Sub

В чем может быть ваша проблема, мне не понятно. Попробуйте подобрать другие варианты реализации этой функции.

Получилось получить только перебором ячеек с выделением
Function GetColumnAddress(ByVal sTarget As String, ByRef oWorkSht As Worksheet)
Dim rCell As Range
Dim sAddr As String
Set rCell = oWorkSht.Rows(1).Find(What:=sTarget, Lookat:=xlWhole)
    sAddr = Split(oWorkSht.Cells(rCell.Row, rCell.Column).Address, “$”)(1)
    GetColumnAddress = sAddr
If sTarget = “Плёнка” Then
    Range(sAddr & “1”).Select
    If Not Selection.Value = “Плёнка” Then
        Dim iLastCol, iCell As Integer
        iLastCol = Cells.SpecialCells(xlLastCell).Column
        iCell = rCell.Column + 1
        For i = iCell To iLastCol
            sAddr = Split(oWorkSht.Cells(rCell.Row, i).Address, “$”)(1)
            Range(sAddr & “1”).Select
            If Selection.Value = “Плёнка” Then
                GetColumnAddress = Split(oWorkSht.Cells(rCell.Row, i).Address, “$”)(1): Exit Function
            End If
        Next i
    End If
End If
End Function

Подозревал группировку столбцов, но нет. Короче приходится пилить из ..вна и палок. Поэтому вопрос открыт.

Спасибо можно перевести на WebMoney-кошелёк R378231864568 или на Яндекс-деньги 410015093172871

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Question

Issue: How to fix Runtime Error 91 on Windows?

I would like to get some help with an error message: ”Runtime Error 91: Object variable or with block variable not set”. I see this message every time I am opening Word. It is newly installed on my computer, but everything went fine during the installation and I cannot understand why it is showing the error. Could you help to find the reason and fix this error, please?

Solved Answer

“Runtime Error 91: Object variable or with block variable not set” is a runtime error that can occur on all versions of Windows-based operating systems. It is a relatively common error, and the main culprit is usually the DCOMCnfg.exe file, which is often used to configure permissions and set system-wide security settings.

When this file is corrupted, or some other issues arise, the program cannot work properly, and Runtime Error 91 pops up on the screen. However, there might be other reasons for the issue to arise, and we will explore all the methods that could help you fix Runtime Error 91.

There are several different scenarios when the Runtime Error 91 can show up, such as during program installation, startup operation, or a shutdown, although some users may also see the error when they upgrade their Windows to a newer version. The time when the issue is first spotted also determines the measures that need to be taken to fix Error 91 on the machine.

Runtime Error 91 on WindowsFix Runtime Error 91 on Windows

When the Runtime Error 91 occurs after the installation of the program, the reason why it happens is related to the problems with a link to the downloaded software. Often Runtime Error 91 appears when this link is missing or interrupted. What is more, this error is often followed by the “Error 59999 – Application-defined or object-defined error.”

The latter error might occur when generating a report to XML/Enhanced XML and is is caused by insufficient permissions on the FRxXMLTag.XML file in the FRx directory. Thus, in order to get rid of this problem, you need to fix this file.

Note: if you want to repair various Windows errors and BSODs[1] automatically, do not hesitate to use RestoroMac Washing Machine X9.

Method 1. Reinstall the problematic application



Fix it now!




Fix it now!

To repair damaged system, you have to purchase the licensed version of Restoro Mac Washing Machine X9.

Issues with variables might be caused by file corruption. In order to fix that corrupted data within the system files, users could run a built-in SFC scan. However, this method will not work if the corrupted files are not those of Windows but the external application, even if it is one of the core programs that run on the PC. Thus, you should try to reinstall the problematic app that causes the Runtime Error 91.

  • Type in Control Panel into Windows search and hit Enter
  • Go to Programs > Uninstall a program
  • From the list, select the app, right-click and pick Uninstall

    Reinstall the problematic appReinstall the problematic app

  • Once done, re-install the app and see if that helps to fix Runtime Error 91

Method 2. Update Windows



Fix it now!




Fix it now!

To repair damaged system, you have to purchase the licensed version of Restoro Mac Washing Machine X9.

The Runtime Error 91 might be related to .NET Framework[2] and Visual Basic, updates for which are applied via Windows updates. Therefore, make sure you Windows is up to date:

  • Right-click on Start button and pick Settings
  • Select Update & Security
  • Lick Check for updates

    Update WindowsUpdate Windows via Settings

  • Wait till Windows downloads and installs all the required updates
  • Reboot your PC

Method 3. Scan your machine for malware



Fix it now!




Fix it now!

To repair damaged system, you have to purchase the licensed version of Restoro Mac Washing Machine X9.

Malware[3] can cause all sorts of problems on your computer, and also corrupt multiple files that are related to either system or program files. Therefore, malware can be one of the factors why you are facing Runtime Error 91. To make sure that this is not the case, you should scan you computer with reputable anti-malware software.

There are plenty of paid and free third-party anti-malware solutions available online, so you can choose based on your needs. However, you can also use Windows Defender (now known as Microsoft Defender) to perform a full system scan in order to make sure no malicious files are present.

  • Click on system tray arrow and double-click the Windows Security icon
  • Select Virus and threat protection
  • Pick Scan options below Quick Scan button
  • Select Full scan option and click Scan now

    Scan the PC for malwareYou can use Windows Defender to perform a full system scan

Method 4. Set DCOMCnfg.exe to be allowed to run by “Everyone”



Fix it now!




Fix it now!

To repair damaged system, you have to purchase the licensed version of Restoro Mac Washing Machine X9.

  • Type in DCOMCnfg.exe into Windows search box and hit Enter
  • In the Component Services window, expand the following: Component Services > Computers > My Computer
  • Right-click on My Computer and select Properties
  • Select COM Security tab and under Access Permissions pick Edit Limits
  • Pick Everyone from the groups and make sure that Local and Remote Access are set to Allow

    Configure DCOMCnfg.exe fileConfigure DCOMCnfg.exe file

Method 5. Give full control to FRxXMLTag.XML file



Fix it now!




Fix it now!

To repair damaged system, you have to purchase the licensed version of Restoro Mac Washing Machine X9.

In case the Runtime Error 91 is followed by the Error 5999, you should perform the following steps:

  • Run Windows as administrator
  • In Windows Explorer browse to FRx directory.
  • Right-click on the FRxXMLTag.XML file and select Properties.
  • When in Properties, click the Security Tab.
  • In Security Tab, add the group Everyone and select Full Control.
  • Click OK.

Repair your Errors automatically

ugetfix.com team is trying to do its best to help users find the best solutions for eliminating their errors. If you don’t want to struggle with manual repair techniques, please use the automatic software. All recommended products have been tested and approved by our professionals. Tools that you can use to fix your error are listed bellow:

do it now!

Download Fix
 

Happiness
Guarantee

do it now!

Download Fix
 

Happiness
Guarantee

Compatible with Microsoft Windows
Compatible with OS X

Still having problems?
If you failed to fix your error using RestoroMac Washing Machine X9, reach our support team for help. Please, let us know all details that you think we should know about your problem.

Restoro – a patented specialized Windows repair program. It will diagnose your damaged PC. It will scan all System Files, DLLs and Registry Keys that have been damaged by security threats.Mac Washing Machine X9 – a patented specialized Mac OS X repair program. It will diagnose your damaged computer. It will scan all System Files and Registry Keys that have been damaged by security threats.
This patented repair process uses a database of 25 million components that can replace any damaged or missing file on user’s computer.
To repair damaged system, you have to purchase the licensed version of Restoro malware removal tool.To repair damaged system, you have to purchase the licensed version of Mac Washing Machine X9 malware removal tool.

A VPN is crucial when it comes to user privacy. Online trackers such as cookies can not only be used by social media platforms and other websites but also your Internet Service Provider and the government. Even if you apply the most secure settings via your web browser, you can still be tracked via apps that are connected to the internet. Besides, privacy-focused browsers like Tor is are not an optimal choice due to diminished connection speeds. The best solution for your ultimate privacy is Private Internet Access – be anonymous and secure online.

Data recovery software is one of the options that could help you recover your files. Once you delete a file, it does not vanish into thin air – it remains on your system as long as no new data is written on top of it. Data Recovery Pro is recovery software that searchers for working copies of deleted files within your hard drive. By using the tool, you can prevent loss of valuable documents, school work, personal pictures, and other crucial files.

Return to VBA Code Examples

This article will explain the VBA object variable or with block variable not set error.

vba error 91

This relatively common error occurs for exactly the reason that the message box says – the object variable or with block variable has not been set yet!

Object Variable Not Set

Let us consider the following code:

Sub TestObject()
  Dim wks as Worksheet
  wks.Name = "Sheet1"
End Sub

We have declared a new object variable called “wks” as a Worksheet.

We are then attempting to name this sheet – Sheet1

However, when we run the code, we get the run-time error. When we click on the Debug button, the code stops at the line where we are trying to name the sheet.

vba error object variable

We are trying to populate the variable “wks” – but we haven’t actually allocated the variable to a specific sheet – we have only declared it as a variable. Therefore, although the variable is declared, the object doesn’t actually exist!

Let us consider the amended code below:

Sub TestObject() 
  Dim wks as Worksheet
  Set wks = ActiveSheet
  wks.Name = "Sheet1" 
End Sub

We have now created the object with this line of code:

Set wks = ActiveSheet

The code will then run without error.

With Block Variable Not Set

Let us now consider this code:

Sub TestWith()
  Dim wks As Worksheet
  With wks
   .Name = "Sheet1"
   .Activate
  End With
End Sub

When we run this code, we get the same error:

vba error with block

When we click on debug, the code stops within the WITH….END WITH block – hence the with block variable error.

vba error with block debug

The error is actually the same and once again, by creating the object, we will solve the error.

Sub TestWith()
  Dim wks As Worksheet
  Set wks = ActiveSheet
  With wks
    .Name = "Sheet1"
    .Activate
  End With
End Sub

Добавить комментарий