Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 След.
Ошибка 91 "Object variable or With block variable not set", Возникает при явно определенных переменных
 
Спасибо. Ваши советы помогли выявить ошибку.
Вычисление формулы вызывало событие Worksheet_calculate. И вот там закралась ошибка.
Ошибка 91 "Object variable or With block variable not set", Возникает при явно определенных переменных
 
Цитата
написал:
не поможет?
Нет, не помогло
Ошибка 91 "Object variable or With block variable not set", Возникает при явно определенных переменных
 
Цитата
написал:
А после того, как найдете отличие, нужно уже и на код смотреть
Далее есть аналогичные вставки формул. И они срабатывают без ошибок. Только эти три строки стали камнем преткновения.
Самое интересное, что ошибка выскакивает не ДО выполнения операции, а ПОСЛЕ. И на следующий шаг не переходит. Что бы там не стояло. Вводил проверку на определение объектов типа IF NOT ..... IS NOTHING. Объекты существуют и определены.
Ошибка 91 "Object variable or With block variable not set", Возникает при явно определенных переменных
 
Я могу добавить сколько угодно колонок. Суть не изменится. Так понимаю, что помочь Вы не в состоянии, но изобразить активность хочется.  
Ошибка 91 "Object variable or With block variable not set", Возникает при явно определенных переменных
 
Цитата
написал:
Так и в файле проблем нет. Ошибка не воспроизводится
Ага. И в других местах кода аналогичные формулы вставляются без вопросов. И этот код на другой машине воспроизводится без ошибки. А вот в этом месте затык. В коде три однотипные строчки        
Код
WSh.ListObjects(1).DataBodyRange(2, 9).FormulaR1C1 = "=IF((RC[-2]-RC[-1])>0,(RC[-2]-RC[-1]),"""")
WSh.ListObjects(1).DataBodyRange(2, 10).FormulaR1C1 = "=IF(RC[-1]<>"""",RC[-1]*8,"""")"
WSh.ListObjects(1).DataBodyRange(2, 11).FormulaR1C1 = "=IFERROR(INDEX(KPI!R2C1:R5C2,MATCH([@[Категория заказа]],KPI!R2C1:R5C1,0),2)*[@[Сложность заказа]],0)"
Первая строчка ВЫПОЛНЯЕТСЯ, и уже после выскакивает данная ошибка.
Ошибка 91 "Object variable or With block variable not set", Возникает при явно определенных переменных
 
И это не проблема
Ошибка 91 "Object variable or With block variable not set", Возникает при явно определенных переменных
 
Не вопрос.
Ошибка 91 "Object variable or With block variable not set", Возникает при явно определенных переменных
 
Добрый день!

Есть строка ввода формулы.
Код
WSh.Cells(i, 9).FormulaR1C1 = "=IF((RC[-2]-RC[-1])>0,(RC[-2]-RC[-1]),"""")"
При работе кода формула вставляется, а затем выскакивает сообщение об ошибке (см. приложение)
На другой машине данный код срабатывает без проблем. Чуть ниже закомментированный кусок кода так же срабатывает без проблем.  
Синхронизация автофильтров
 
Спасибо
Синхронизация автофильтров
 
Принято. Спасибо. Вариант подходит
Изменено: syt navy - 29.08.2025 11:13:05
Синхронизация автофильтров
 
Т.е. присвоить значение Criteria я могу, а получить его нет?
Как тогда обойти это? Есть у кого какие идеи? Буду признателен
Синхронизация автофильтров
 
Добрый день!
Есть две таблицы на двух листах. Надо сделать, чтобы при применении фильтра в одной таблице аналогичный фильтр применился в другой. Затык в том, что фильтр по дате. Не могу получить данные первичного фильтра
Формирование формулы в VBA. Не подставляется результат
 
Sanja, спасибо. Учту
Формирование формулы в VBA. Не подставляется результат
 
Поправил формулу, и заработало.
Код
ShA.Cells(iRow - 2, iCol).FormulaR1C1 = "= R[4]C" & "*" & Replace(Sh.Cells(i,8).Value, ",", ".")
Изменено: Sanja - 02.06.2025 12:19:43
Формирование формулы в VBA. Не подставляется результат
 
