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

Страницы: 1 2 След.
Формирование формулы в VBA. Не подставляется результат
 
Добрый день!
В коде формируется формула и подставляется в ячейку
Скрытый текст
Формула формируется как строка, но в ячейку не вставляется. Сообщений не выводится
vba Как обратится к листу, чье имя - это значение ячейки?
 
Добрый день!
Возможно, вопрос элементарный, но пока не нашел ответа на него. Суть проблемы:
В книге есть листы. На первом листе есть нумерованный список людей. Остальные листы поименованы согласно нумерации в списке. Т.е. лист с названием "1", "2" и т.д. Названия листов не соответствуют индексам этих листов. Мне надо присвоить переменной типа Worksheet лист с соответствующим именем.
Например: в таблице есть Иванов Иван Иванович под номером 4. Значит, переменной присваивается значение .Worksheet("4")
VBA: Строку преобразовать в адрес объекта
 
Добрый день!

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

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

Ругается, что требуется объект.
Как преобразовать строку Adr в объект?
Проблема деления 100 на 3 с точностью до второго знака
 
Добрый день!
Присваиваю переменной значение в ячейке в формате "0.00", тип переменной Double
Затем в цикле двум переменным присваиваю значение первой переменной, деленное на 3 в формате "0.00"
Из первой переменной вычитаю сумму двух последующих.
В результате имею вместо
33.34
33.33
33.33
другой результат:
34.00
33.00
33.00
Где собака порылась?
Заполнение массива явным образом
 
Доброе время суток!
Возникла потребность объявить массив и заполнить его сразу значениями. Лучше всего сразу одним действием. Например перечислить значения в строку с разделителем. Есть ли такая возможность или надо объявлять, а потом заполнять по элементам?
В инете видел пример с фигурными скобками типа
Dim aMas = New Integer() {1,2,3,4}
Но не сработало


Спасибо.
Как узнать key текущего item при просмотре коллекции?
 
Доброе время суток!

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

В теле цикла есть условие, которому должно удовлетворять значение Item. Если оно выполняется, хотелось бы знать, какой ключ
Цикл For Each проблема со второй строкой
 
Добрый день!

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

В чём может быть проблема?
нумерация строк в DataBodyRange. Помогите с ликбезом
 
Добрый день!

В цикле For Each oRow in oTab.DataBodyRange.Rows первое значение oRow.Row = 2.
Вопрос: почему не 1?
При этом, если взять таблицу oTab например такого типа
Заголовок
1
2
...
то значение DataBodyRange.Cells(oRow.Row,1) будет 2, а не 1. Почему пропускается первая строка?

Спасибо
Удаление файлов из Excel
 
