testuser, Большое спасибо! Всё получилось.
Нужна консультация по среде MS Visual Basic 6.0, обноление exe файла
Нужна консультация по среде MS Visual Basic 6.0, обноление exe файла
05.02.2024 15:50:49
testuser, спасибо, но не получается.
Подключил библиотеку Microsoft Vesual Basic 6.0 Extensibility. Также пожключена библиотека Microsoft Office 16.0 Object Library Старая ошибка ушла. Теперь выдает "user-defined type not defined". В начале кода есть строка, она выделяется после сообщения об ошибке. Какую ещё библиотеку нужно подключить? Макрос связан с созданием XML файла. Библиотеку Microsoft XML тоже пробовал подключать.
Изменено: |
|||
|
Нужна консультация по среде MS Visual Basic 6.0, обноление exe файла
05.02.2024 14:34:17
Добрый день.
Нужна консультация по среде программирования MS Visual Basic 6.0. Макрос написан в ней. В папке лежат файлы с кодом (расширением bas), с интерфейсом (расширение frm). Есть один файл c расширением vbp, при запуске которго можно видеть и код, и интерфейс. Сам макрос запускается файлом с расширением exe. В код были внесены изменения. Как правильно нужно обновить файл exe, чтобы макрос работал по новому коду? Пытаюсь делать через File - > Make *название файла*.exe. Выдает ошибку "Can't find project or library"
Изменено: |
|
|
Цикл For-Next работает, а For Each - нет, ошибка Type mismatch
Цикл For-Next работает, а For Each - нет, ошибка Type mismatch
06.10.2023 17:00:44
Добрый день! Подскажите, пожалуйста.
Необходимо в книге Excel найти лист с определнным именем и "убить" на нем все формулы. Реализовано через цикл For-Next, который нормально работает.
Хочу реализовать задачу более компактным образом, через For-Each. Не работает, выдает ошибку Type mismatch. Почему это происходит?
Вот так тоже аналогичная ошибка
Изменено: |
|||||||
|
VBA - Поиск номеров строк и столбцов по содержимому ячейки, Наиболее грамотное и изящное решение
01.05.2023 19:09:01
У всех переменных тип Variant
Правда, полностью работоспособен код только в таком виде. И когда искомого нет, то действия далее происходят, и когда есть, делается нужная замена. Через If Not Is Nothing никак. Выдает ошибки.
Изменено: |
|||||||||
|
VBA - Поиск номеров строк и столбцов по содержимому ячейки, Наиболее грамотное и изящное решение
VBA - Поиск номеров строк и столбцов по содержимому ячейки, Наиболее грамотное и изящное решение
VBA - Поиск номеров строк и столбцов по содержимому ячейки, Наиболее грамотное и изящное решение
29.04.2023 22:19:06
Доброго времени суток!
Я только начинаю погружаться в VBA, сейчас пишу второй в жизни макрос после дипломного. Подскажите, пожалуйста, один момент. В самом начале алгоритма для решения моей задачи необходимо выявить номера строк и столбцов областей, на которые я буду цеплять данные и формировать сводные таблицы. Делаю это с помощью циклов For Next, как нас учили. Всё работает нормально. Но может есть более изящное и грамотное решение с точки зрения технологии программирования? Например через цикл For Each, (не очень хорошо понимаю, как он работает, если нужно записать в переменные номера строк и столбцов найденных значений). Или может вообще это можно сделать без цикла, стандартной функцией? Для определения первой и последней строки фрагмента таблицы, с которым в дальнейшей будете работать, вы бы использовали нижеприведенный код или что-то другое? Особенное если хотелось бы сделать его более универсальным, без прописывания количества итераций. Private использован потому что у меня в модуле несколько процедур.
ShRowFot - ранее определённый аналогичным методом номер строки, в которой находится шапка.
И не подскажете ли хорошую книгу по VBA для начинающих, где доступным языком будет прописана лексика различных команд и будет большой перечень причин стандартных ошибок (когда выводится системное сообщение).
Изменено: |
|||||
|
Особенности ссылок на книгу с макросом в VBA, проблемы с VLOOKUP ошибка 1004 Application-defined or object-defined errror
26.04.2023 16:21:38
|
|||||||
|
Особенности ссылок на книгу с макросом в VBA, проблемы с VLOOKUP ошибка 1004 Application-defined or object-defined errror
26.04.2023 16:10:35
Добрый день! Снова вынужден обратиться за помощью.
Я сделал макрос, который делает суммирование статей начисления заработной платы по определённым признакам, в указанным в справочнике. Фрагмент кода, где на выгрузку с начислениями подтягиваются данные их Справочника (внешнего файла) . fRow1, fRow2, ColEnd - переменные для диапазонов вставки данных формулы. List1 - переменная для листа в книге с отчетом, который нужно обработать. Переменную для листа Спр1 не объявляю, он нужен только один раз, ссылаюсь прямо на него в формуле. В этом случае все работает идеально.
Для оптимизации и удобства добавил справочную таблицу в тот же файл, где содержится макрос (Свод_начисления-удержания_2.0.xlsm), Меняю код на... Выдает ошибку 1004 Application-defined or object-defined errror. В чем может быть причина? Есть какие-то особенности при использовании ссылок на книгу, где содержится макрос?
|
|||||
|
СУММЕСЛИМН в VBA, не могу понять, в чем ошибка
22.04.2023 11:10:15
|
|||||
|
СУММЕСЛИМН в VBA, не могу понять, в чем ошибка
21.04.2023 18:56:53
Изменено: |
|||||
|
СУММЕСЛИМН в VBA, не могу понять, в чем ошибка
СУММЕСЛИМН в VBA, не могу понять, в чем ошибка
СУММЕСЛИМН в VBA, не могу понять, в чем ошибка
21.04.2023 16:12:00
Добрый день. Помогите, пожалуйста, целый день провозился, не могу понять, в чем дело.
Необходимо в ячейке сделать расчет аналогичный формуле СУММЕСЛИМН. Ниже приведен фрагмент кода. Все переменные объявлены и инициированы (проверял командой Debug.Print). При выполнении кода на данной сроке выдается ошибка 424 Object required. В чем может быть причина? Пробовал вместо переменных проставить фиксированные координаты ячеек. Не помогает. ColEnd - это последний столбец таблицы fRow1 + 1 - с какой строки начинаем брать данные для суммирования и условия fRow2 - 1 - на какой строке заканчиваем 7 - условие для суммирования. Пробовал его указывать без кавычек и как "=7". Не помогло Range(Cells(fRow1 + 1, ColEnd), Cells(fRow2 - 1, ColEnd))) - диапазон чисел, которые будут просуммированы Range(Cells(fRow1 + 1, ColEnd + 1), Cells(fRow2 - 1, ColEnd + 1)) - диапазон условий 7 - значение в диапазоне условий, которые нужно просуммировать. И как к этой формуле сразу прицепить деление на 1000 с округлением до 1-го знака?
|
|||
|
Записать в переменную окончание имени файла
16.08.2022 18:52:35
Добрый день. Подскажите, пожалуйста, никак не могу сообразить.
Есть набор файлов типа БУ__Отчет_о_детализации_затраты после закрытия_субъект_1 кв. 2022.xls БУ__Отчет_о_детализации_затраты после закрытия_субъект_6 мес. 2022.xls БУ__Отчет_о_детализации_затраты до закрытия_департамент_год 2022.xls Необходим универсальный код, который бы записывал в переменную "хвост" этого файла. Т.е. нужно выцепить всё, что между последним "_" и точкой перед расширением. - 1 кв. 2022, 6 мес. 2022, 12 мес. 2022 Как это можно сделать?
Изменено: |
|
|
Прекращение всех процедур в модуле VBA
Прекращение всех процедур в модуле VBA
12.08.2022 14:53:03
Добрый день! Подскажите, пожалуйста, одну вещь.
Есть макрос, который разбит на три процедуры. Процедуры запускаются отдельной процедурой: Sub Start() Call Proc1 Call Proc2 Call Proc3 End Sub В середине Второй процедуры провожу проверку наличия на листе ошибки #Н/Д. При обнаружении - процедура прекращается. Код там такой: Set ND = IzbrSvod.Range(Cells(2, ColEnd + 1), Cells(RowEnd ColEnd + 5)).Find("#N/A", , xlValues, xlPart) If ND Is Nothing Then Else MsgBox "Отсутствуют необходимые значения. Программа будет прекращена", vbExclamation, "Внимание!" Exit Sub End If Всё работает нормально, если запускать отдельно процедуру. Если же запускать макрос целиком, то при наличии ошибки далее пойдет выполнение Третьей процедуры. Как прекратить все процедуры в модуле при наступлении условия ND? |
|
|
Деление столбца данных в VBA с округлением
05.08.2022 20:43:38
Добрый день. Подскажите, пожалуйста, одну вещь.
Есть таблица с количеством столбцов ColEndSTsub и строк RowEndSTsub. Необходимо справа от таблицы вставить данные из последнего столбца, поделенные на 1000 и округленные до 3 знака. Вот этот метод работает нормально: Sheets("Итоги_Субъекты").Range(Cells(2, ColEndSTsub + 1), Cells(RowEndSTsub, ColEndSTsub + 1)).Value = "=ROUND(RC[-1]/1000,3) Но если я хочу сразу вставить значения, то как это сделать? Можно ли как-то применить WorksheetFunction, чтобы столбец сразу заполнились значениями, без формул?
Изменено: |
|
|
ВПР в VBA для всего столбца
03.08.2022 18:04:13
|
|||||
|
ВПР в VBA для всего столбца
03.08.2022 17:23:27
Добрый день!
Только начинаю изучать VBA. Подскажите, пожалуйста, один момент, никак не могу найти решение. Требуется прицепить справа от таблицы на листе IzbrSvod с числом столбцов ColEndIzbr и строк RowEndRpt некоторые данные из справочника, лист SpravSubj. То есть применить некий аналог ВПР. Всего там будет семь дополнительных столбцов. Вот команда для одной из них. IzbrSvod.Cells(2, ColEndIzbr + 1).Value = WorksheetFunction.VLookup(IzbrSvod.Cells(2, ColEndIzbr - 3), SpravSubj.Range("A:F"), 4, False) Всё работает отлично, но для одной ячейки. Как заполнить данные до самой последней строки таблицы? Может можно как-то изменить эту команду или добавить дополнительную? Или же придется задавать семь циклов? |
|
|
Книги по VBA, посоветуйте литературу
Копирование данных из диапазона через постоянный интервал
Копирование данных из диапазона через постоянный интервал
04.10.2021 19:40:33
Здравствуйте, подскажите пожалуйста. Во вложении - пример задачи. Необходимо из некой мало упорядоченной таблицы слева получить четкую таблицу с данными в правой части. То есть - скопировать данные с интервалом в 4 строки. Пробовал формулы СМЕЩ и ИНДЕКС (СТРОКА). По одиночке данные переносятся, но добиться сохранения работоспособности формулы при протягивании никак не получается. В чём здесь секрет?
|
|
|
Странный стиль ссылок на ячейки
Странный стиль ссылок на ячейки
Странный стиль ссылок на ячейки
23.01.2021 16:45:06
Из служебной программы выгрузился файл, где в качестве адреса ячеек отображается что-то типа =XDO_?SUM_LINE_01? или =XDO_?LINE_01_EMP_CATEGORY_WOKER?. С этим файлом нужно поработать (расставить и протянуть формулы и т.п.), но не получается.
Что это такое и как вернуть нормальные координаты типа F23, A12 и т..п.? |
|
|
Экспорт в XML. Неактивен пункт "Экспорт" на вкладке Разработчик
Формула для вычитания двух ячеек, в которых возможен текст