Поиск
Автор: stalkerexe. Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Target.Column = 1 And Target.Row > 1 And Not IsEmpty(Target.Value) And Target.Offset(0, 1).Value = "" Then _
Target.Offset(0, 1).Value = Format(Date, "yymm") + (Application.Max(Range("B2:B100")) + 1)
End Sub
При добавлении числа в ячейку рядом автоматически формируется номер, состоящий из части даты ГГММ плюс 4-х значный номер.
Нужно чтобы при ...
Изменен: 08.02.2024
Читать сообщение на форуме или сайте.Автор: Dmitriy Suchkov. Прошу помощи коллег поопытнее )
Вобщем, файл прилагаю.
Смысл в следующем:
1. Выбираем любую ячейку в первом столбце на листе "Перечень КП"
2. Открывается UserForm
3. Заполняем её
4. Загвоздка в Private Sub TextBox1_Enter():
Здесь в четвертый столбец падает путь к папке (тут всё ОК) и еще есть цель открыть файл, чтобы оттуда забрать некоторые данные и потом его закрыть.
Файл выбирается по ключевым первым буквам имени файла (КП), если папку указать ...
Изменен: 19.11.2023
Читать сообщение на форуме или сайте.Автор: AmarilloSlim. Здравствуйте, написал маленькую процедуру, которая в выбранном пользователем рейндже ищет заданный пользователем цвет и выдает значение определенной ячейки по соответствию этому цвету.
В принципе все работает, корректно, кроме того, что нужно постоянно вводить заново рейндж при каждом новом поиске цвета.
Можно конечно, захардкодить рейндж, но я хочу сделать программу более пластичной в случае если со временем диапазон данных разрастется.
Как сделать так, что бы инпутбокс на ...
Изменен: 18.09.2023
Читать сообщение на форуме или сайте.Автор: lists2. Добрый день! Изначальная задача состоит в том, чтобы Эксель красил красным значения больше чем три минуты 00:03:00. Вопрос на данный момент такой: нужно формат 00:00:00 превратить в формат 0:00:00 сразу для всех ячеек столбца.
Сейчас, для решения изначальной задачи форматирования я использую формулу =ЕСЛИ(L2>ВРЕМЯ(0;3;0);"КРАСНОЕ";"БЕЛОЕ"). Но данные я ввожу не в ручную, поэтому они отображаются в ...
Изменен: 16.08.2023
Читать сообщение на форуме или сайте.Автор: Виталий Б. Здравствуйте, Хочу сделать чтобы после отработки макроса автоматически переходило на определенную вкладку на ленте Excel, с помощью vba, есть способ? (пользовательскую, например "ТТЗ/САЗ_4/СУР").
Поделитесь пожалуйста кодом :)
Изменен: 13.01.2023
Читать сообщение на форуме или сайте.Автор: Сергей Тихомиров. Здравствуйте, есть макрос копирования картинок по критерию и централизация картинок в ячейке, который работает, но чем больше строк тем больше нагрузка, соответственно медленнее и тд. Вопрос: Есть ли вариант упрощения или улучшение данного макроса? Подобных строк, как в файле, 300+Sub Вставка2()
Dim i&, r As Range, shp As Shape
For i = 4 To 393
Set r = Sheets(2).Cells.Find(Cells(i, 3).Value, LookAt:=xlWhole)
For Each shp In Sheets(2).Shapes
If shp.TopLeftCell.Address = r ...
Изменен: 25.08.2022
Читать сообщение на форуме или сайте.Автор: Степан Ульянов. Добрый день!
Помогите пожалуйста скорректировать макрос:
По выбранным файлам раскидывает по листам с соответственными наименованиями
Как изменить на копирование значением txt один под другим на активный лист с добавлением столца = наименование файла?
Sub собрать()
Dim FilesToOpen
Dim x As Integer
Application.ScreenUpdating = False
'отключаем обновление экрана для скорости
'вызываем диалог выбора файлов для импорта
FilesToOpen = Application.GetOpenFilename _
(FileFilter:=& ...
Изменен: 29.07.2022
Читать сообщение на форуме или сайте.Автор: user06. Доброго времени суток,
Собственно суть проблемы описана в названии темы.
Не подтягиваются данные из листа с готовыми заполненными данными на userform.
В excel файле на userform в первой части выбирается какое-либо значение, на основе выбранного значения в первой части фильтруются значения во второй части.
И по идее на основе выбранного какого-либо значения во второй части должны подставляться значения в третью часть на userform. Но этого не происходит, и не могу понять почему.
...
Изменен: 04.04.2022
Читать сообщение на форуме или сайте.Автор: Игорь Песоцкий. Добрый день!
Задача макроса: вставлять n-ое кол-во строк (задается Inputbox) перед именным диапазоном.
Проблема: при повторном запуске (редко и в первый раз) выдает ошибку "Method 'Insert' of object 'Range' failed error".
Отмечает строчки (либо-либо):
wsWorkSheet.Range("Прочие").EntireRow.Insert
rngMyCell.Offset(2, 0).EntireRow.Insert
Вопрос: почему так происходит и как устранить.
Sub Файл_1()
Dim wsWorkSheet As ...
Изменен: 13.11.2021
Читать сообщение на форуме или сайте.Автор: Стиви Зас. Доброго времени суток!
Есть код VBA, который копирует выбранные столбцы по их названию в рабочий файл, но проблема в том, что копирует только из одной книги. Необходимо, чтобы макрос копировал выбранные столбцы из двух книг в лист рабочего файла. К примеру, из первого файла столбцы должны располагаться в диапазоне А1:P1, а из второго T1:AI1, с выводом названия файла без расширения для идентификации. Долго бодаюсь с проблемой, никак не могу найти решение. Подскажите, как можно ...
Изменен: 09.11.2021
Читать сообщение на форуме или сайте.Автор: Стиви Засранкин. Доброго времени суток!
Есть код VBA, который копирует выбранные столбцы по их названию в рабочий файл, но проблема в том, что копирует только из одной книги. Необходимо, чтобы макрос копировал выбранные столбцы из двух книг в лист рабочего файла. К примеру, из первого файла столбцы должны располагаться в диапазоне А1:P1, а из второго T1:AI1, с выводом названия файла без расширения для идентификации. Долго бодаюсь с проблемой, никак не могу найти решение. Подскажите, как ...
Изменен: 09.11.2021
Читать сообщение на форуме или сайте.Автор: Сергей Килин. Написал формулу на VBA - суммирование значений в зависимости от цвета текста
Public Function SumByColor(pRange1 As Range, CodeColor As Double) As Double
Application.Volatile
Dim rng As Range
Dim xTotal As Double
xTotal = 0
For Each rng In pRange1
If rng.Font.Color = CodeColor Then
xTotal = xTotal + rng.Value
End If
Next
SumByColor = xTotal
End Function
Формула работает в момент когда, меняются значения или вставки в ячейку. Значения записаны в 4 столбцах
Попробовал Private ...
Изменен: 08.10.2021
Читать сообщение на форуме или сайте.Автор: роман иванов. Добрый день!
Есть следующая ситуация:
книга эксель с некоторым количеством листов. на каждом листе несколько (пока 8, но возможно будет больше, и, возможно, не на всех листах одинаковое количество) диаграмм, на каждой диаграмме несколько рядов (количество рядов не одинаковое для всех диаграмм), все ряды ссылаются на диапазоны одинаковой длины, (но разных столбцов)
Необходим макрос, который будет протягивать эти диапазоны до указанной строчки (указывать через inputBox).
Для ...
Изменен: 12.09.2021
Читать сообщение на форуме или сайте.Автор: роман иванов. Добрый день!
Есть следующая ситуация:
книга эксель в с некоторым количеством листов. на каждом листе несколько (пока 8, но возможно будет больше) диаграмм, на каждой диаграмме несколько рядов.
Нужен макрос, для задания максимума границы оси X (в формате даты, через inputBox) на всех диаграммах ПОЧТИ всех листов.
С возможностью добавлять листы - исключения, на которых не нужно изменять ось (исключения прописать уже в теле макроса без imputBox, так как они не будут часто ...
Изменен: 12.09.2021
Читать сообщение на форуме или сайте.Автор: aroz. Добрый день, искал в интернете подобное, но всё не то, возможно даже не знаю как правильно формулировать вопрос
Есть папка с файлами excel, ~10.000 файлов, в каждом по 150 строк, в строках повторяются названия - для каждого своя сумма, нужно сделать, чтобы повторений не было и каждую сумму сложить в единую, на словах ничего не понятно, поэтому делаю пример и прикладываю файл с примером (1 лист - исходная база, 2 лист - то, что должно получится)
Исходная база:ДатаДокДатаСостНаим№ ...
Изменен: 20.07.2021
Читать сообщение на форуме или сайте.Автор: Евгений Женькин. Здравствуйте, помогите упростить макрос. Нужно зациклить или повторить макрос, чтобы на каждом листе заменялись данные с определенной строки листа "данных".
Выглядит макрос так: Sub Замена()
Sheets("99 (2)").Select
Cells.Replace What:="99", Replacement:="2", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Sheets("99 (3)").Select
Cells.Replace ...
Изменен: 13.07.2021
Читать сообщение на форуме или сайте.Автор: Павел Шерстнев. Доброго всем вечера. Столкнулся с необходимостью показа эскиза картинки из ячейки. Например при нажатии кнопки из юзерформ1 открыть юзерформ2 и подгрузить в нее картинку из определенной ячейки. Пока только мысли о сохранении этой картинки в определенную папку и уже от туда по конкретному адресу её открытие. (можно и через программу по умолчанию). Можно ли обратиться к картинке в ячейке напрямую?
Изменен: 07.03.2021
Читать сообщение на форуме или сайте.Автор: Yehor Movchan. Надо на один и тот же макрос назначить несколько сочетаний клавиш. Каким образом это сделать?
Изменен: 28.10.2020
Читать сообщение на форуме или сайте.Автор: Yehor Movchan. У меня есть к примеру какое-то значение в ячейке А1 (пусть это значение будет "Лист10"), надо сделать кнопку при нажатии на которую "Лист10" стал активным.
Изменен: 26.10.2020
Читать сообщение на форуме или сайте.Автор: Sniaper. В файле 3 модуля. Первый - функция, выполняющая вставку модуля № 3 в новый файл, второй - выполняет копирование листа и запускает функцию.
У меня не получается скопированный модуль засунуть в новый файл в "ЭтаКнига", вместо этого он создает модуль в новой книге.
Изменен: 26.10.2020
Читать сообщение на форуме или сайте.Автор: Алексей Краснов. Добрый вечер!
Столкнулся с проблемой - имеются ячейки, из которых функцией извлекается предпоследнее вхождение текста после определенного делителя "Human".
В том случае, если функция не находит подходящих значений, она возвращает #ЗНАЧ!, который мешает работе остальных функций, которые используют ссылки на эту.
Необходимо результат #ЗНАЧ! при вызове функции заменить на пустое значение ""
Долго гуглил информацию по поводу обхода ...
Изменен: 23.10.2020
Читать сообщение на форуме или сайте.Автор: Алексей Краснов. Добрый вечер!
Гуру VBA, очень прошу помочь с одной задачей, которая заключается в следующем:
Есть определенный диапазон строк с текстом и есть строковый массив, в который я заключил 38 регулярных выражений.
Каким образом можно проверить поочередно каждую строку в диапазоне на совпадение по всем RegExp из массива?
Если в строке не находится совпадение по первой строке из массива regexp (1), то идет проверка по второй строке из массива regexp (2), если совпадение не ...
Изменен: 22.10.2020
Читать сообщение на форуме или сайте.Автор: Cappuccino. Добрый день форумчане...
Пытаюсь по маленьку осмыслить VBA в excel по методу практического применения :D , но нужна помощь спецов, так как немного не понятны некоторые вещи.
Файлик прикрепил, для примера (Необходимо чтобы было следующее):
На листе "ФормаВвода", вводится требование, затем по нажатию кнопки "Ввод" копируем данные требования в таблицу на лист "Учет Приход_Расход".
Лист "ФормаВвода", ...
Изменен: 18.09.2020
Читать сообщение на форуме или сайте.Автор: Алексей Лепихин. Добрый день уважаемые форумчане!
Ежемесячно на работе занимаюсь трансформацией файла выгруженного из SAP в формате xls, затем через кнопку UserForm сохраняется в xlsx (исходный файл xls - закрывается) в файле xlsx удаляются строки, столбцы, строки содержащие определенные слова, и создается шапка таблиц. Появилась идея данное дело автоматизировать для любого пользователя кому выпадет данная задача. файл на 150 тыс строк, выполнение макроса около 6-8 минут (на разных ...
Изменен: 10.09.2020
Читать сообщение на форуме или сайте.Автор: yiana17_05. В автоколонне 20 автомобилей. Каждый автомобиль, работая 7 дней в неделю, расходует определенное кол-во бензина. Цена на бензин не меняется.
Написать программу на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран:
исходные данные в виде таблицы, где указаны номера и тип бензина всех автомобилей, стоимость одного литра бензина для каждого автомобиля, количество литров бензина, израсходованного каждым автомобилем за один день;
количество ...
Изменен: 05.05.2020
Читать сообщение на форуме или сайте.Автор: alex55116. Добрый день!
Требуется обычное сохранение открытого файла (xltm) по нажатию на кнопку. Аналогично CTRL + S, только без выбор формата, а сразу в xltm.
Использовал ActiveWorkbook.Save, но файл сохранялся в другую директорию и с расширением xls. По умолчанию в настройках стоит сохранение в .xls формате.
Возможно ли не меняя настройку сохранить открытый файл в нужном формате - xltm?
Изменен: 20.04.2020
Читать сообщение на форуме или сайте.Автор: qwt. Добрый день.
Можете объяснить, почему(с мой точки зрения), один и тот же код возвращает разные значения?
Я в TextBox записываю только цифры и запятую. Далее мне это значение нужно записать в таблицу.
Изначально, данные в таблицу я записывал:Cells(emptyRowB, 2).Value = TextBox1.Value
Но тогда, если после запятой ставить три и более цифры, то запятая терялась при записи в таблицу.
Данная строчка записывает данные с запятой, без проблем
Cells(emptyRowA, 1).Value = TextBox1
...
Изменен: 31.03.2020
Читать сообщение на форуме или сайте.Автор: Станислав Вьюжанин. Добрый день друзья.
Нужна помощь. Необходимо с помощью двойного клика по диапазону в столбце G в столбец J. Не удаляя при этом значения в в ячейке J, но зачеркивая их.
Изменен: 20.02.2020
Читать сообщение на форуме или сайте.Автор: YungSin. Здравствуйте, многоуважаемые обитатели форума.
Пытаюсь решить задачу по оптимизации, однако своих знаний в написании VBA кода у меня не хватает.
Каждый месяц приходит около десяти файлов excel, которые представляют собой реестры музыкальных произведений. Беда заключается в том, что ячейки в данных реестрах имеют следующий вид: CAVC0417_TK001.2_ALONG_THE_COTE_AZUR_Benedic_Lamdin_(PRS),_Riaan_Vosloo_(PRS)_Cavendish_Music_Co._Ltd._(PRS). Информацию из данных реестров необходимо ...
Изменен: 11.02.2020
Читать сообщение на форуме или сайте.Автор: STF. Здравствуйте! Я далека от программирования. Пересмотрела много примеров с подобными задачами. Не нашлось ни одного более-менее мне подходящего. Поэтому хочу попросить помощи у вас.
Нужно, чтобы после выбора типа местности(ComboBox1) и высоты(ComboBox2), в TextBox3 появилось значение соответствующего коэффициента k.
Изменен: 20.11.2016
Читать сообщение на форуме или сайте.