Доброе время суток.
Хочу удалить временные файлы. Из первой папки удаляется свободно. Из второй не удаляется вообще. Файлы для работы не задействованы. Руками в это время удаляются без проблем. Никаких специальных аттрибутов у этих файлов нет.
Код
Sub del_files()
Dim sFolder As String, sFiles As String
    sFiles = Dir("C:\Users\*******\Documents\unpack\" & "*")
    'цикл по всем файлам в папке
    On Error Resume Next
    Do While sFiles <> ""
        If sFiles <> "lotout.txt" Then
            'удаляем файл
            Kill sFiles
            'на всякий случай передаем управление системе,
            'чтобы дождаться удаления
            DoEvents
        End If
        'получаем имя следующего файла в папке
        sFiles = Dir
    Loop
    sFiles = Dir()
    sFiles = Dir("C:\Users\*******\Documents\Backups\" & "*")
    On Error Resume Next
    Do While sFiles <> ""
        Kill sFiles
        RmDir sFiles
        DoEvents
        sFiles = Dir
    Loop
End Sub


Спасибо
Изменено: syt navy - 18.11.2021 10:30:27
Объяснение работы цикла Do/Loop с условиями
 
Код
    Do While DateBgn = DateEnd
        DateBgn = DateBgn + i
        strFldr = Year(DateBgn) & OneInTwo(Month(DateBgn)) & OneInTwo(Day(DateBgn))
        colFolder.Add strFldr
        i = i + 1
    Loop
Добрый день!

Нужна помощь. Никак не получается составить условный цикл. Либо не выполняется, либо переполнение. Требуется свежий взгляд на проблему.
DateBgn и DateEnd формат Date, i - integer
VBA обращение к выделенным ячейкам
 
Доброе время суток!
Задача: по нажатию кнопки данные выделенных ячеек должны быть перенесены в нужную таблицу
Вопрос: как правильно обратиться к выделенным ячейкам?
Определяю объектом активную книгу
Код
Set oLO = ActiveWorkbook

Пытаюсь определить выделенные ячейки на листе "lotout"
Код
oLO.Worksheets("lotout").Selection <Object doesn&#39;t support this property or method>
oLO.Worksheets("lotout").Range.Selection <Wrong number of arguments or invalid property assignment>


За подсказку спасибо!
Умные таблицы - связь разных книг.
 
Добрый день!
Есть файлы данных, есть сводный файл. Везде используются умные таблицы. При открывании сводного файла если файлы-источники открыты, то ссылки обновляются. Если файлы закрыты, выдаётся запрос на обновление ссылок. При согласии открывается файл с ошибкой #ССЫЛКА. Если после этого файлы -источники открыть, то также происходит обновление, и ошибка пропадает.
Вопрос: как этого можно избежать штатными средствами эксель, не используя VBA?
Обновить значения в HPageBreaks
 
Добрый день!

Как можно обновить положения разрывов в HPageBreaks? Я определяю положение первого разрыва, затем вставляю строки. Положение второго разрыва изменится, а если посмотреть HPageBreaks(2).Location.Row, то значение остаётся прежним. Есть способ переопределить положение разрывов?
Программно отследить ошибку #ДЕЛ/0
 
Из БД создаётся таблица, где, если значений нет, ставится 0. Далее, я макросом группирую её, в качестве промежуточных итогов используя среднее значение. Посколько мне требуется среднее только ненулевых значений, я запускаю цикл с проверкой If Cells( i , 6 ) = 0 Then Cells( i , 6 ) = Empty. Если в подгруппе все значения оказываются равными 0, то после очистки ячеек формула ПРОМЕЖУТОЧНЫЕ.ИТОГИ(1;[диапазон]) возвращает значение #ДЕЛ/0! Цикл доходит до ячейки с формулой, останавливается на строке с проверкой, и выдаётся сообщение "Type mismatch"
Как программно отследить, возвращает ли формула значение или ошибку, чтобы в случае ошибку просто очистить ячейку?
Ошибка Overflow при вычислении процента и отображении его в статусе
 
Скрытый текст

Добрый день!
Скрытый текст
i и iLr имеют тип Integer, intPrc сначала тоже сделал Integer, потом менял на Current и  Double
iLr имеет значение 618
При i = 328, и соответственно при intPrc = 53,07443365695793 выскакивает ошибка Overflow (error 6)


Кто может подсказать, в чём проблема?
Небольшой вопрос про элементы ActiveX
 
Добрый день!
Подскажите, пожалуйста, если на разные листы я добавляю элемент ActiveX TextBox, то возможно ли использование одного и того же имени (например TextBox1)?
Ведь при обращении к нему я указываю сначала лист
Сравнение числа со множеством
 
Добрый день!

Есть несколько чисел: 5,7,10,14,16 и т.д, Есть ли возможность записать условие IF THEN,, где значение сравнивается с данным множеством?
Хотелось бы избежать повторения OR.
Изменено: syt navy - 04.12.2018 14:02:00
Сортировка "умной" таблицы макросом
 
Добрый день!

Сделал запись макроса при сортировке таблицы. И получил следующее

Скрытый текст

Вставил в свой код в следующем виде
Скрытый текст

И получил ошибку "Type mismatch" на выделенной строке. Таблица одна и та же. Данные одни и те же.
VBA удаление строк таблиц в другой книге
 
Добрый день!
Скрытый текст
Obt - "умные" таблицы на разных вкладках в другой книге (excel 2010). Данная подпрограмма вызывается через CALL. На строке удаления выдаётся ошибка "object doesn t support this property or method"
Изменено: syt navy - 29.10.2018 10:21:43
Заполнение массива, поиск и замене значений
 
Добрый день!
имею массив из 9 элементов, заполняющихся данными с таблицы excel. Необходимо проверить, есть ли в массиве значение, равное проверяемому числу (в примере это ch=1). Если есть, то всем элементам, имеющим значение, равное 0, надо присвоить значение -1.
В примере две попытки реализовать макрос, но присвоения значения -1 не происходит. В чем моя ошибка? Спасибо
Окно открывается и тут же становится скрытым
 
Доброе время суток! Открываю файл с помощью макроса. Оно открывается и тут же становится скрытым. Если открыто, то нормально становится активным.
Скрытый текст
Помощь с кодом. Не подставляет данные из таблицы в форму.
 
Добрый день! Есть такой код:
Код
Private Sub tbObject_change()
Dim lastRow As Integer, i As Integer

lastRow = Worksheets("Ведомость").UsedRange.Rows.Count
ObjectName = cbxObject.Value & "-" & tbObject.Value

For i = 3 To lastRow
    If Cells(i, 1).Value = ObjectName Then
        cbxFBuks.Value = Cells(i, 2).Value
         Exit Sub
    Else
        cbxFBuks.Value = Empty
    End If
    i = i + 1
Next i

End Sub



Проблема в том, что если  ObjectName совпадает с первым значением в таблице, всё работает. С остальными нет. Не могу найти ошибку.  ObjectName определена как String.
Спасибо
Сравнение значения в Combobox со значениями в столбце
 
Добрый день!
Идея такова. Есть таблица в два столбца: код и наименование. В combobox выбирается или вписывается значение. Если значение присутствует в таблице, то label.caption присваивается значение соответствующей строки из второго столбца. Иначе активируется textbox для ввода нового наименования, которое затем вставляется вниз таблицы. Проблема возникла в сравнении значений из combobox и первого столбца таблицы.
Буду признателен любой помощи, хоть в виде кода, хоть в виде правильного запроса для поисковой системы.
Изменяемый диапазон Range
 
Прошу прощения за вопрос. Как правильно указать диапазон Range в данном случае?
k=4
While Cells(k, 1).Value <> ""
k = k + 1
Wend
ActiveSheet.ListObjects("2013" ) .Resize Range(Cells(4,1):cells(k,16))
Помощь с условием в СУММЕСЛИМН
 
Доброе время суток. Есть таблица, где первый столбик-дата в формате ДД/ММ, второй столбик-номера смен и итог. Итог подводится общей чертой в конце каждого дня. Задача: суммировать все итоги за месяц. Как указать условие, избегая появления дополнительных столбцов
Вопрос по подстановке данных из TextBox в формулу для расчёта
 
Определяю переменную Ag1как  Double

Dim Ag1 As Double

Пытаюсь присвоить переменной Ag1 значение, вводимое в textbox tbAg1Pr

Set Ag1 = Val(tbAg1Pr.Value)

чтобы потом эту переменную использовать в формуле

Cells(i, 7).Value = 5.845 * Ag1

При запуске макроса пишет "Object required" и выделяет Val
При попытке использовать напрямую значение tbAg1Pr

Cells(i, 7).Value = 5.845 * tbAg1P.Value

выдаёт "Type mismatch"

Подскажите. пожалуйста, в чём ошибка?
Как покрасить ячейку в один из цветов списка
 
Доброе время суток!  
Как можно покрасить ячейку в один из цветов картотеки цветов при выборе названия цвета? Пример в файле
Группировка и защита листа
 
Подскажите пожалуйста как можно защитить лист от изменений данных, и при этом оставить возможность пользоваться группировкой?  
Спасибо
Не показывать сообщение при удалении листа
 
Подскажите пожалуста, как сделать так, чтобы при удалении листа в результате выполнения макроса не выскакивало сообщение "В листах, выбранных для удаления, могут существовать данные. Чтобы удалить данные, нажмите кнопку "Удалить". "?  
Спасибо
Изменение региональных стандартов
 
Пожалуйста, подскажите, какой код позволяет менять региональные стандарты в VBA? Конкретно мне нужно изменение разделителя дроби, чтобы всё в программе было однотипно (например точка- 5.0)
Страницы: 1 2 След.
Наверх