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

Страницы: 1 2 3 4 След.
Формирование формулы в 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}
Но не сработало


Спасибо.
Как узнать key текущего item при просмотре коллекции?
 
Евгений Смирнов, совершенно верно. Именно поэтому я смотрел сначала в сторону коллекции. Но для моей задачи двумерный массив подошел лучше.  
Как узнать key текущего item при просмотре коллекции?
 
Евгений Смирнов, можете подсказать как? Я не работал со словарями
Как узнать key текущего item при просмотре коллекции?
 
БМВ, по определению в статье про метод Add объекта Collection: key - Необязательный параметр. Уникальное строковое выражение, задающее строку ключа, которая может использоваться вместо индекса позиции для доступа к элементу коллекции.
У меня это номер строки.
А пример,близкий к реальному
Две таблицы
1 таблица имеет группировку строк
Яблоко
    красное
    зелёное
    жёлтое
2 таблица без группировки, где в списке есть
Яблоко красное
Зелёное яблоко
Яблоко большое жёлтое
Ну и с ценой
Вот и хочу эту цену из второй таблицы притянуть в первую
Изменено: syt navy - 20.11.2023 20:55:57
Как узнать key текущего item при просмотре коллекции?
 
А в чем разница? Неужели в словаре я могу узнать ключ по значению элемента?
Как узнать key текущего item при просмотре коллекции?
 
Обидно. Будем пробовать через двумерные массивы
Как узнать key текущего item при просмотре коллекции?
 
Ключ есть однозначно. Условие заполнения коллекции такое. Конкретно - это номер строки, на которой нашлось подходящее значение, помещенное в item
Как узнать key текущего item при просмотре коллекции?
 
Доброе время суток!

Как можно вернуть значение key про просмотре коллекции в цикле
For Each Item in Collection...Next?

В теле цикла есть условие, которому должно удовлетворять значение Item. Если оно выполняется, хотелось бы знать, какой ключ
Цикл For Each проблема со второй строкой
 
Цитата
написал:
А Cells нужно указать чьё
Точно. Спасибо. Именно этого и не хватало
Цикл For Each проблема со второй строкой
 
Цитата
написал:
макрос не знает для чего он задуман, поэтому работает так, как написан, а не так, как был задуман
Скрытый текст

Вот так он был написан. И уже с первого оборота цикла oRow начинает принадлежать oPageTotal.  
Цикл For Each проблема со второй строкой
 
Цитата
написал:
Рад что уже разобрались.
Не совсем. Пока непонятно, с чего вдруг меняется ссылка. А модуль, который лежит в разделе "Modules" данной книги и называется "Module 1" )). Там я и пишу свою процедуру.
Цикл For Each проблема со второй строкой
 
Цитата
написал:
Где расположили код?
В модуле данной книги.
Цитата
написал:
посмотрите чему равно Cells(oRow.Row, 1).Parent.Name (совпадает с МодельИсходная или нет))
Нет. Ссылается на другой лист. Спасибо за подсказку
Цикл For Each проблема со второй строкой
 
Добрый день!

Определяю переменные:
Скрытый текст
Пишу цикл:
Скрытый текст
И на второй строке цикл завершается, хотя точно известно, что строк там 3200, и ни одного пропуска, все заполнены.

В чём может быть проблема?
Страницы: 1 2 3 4 След.
Наверх