Symptoms
«Runtime error 91: Object variable or with block variable not set» This error occurs when trying to load AS/400 data after setting up a new FRL database on the SQL Server.
Cause
The FRL tables that the Load requires have not been created and/or populated.
Resolution
These steps should be performed by a DBA and/or a user that has experience with using the FRL Load and FRL Setup. Using Microsoft Query Analyzer, run the scripts located in the Scripts directory on the FRx CD against the FRL database. These scripts MUST be run in a particular order, so be sure to read the README.TXT file in the Scripts directory before doing this. Run the FRL Setup**. All setup screens (Defaults, Books, and Companies) must be run and updated. Re-run the FRL Load — no error should occur. ** For more information about running the FRL Setup and the FRL Load, consult the FRx FRL Load for Infinium AS/400 User’s Guide. This document (frluser.pdf) can also be found in the FRx directory under the HELP\PDFS folder. You will need Adobe Acrobat Reader to view it. This information is provided in a PDF format. If you do not have Adober Acrobatr Readerr installed on your system already, click here to download a complimentary copy from the Adobe Web site.
References
Need more help?
Error: Ошибка 91 — Чтобы создать объектную переменную, нужно выполнить два шага. Сначала вы должны объявить объектную переменную. Затем вы должны назначить действительную ссылку на объектную переменную с помощью оператора Set. Аналогично, блок With … End With должен быть инициализирован путем выполнения
В этой статье представлена ошибка с номером Ошибка 91, известная как Переменная объекта или переменная блока не задана, описанная как Чтобы создать объектную переменную, нужно выполнить два шага. Сначала вы должны объявить объектную переменную. Затем вы должны назначить действительную ссылку на объектную переменную с помощью оператора Set. Аналогично, блок With … End With должен быть инициализирован путем выполнения
О программе Runtime Ошибка 91
Время выполнения Ошибка 91 происходит, когда Windows дает сбой или падает во время запуска, отсюда и название. Это не обязательно означает, что код был каким-то образом поврежден, просто он не сработал во время выполнения. Такая ошибка появляется на экране в виде раздражающего уведомления, если ее не устранить. Вот симптомы, причины и способы устранения проблемы.
Определения (Бета)
Здесь мы приводим некоторые определения слов, содержащихся в вашей ошибке, в попытке помочь вам понять вашу проблему. Эта работа продолжается, поэтому иногда мы можем неправильно определить слово, так что не стесняйтесь пропустить этот раздел!
- Назначить — что-то, что связано с операцией присваивания, т. е. процессом изменения содержимого переменной для отражения некоторого заданного значения.
- Блок < / b> — этот тег записывается, потому что он может относиться ко многим различным вещам в зависимости от использования с ним других тегов.
- Объявить — используйте этот тег для вопросов, связанных с declare, который обычно предназначен для объявления переменных, операторов и т. д.
- Object — объект — это любой объект, которым можно управлять с помощью команд на языке программирования.
- Набор — набор — это набор, в котором ни один элемент не повторяется, который может иметь возможность перечислять свои элементы в соответствии с критерием упорядочения «упорядоченный набор» или не сохранять порядок «неупорядоченный набор». «.
- Переменная — ЭТО НЕОБХОДИМО ; ИСПОЛЬЗУЙТЕ КОНКРЕТНЫЕ ЯЗЫКОВЫЕ ТЭГИ, ЕСЛИ ПРИМЕНИМО
< li> Ссылка. Ссылка — это значение, которое позволяет программе косвенно обращаться к определенным данным, таким как переменная или запись, в памяти компьютера или в каком-либо другом запоминающем устройстве.
Симптомы Ошибка 91 — Переменная объекта или переменная блока не задана
Ошибки времени выполнения происходят без предупреждения. Сообщение об ошибке может появиться на экране при любом запуске %программы%. Фактически, сообщение об ошибке или другое диалоговое окно может появляться снова и снова, если не принять меры на ранней стадии.
Возможны случаи удаления файлов или появления новых файлов. Хотя этот симптом в основном связан с заражением вирусом, его можно отнести к симптомам ошибки времени выполнения, поскольку заражение вирусом является одной из причин ошибки времени выполнения. Пользователь также может столкнуться с внезапным падением скорости интернет-соединения, но, опять же, это не всегда так.