Добрый день!
В коде формируется формула и подставляется в ячейку
Скрытый текст
Формула формируется как строка, но в ячейку не вставляется. Сообщений не выводится
vba Как обратится к листу, чье имя - это значение ячейки?
 
Всё в порядке. Вы правы. Работает
Достаточно было переменную в перевести в тип String.
Ваш вариант или через cstr  работают одинаково эффективно.
Изменено: syt navy - 03.04.2025 14:55:28
vba Как обратится к листу, чье имя - это значение ячейки?
 
Цитата
написал:
Так не?
Так не. Не работает
vba Как обратится к листу, чье имя - это значение ячейки?
 
придётся видимо перебором. Чьё имя листа совпадет с переменной, тот и будет
Изменено: syt navy - 03.04.2025 12:36:05
vba Как обратится к листу, чье имя - это значение ячейки?
 
Проблема в том, что я не могу явно указывать имя. Имя является переменной. Допустим ShName
Тогда я должен написать что-то вроде
Set WSh = ActiveWorkbook.Sheets(ShName)
Но это так не работает
Set WSh = ActiveWorkbook.Sheets[ShName] тоже ругается
vba Как обратится к листу, чье имя - это значение ячейки?
 
Dim WSh as Worksheet
Изменено: syt navy - 03.04.2025 11:48:39
vba Как обратится к листу, чье имя - это значение ячейки?
 
Добрый день!
Возможно, вопрос элементарный, но пока не нашел ответа на него. Суть проблемы:
В книге есть листы. На первом листе есть нумерованный список людей. Остальные листы поименованы согласно нумерации в списке. Т.е. лист с названием "1", "2" и т.д. Названия листов не соответствуют индексам этих листов. Мне надо присвоить переменной типа Worksheet лист с соответствующим именем.
Например: в таблице есть Иванов Иван Иванович под номером 4. Значит, переменной присваивается значение .Worksheet("4")
VBA: Строку преобразовать в адрес объекта
 
Спасибо!
VBA: Строку преобразовать в адрес объекта
 
Вот для примера
VBA: Строку преобразовать в адрес объекта
 
Добрый день!

Есть функция которая формирует строку
Скрытый текст

Есть строка в программе
Set oTab = Adr(oSh.cbxMat.Value)

Ругается, что требуется объект.
Как преобразовать строку Adr в объект?
Проблема деления 100 на 3 с точностью до второго знака
 
Спасибо. Не заметил
Проблема деления 100 на 3 с точностью до второго знака
 
Файл для примера.
Проблема деления 100 на 3 с точностью до второго знака
 
Добрый день!
Присваиваю переменной значение в ячейке в формате "0.00", тип переменной Double
Затем в цикле двум переменным присваиваю значение первой переменной, деленное на 3 в формате "0.00"
Из первой переменной вычитаю сумму двух последующих.
В результате имею вместо
33.34
33.33
33.33
другой результат:
34.00
33.00
33.00
Где собака порылась?
Размножить строки согласно числу в ячейке
 
Как формулами не подскажу
Код
Sub Кнопка1_Щелчок()
Dim sQSm As Integer, i As Integer, m As Integer
    
    m = 2
    With ActiveSheet
        For Each oRow In .Rows
            sKab = Empty
            sQSm = 0
            If Cells(oRow.Row, 1).Value = Empty Then Exit Sub
            If oRow.Row >= 2 Then
                sKab = .Cells(oRow.Row, 1).Value
                sQSm = .Cells(oRow.Row, 2).Value
                If sQSm > 0 Then
                    For i = 1 To sQSm
                        .Cells(m + i, 6).Value = sKab
                        .Cells(m + i, 7).Value = i
                    Next i
                End If
                m = m + sQSm
            End If
        Next
    End With
End Sub
Заполнение массива явным образом
 
Просто и изящно.
И сильно сократило код.
Спасибо
Заполнение массива явным образом
 
Доброе время суток!
Возникла потребность объявить массив и заполнить его сразу значениями. Лучше всего сразу одним действием. Например перечислить значения в строку с разделителем. Есть ли такая возможность или надо объявлять, а потом заполнять по элементам?
В инете видел пример с фигурными скобками типа
Dim aMas = New Integer() {1,2,3,4}
Но не сработало


Спасибо.
Страницы: 1 2 3 4 5 След.
Наверх