(Только для примера)
Причины Переменная объекта или переменная блока не задана — Ошибка 91
При разработке программного обеспечения программисты составляют код, предвидя возникновение ошибок. Однако идеальных проектов не бывает, поскольку ошибки можно ожидать даже при самом лучшем дизайне программы. Глюки могут произойти во время выполнения программы, если определенная ошибка не была обнаружена и устранена во время проектирования и тестирования.
Ошибки во время выполнения обычно вызваны несовместимостью программ, запущенных в одно и то же время. Они также могут возникать из-за проблем с памятью, плохого графического драйвера или заражения вирусом. Каким бы ни был случай, проблему необходимо решить немедленно, чтобы избежать дальнейших проблем. Ниже приведены способы устранения ошибки.
Методы исправления
Ошибки времени выполнения могут быть раздражающими и постоянными, но это не совсем безнадежно, существует возможность ремонта. Вот способы сделать это.
Если метод ремонта вам подошел, пожалуйста, нажмите кнопку upvote слева от ответа, это позволит другим пользователям узнать, какой метод ремонта на данный момент работает лучше всего.
Обратите внимание: ни ErrorVault.com, ни его авторы не несут ответственности за результаты действий, предпринятых при использовании любого из методов ремонта, перечисленных на этой странице — вы выполняете эти шаги на свой страх и риск.
Метод 1 — Закройте конфликтующие программы
Когда вы получаете ошибку во время выполнения, имейте в виду, что это происходит из-за программ, которые конфликтуют друг с другом. Первое, что вы можете сделать, чтобы решить проблему, — это остановить эти конфликтующие программы.
- Откройте диспетчер задач, одновременно нажав Ctrl-Alt-Del. Это позволит вам увидеть список запущенных в данный момент программ.
- Перейдите на вкладку «Процессы» и остановите программы одну за другой, выделив каждую программу и нажав кнопку «Завершить процесс».
- Вам нужно будет следить за тем, будет ли сообщение об ошибке появляться каждый раз при остановке процесса.
- Как только вы определите, какая программа вызывает ошибку, вы можете перейти к следующему этапу устранения неполадок, переустановив приложение.
Метод 2 — Обновите / переустановите конфликтующие программы
Использование панели управления
- В Windows 7 нажмите кнопку «Пуск», затем нажмите «Панель управления», затем «Удалить программу».
- В Windows 8 нажмите кнопку «Пуск», затем прокрутите вниз и нажмите «Дополнительные настройки», затем нажмите «Панель управления»> «Удалить программу».
- Для Windows 10 просто введите «Панель управления» в поле поиска и щелкните результат, затем нажмите «Удалить программу».
- В разделе «Программы и компоненты» щелкните проблемную программу и нажмите «Обновить» или «Удалить».
- Если вы выбрали обновление, вам просто нужно будет следовать подсказке, чтобы завершить процесс, однако, если вы выбрали «Удалить», вы будете следовать подсказке, чтобы удалить, а затем повторно загрузить или использовать установочный диск приложения для переустановки. программа.
Использование других методов
- В Windows 7 список всех установленных программ можно найти, нажав кнопку «Пуск» и наведя указатель мыши на список, отображаемый на вкладке. Вы можете увидеть в этом списке утилиту для удаления программы. Вы можете продолжить и удалить с помощью утилит, доступных на этой вкладке.
- В Windows 10 вы можете нажать «Пуск», затем «Настройка», а затем — «Приложения».
- Прокрутите вниз, чтобы увидеть список приложений и функций, установленных на вашем компьютере.
- Щелкните программу, которая вызывает ошибку времени выполнения, затем вы можете удалить ее или щелкнуть Дополнительные параметры, чтобы сбросить приложение.
Метод 3 — Обновите программу защиты от вирусов или загрузите и установите последнюю версию Центра обновления Windows.
Заражение вирусом, вызывающее ошибку выполнения на вашем компьютере, необходимо немедленно предотвратить, поместить в карантин или удалить. Убедитесь, что вы обновили свою антивирусную программу и выполнили тщательное сканирование компьютера или запустите Центр обновления Windows, чтобы получить последние определения вирусов и исправить их.
Метод 4 — Переустановите библиотеки времени выполнения
Вы можете получить сообщение об ошибке из-за обновления, такого как пакет MS Visual C ++, который может быть установлен неправильно или полностью. Что вы можете сделать, так это удалить текущий пакет и установить новую копию.
- Удалите пакет, выбрав «Программы и компоненты», найдите и выделите распространяемый пакет Microsoft Visual C ++.
- Нажмите «Удалить» в верхней части списка и, когда это будет сделано, перезагрузите компьютер.
- Загрузите последний распространяемый пакет от Microsoft и установите его.
Метод 5 — Запустить очистку диска
Вы также можете столкнуться с ошибкой выполнения из-за очень нехватки свободного места на вашем компьютере.
- Вам следует подумать о резервном копировании файлов и освобождении места на жестком диске.
- Вы также можете очистить кеш и перезагрузить компьютер.
- Вы также можете запустить очистку диска, открыть окно проводника и щелкнуть правой кнопкой мыши по основному каталогу (обычно это C 🙂
- Щелкните «Свойства», а затем — «Очистка диска».
Метод 6 — Переустановите графический драйвер
Если ошибка связана с плохим графическим драйвером, вы можете сделать следующее:
- Откройте диспетчер устройств и найдите драйвер видеокарты.
- Щелкните правой кнопкой мыши драйвер видеокарты, затем нажмите «Удалить», затем перезагрузите компьютер.
Метод 7 — Ошибка выполнения, связанная с IE
Если полученная ошибка связана с Internet Explorer, вы можете сделать следующее:
- Сбросьте настройки браузера.
- В Windows 7 вы можете нажать «Пуск», перейти в «Панель управления» и нажать «Свойства обозревателя» слева. Затем вы можете перейти на вкладку «Дополнительно» и нажать кнопку «Сброс».
- Для Windows 8 и 10 вы можете нажать «Поиск» и ввести «Свойства обозревателя», затем перейти на вкладку «Дополнительно» и нажать «Сброс».
- Отключить отладку скриптов и уведомления об ошибках.
- В том же окне «Свойства обозревателя» можно перейти на вкладку «Дополнительно» и найти пункт «Отключить отладку сценария».
- Установите флажок в переключателе.
- Одновременно снимите флажок «Отображать уведомление о каждой ошибке сценария», затем нажмите «Применить» и «ОК», затем перезагрузите компьютер.
Если эти быстрые исправления не работают, вы всегда можете сделать резервную копию файлов и запустить восстановление на вашем компьютере. Однако вы можете сделать это позже, когда перечисленные здесь решения не сработают.
Другие языки:
How to fix Error 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
Wie beheben Fehler 91 (Objektvariable oder With-Blockvariable nicht gesetzt) — Es gibt zwei Schritte, um eine Objektvariable zu erstellen. Zuerst müssen Sie die Objektvariable deklarieren. Anschließend müssen Sie der Objektvariablen mit der Set-Anweisung eine gültige Referenz zuweisen. Ebenso muss ein With…End With-Block initialisiert werden, indem die
Come fissare Errore 91 (Variabile oggetto o Con variabile di blocco non impostata) — Ci sono due passaggi per creare una variabile oggetto. Per prima cosa devi dichiarare la variabile oggetto. Quindi è necessario assegnare un riferimento valido alla variabile oggetto utilizzando l’istruzione Set. Allo stesso modo, un blocco With…End With deve essere inizializzato eseguendo il comando
Hoe maak je Fout 91 (Object variabele of met blok variabele niet ingesteld) — Er zijn twee stappen om een objectvariabele te maken. Eerst moet u de objectvariabele declareren. Vervolgens moet u een geldige verwijzing naar de objectvariabele toewijzen met behulp van de Set-instructie. Op dezelfde manier moet een With…End With-blok worden geïnitialiseerd door de
Comment réparer Erreur 91 (Variable objet ou Variable avec bloc non définie) — Il y a deux étapes pour créer une variable d’objet. Vous devez d’abord déclarer la variable objet. Ensuite, vous devez affecter une référence valide à la variable objet à l’aide de l’instruction Set. De même, un bloc With…End With doit être initialisé en exécutant la commande
어떻게 고치는 지 오류 91 (개체 변수 또는 With 블록 변수가 설정되지 않았습니다.) — 개체 변수를 만드는 데는 두 단계가 있습니다. 먼저 객체 변수를 선언해야 합니다. 그런 다음 Set 문을 사용하여 개체 변수에 유효한 참조를 할당해야 합니다. 마찬가지로 With…End With 블록은 다음을 실행하여 초기화해야 합니다.
Como corrigir o Erro 91 (Variável de objeto ou com variável de bloco não definida) — Existem duas etapas para criar uma variável de objeto. Primeiro você deve declarar a variável do objeto. Em seguida, você deve atribuir uma referência válida à variável de objeto usando a instrução Set. Da mesma forma, um bloco With … End With deve ser inicializado executando o
Hur man åtgärdar Fel 91 (Objektvariabel eller Med blockvariabel ej inställd) — Det finns två steg för att skapa en objektvariabel. Först måste du deklarera objektvariabeln. Sedan måste du tilldela en giltig referens till objektvariabeln med Set -satsen. På samma sätt måste ett With … End With block initieras genom att köra
Jak naprawić Błąd 91 (Zmienna obiektu lub Zmienna blokowa nie jest ustawiona) — Tworzenie zmiennej obiektowej składa się z dwóch kroków. Najpierw musisz zadeklarować zmienną obiektu. Następnie należy przypisać prawidłowe odwołanie do zmiennej obiektu za pomocą instrukcji Set. Podobnie blok With…End With musi zostać zainicjowany przez wykonanie
Cómo arreglar Error 91 (Variable de objeto o con variable de bloque no establecida) — Hay dos pasos para crear una variable de objeto. Primero debes declarar la variable de objeto. Luego debe asignar una referencia válida a la variable de objeto usando la instrucción Set. De manera similar, un bloque With … End With debe inicializarse ejecutando el
Об авторе: Фил Харт является участником сообщества Microsoft с 2010 года. С текущим количеством баллов более 100 000 он внес более 3000 ответов на форумах Microsoft Support и создал почти 200 новых справочных статей в Technet Wiki.
Следуйте за нами:
Последнее обновление:
24/10/22 12:05 : Пользователь Windows 10 проголосовал за то, что метод восстановления 4 работает для него.

Этот инструмент восстановления может устранить такие распространенные проблемы компьютера, как синие экраны, сбои и замораживание, отсутствующие DLL-файлы, а также устранить повреждения от вредоносных программ/вирусов и многое другое путем замены поврежденных и отсутствующих системных файлов.
ШАГ 1:
Нажмите здесь, чтобы скачать и установите средство восстановления Windows.
ШАГ 2:
Нажмите на Start Scan и позвольте ему проанализировать ваше устройство.
ШАГ 3:
Нажмите на Repair All, чтобы устранить все обнаруженные проблемы.
СКАЧАТЬ СЕЙЧАС
Совместимость

Требования
1 Ghz CPU, 512 MB RAM, 40 GB HDD
Эта загрузка предлагает неограниченное бесплатное сканирование ПК с Windows. Полное восстановление системы начинается от $19,95.
ID статьи: ACX09108RU
Применяется к: Windows 10, Windows 8.1, Windows 7, Windows Vista, Windows XP, Windows 2000
Логотипы Microsoft и Windows® являются зарегистрированными торговыми марками Microsoft. Отказ от ответственности: ErrorVault.com не связан с Microsoft и не заявляет о такой связи. Эта страница может содержать определения из https://stackoverflow.com/tags по лицензии CC-BY-SA. Информация на этой странице представлена исключительно в информационных целях. © Copyright 2018
I have the following code:
Sub AddSources()
Dim pubPage As Page
Dim pubShape As Shape
Dim hprlink As Hyperlink
Dim origAddress() As String
Dim exportFileName As String
exportFileName = "TestResume"
Dim linkSource As String
linkSource = "TestSource2"
Dim hyperLinkText As TextRange
For Each pubPage In ActiveDocument.Pages
For Each pubShape In pubPage.Shapes
If pubShape.Type = pbTextFrame Then
For Each hprlink In pubShape.TextFrame.TextRange.Hyperlinks
If InStr(hprlink.Address, "http://bleaney.ca") > 0 Then
hyperLinkText = hprlink.Range
origAddress = Split(hprlink.Address, "?source=")
hprlink.Address = origAddress(0) + "?source=" + linkSource
hprlink.Range = hyperLinkText
End If
Next hprlink
End If
Next pubShape
Next pubPage
ThisDocument.ExportAsFixedFormat pbFixedFormatTypePDF, "C:" + exportFileName + ".pdf"
End Sub
I am getting the «Object variable or With block variable not set (Error 91)» error on the line with hyperLinkText = hprlink.Range. When I debug I can see that hprlink.Range does have a value. Any thoughts what I’m doing wrong?
![]()
Vogel612
5,6005 gold badges51 silver badges72 bronze badges
asked Dec 19, 2013 at 21:45
4
As I wrote in my comment, the solution to your problem is to write the following:
Set hyperLinkText = hprlink.Range
Set is needed because TextRange is a class, so hyperLinkText is an object; as such, if you want to assign it, you need to make it point to the actual object that you need.
![]()
answered Dec 19, 2013 at 21:59
BarrankaBarranka
20.3k13 gold badges66 silver badges83 bronze badges
| Номер ошибки: | Ошибка во время выполнения 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) | Лицензия | Политика защиты личных сведений | Условия | Удаление
Permalink
Cannot retrieve contributors at this time
| description | title | ms.date | f1_keywords | ms.assetid |
|---|---|---|---|---|
|
Learn more about: Object variable or With block variable not set |
Object variable or With block variable not set |
07/20/2015 |
vbrID91 |
2f03e611-f0ed-465c-99a2-a816e034faa3 |
An invalid object variable is being referenced. This error can occur for several reasons:
-
A variable was declared without specifying a type. If a variable is declared without specifying a type, it defaults to type
Object.For example, a variable declared with
Dim xwould be of typeObject;a variable declared withDim x As Stringwould be of typeString.[!TIP]
TheOption Strictstatement disallows implicit typing that results in anObjecttype. If you omit the type, a compile-time error will occur. See Option Strict Statement. -
You are attempting to reference an object that has been set to
Nothing. -
You are attempting to access an element of an array variable that wasn’t properly declared.
For example, an array declared as
products() As Stringwill trigger the error if you try to reference an element of the arrayproducts(3) = "Widget". The array has no elements and is treated as an object. -
You are attempting to access code within a
With...End Withblock before the block has been initialized. AWith...End Withblock must be initialized by executing theWithstatement entry point.
[!NOTE]
In earlier versions of Visual Basic or VBA, this error was also triggered by assigning a value to a variable without using theSetkeyword (x = "name"instead ofSet x = "name"). TheSetkeyword is no longer valid in Visual Basic .Net.
To correct this error
-
Set
Option StricttoOnby adding the following code to the beginning of the file:When you run the project, a compiler error will appear in the Error List for any variable that was specified without a type.
-
If you don’t want to enable
Option Strict, search your code for any variables that were specified without a type (Dim xinstead ofDim x As String) and add the intended type to the declaration. -
Make sure you aren’t referring to an object variable that has been set to
Nothing. Search your code for the keywordNothing, and revise your code so that the object isn’t set toNothinguntil after you have referenced it. -
Make sure that any array variables are dimensioned before you access them. You can either assign a dimension when you first create the array (
Dim x(5) As Stringinstead ofDim x() As String), or use theReDimkeyword to set the dimensions of the array before you first access it. -
Make sure your
Withblock is initialized by executing theWithstatement entry point.
See also
- Object Variable Declaration
- ReDim Statement
- With…End With Statement
|
cooltouch Пользователь Сообщений: 8 |
#1 24.10.2014 11:26:56 Добрый день, уважаемые форумчане. Столкнулся со следующей проблемой. Если я запускаю макрос сразу после открытия файла, в котором он содержится — всё работает как часы. Но если я его повторно запущу, то возникает ошибка: Run-time error ’91 Object variable or With block variable not set’ в строчке If rng.Value Like txt & «*» Then. Вопрос: почему ошибка возникает ТОЛЬКО при повторном запуске макроса? Почему переменной rng при повторном запуске не присваивается значение? Объясните, пожалуйста. Часть макроса, в котором появляется ошибка:
Изменено: cooltouch — 24.10.2014 12:45:11 |
||
|
The_Prist Пользователь Сообщений: 13962 Профессиональная разработка приложений для MS Office |
#2 24.10.2014 12:12:30
И обратите внимание как выглядит мой код и как Ваш. Используйте кнопку <…> для оформления кодов. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||
|
cooltouch Пользователь Сообщений: 8 |
#3 24.10.2014 12:21:57 Спасибо. Попробую сформулировать проблему понятнее. Убрал лишнее из макроса, чтобы было нагляднее
Изменено: cooltouch — 24.10.2014 23:46:09 |
||
|
Sanja Пользователь Сообщений: 14837 |
Файл-пример можете приложить? Согласие есть продукт при полном непротивлении сторон. |
|
Hugo Пользователь Сообщений: 23101 |
#5 24.10.2014 12:38:52
Чисто формально? Подсказку не использовали, код не оформили… |
||
|
The_Prist Пользователь Сообщений: 13962 Профессиональная разработка приложений для MS Office |
#6 24.10.2014 12:39:38
Я, в свою очередь попробую сформулировать свою просьбу понятнее: оформляйте коды ТЕГАМИ. Неужели так трудно выделить текст кода и нажать кнопочку <…>? Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||
|
cooltouch Пользователь Сообщений: 8 |
#7 24.10.2014 13:01:57 Исправил отображение. К сожалению, не могу выложить этот файл на форум. Суть в следующем:
На листе «Report 2» в столбике A:A находится список неких групп. Мне необходимо для каждой такой группы создать лист в исходном файле с названием, близким к названию этой группы. Названия листов хранятся в массиве.
а далее сам код, где возникает ошибка:
Изменено: cooltouch — 24.10.2014 13:07:19 |
||||||||||
|
Ну как-то куски кода в целом сложить непросто, но первый же вопрос: а если на листе Report 2 не будет найдено соответствующее значение txt, чему будет равняться rng? |
|
|
The_Prist Пользователь Сообщений: 13962 Профессиональная разработка приложений для MS Office |
#9 24.10.2014 15:07:54 Я уже дал подсказку, как надо проверить. Но почему-то автор не хочет её использовать.
ведь в rng содержится текст, который равен txt. Следовательно Вы проверяете этим…Что, собственно?
а то во время работы эти настройки могут быть изменены и не указывая их принудительно Вы ищите с теми параметрами, которые были установлены по время работы с листом/книгой. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||||
|
cooltouch Пользователь Сообщений: 8 |
#10 24.10.2014 17:39:29 Извините, кнопка «Цитировать» у меня почему-то корректно не работает (по нажатию ничего не происходит, Chrome Версия 38.0.2125.104 m)
Выдаёт ту же ошибку, что и в топике. Я немного ковырял в эту сторону. После повторного запуска макроса после строчки
2. Про
Это мой частный случай. На всякий случай убрал & «*», но результата это не дало. Оно и понятно, эта строчка стоит ниже строчки кода, на которой отваливается макрос.
Опять же, это мой частный случай. Пробовал играться, но результата это не принесло.
не понял. В первом моём сообщение как раз аналогичная структура.
К сожалению, не могу выложить файл по соображениям корпоративной политики. Понимаю, что без этого проблему найти намного труднее. В любом случае, спасибо за советы. Если удастся найти проблему — отпишу. |
||||||||||||
|
The_Prist Пользователь Сообщений: 13962 Профессиональная разработка приложений для MS Office |
Без файла точно никто ничего больше не скажет. Сидеть и гадать не о чем, т.к. дело скорее всего еще в каких-то действиях и искомый текст уже не находится. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
|
Юрий М Модератор Сообщений: 60343 Контакты см. в профиле |
#12 24.10.2014 18:38:59
Меняйте патроны на апельсины. |
||
|
cooltouch Пользователь Сообщений: 8 |
#13 27.10.2014 13:22:21 Здравствуйте,
на
и ошибка ушла. Спасибо The_Prist. Видимо действительно проблема была в
Дьявол кроется в деталях. Сам я был уверен до этого, что пробовал такой вариант, так как в процессе отладки использовал миллион разных комбинаций. Оказалось, что нет. Попутный вопрос… удален |
||||||
|
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
cooltouch, одна тема — один вопрос. Создавайте новую тему, но перед этим почитайте форум — возможно уже есть ответ на Ваш вопрос. <#0> |
|
venrt Пользователь Сообщений: 54 |
#15 29.01.2019 12:09:49 Добрый день.
Если на нужном листе текст поиска встречается один раз, то на Loop While вылетает с этой ошибкой, если больше одного раза, то все норм. Причем в других книгах все нормально срабатывало с любым кол-ом вхождений. Изменено: venrt — 29.01.2019 12:10:29 |
||
|
Nordheim Пользователь Сообщений: 3154 |
venrt, Файл пример в студию. «Все гениальное просто, а все простое гениально!!!» |
|
venrt Пользователь Сообщений: 54 |
Nordheim,прикладываю файл Прикрепленные файлы
|
|
Віталій Пользователь Сообщений: 9 |
Добрый день. Столкнулся с такой проблемой при открытии файла запускается макрос и появляется ошибка «runtime Error 91». А когда любой другой файл excel открыт то ошибки уже нет. Прошу прощения я в пока в VBA пока полный профан. Рад буду любой помощи. Всем СПС. Прикрепленные файлы
|
|
см. вложение Прикрепленные файлы
Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
|
|
Віталій Пользователь Сообщений: 9 |
#20 03.05.2022 19:29:55
Спасибо но вы удалили макрос который должен сортировать при открытии файла колонку под кнопкой ДН . Так у меня тоже работает. Идея была такой что бы макрос сортировал при открытии файла и оставалась возможность запуска макроса по нажатия функциональных кнопок. Если возможно это как то реализовать буду очень рад. Спасибо что откликнулись. |
||
|
Віталій Пользователь Сообщений: 9 |
Ігор Гончаренко, Спасибо но вы удалили макрос который должен сортировать при открытии файла колонку под кнопкой ДН . Так у меня тоже работает. Идея была такой что бы макрос сортировал при открытии файла и оставалась возможность запуска макроса по нажатия функциональных кнопок. Если возможно это как то реализовать буду очень рад. Спасибо что откликнулись. |
|
верните в макрос обратно Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
|
|
Віталій Пользователь Сообщений: 9 |
Ігор Гончаренко, опять ругается, может я криворукий. Прикрепленные файлы
|
|
Ігор Гончаренко Пользователь Сообщений: 13133 |
#24 03.05.2022 20:12:18 модуль ЭтаКнига напишите так:
и ничего более Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
||
|
Віталій Пользователь Сообщений: 9 |
Ігор Гончаренко, |
|
Ігор Гончаренко Пользователь Сообщений: 13133 |
#26 03.05.2022 21:18:26 ваши слова формируют мой рейтинг) Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |