Есть определенная необходимость автоматизировать один процесс, суть и внешний вид во вложенном в тему файле.
Есть таблица (лист 1 в файле) в которой используется построчная группировка. Группировки двух уровней, общая группировка для одного наименования на группы 5-ти частей, и каждая часть ещё сгруппирована отдельно. Строки обозначающие группировки имеют оформление, оно важно.
Необходим макрос который бы мог путем копирования строк относящиеся к группировкам, вставлять их в таблицу n-ое количество раз (т.е. можно в выполняемом макросе каждый раз указывать сколько нужно добавлений), при этом сохранить так же группировку и получить в итоге результат в виде таблицы (лист 2 в файле). Т.к. порой таких добавлений может быть то 100 и вся по себе таблица имеет более сложный вид, необходим подходящий макрос.
P.S. была мысль создать лист с заготовкой такой группировки из которого макрос бы копировал эти строки. Но что и как это на vba может быть воплощенно, не получается представить. Макрорекордеры не помогают,т.к всегда окончание одной позиции с группировками и её последней строкой дело переменное и должно каким-то образом перед вставкой определяться.
Прошу помочь с макросом либо советом как возможно реализовать следующую задачу.
Существует файл в котором имеется скрытый лист (форма документа). Необходимо чтобы при выполнении макроса, этот лист открывался в новой книге, без предварительного сохранения нового файла. Т.е. аналогично стандартной операции, скопировать лист в новую книгу.
Сразу скажу, что макрорекордером записываются только выбор листа, всего остального он не записывает.
Существует макрос, который отслеживает отслеживает изменение в ячейках в указанном диапазоне и в отдельную ячейку вносит дату и время изменения ячеек в диапазоне.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
For Each cell In Target 'проходим по всем измененным ячейкам
If Not Intersect(cell, Range("F4:F1048576")) Is Nothing Then 'если изменененная ячейка попадает в диапазон
With cell.Offset(0, -3) 'вводим в соседнюю справа ячейку дату
.Value = Now
End With
End If
Next cell
End Sub
ВОПРОС? Т.к ячейка может быть изменена на пустое значение, т.е. отчищена, нужно чтобы дата не вносилась в этом случае. Если объяснить другим языком, то нужно чтобы в соседнюю ячейку вносилась дата изменения, если значение в ячейке меняется и если ячейка не пустая.
Либо так: Если в указанном диапазоне значение в ячейке меняется, заносить в соседнюю ячейку дату изменения, но если значение изменяется на пустое, то удалять из соседней ячейки любое значение.
Прошу внимания, возможно кто-то сталкивался с решением такого вопроса как нумерация строк в зависимости от группировок и автоматизирование такого процесса для всего столбца и новых появляющихся строк.
Более подробно с примером и промежуточным решением всё изложено в файле прикрепленному к теме. Спасибо всем кто уделит внимание и подскажет где искать решение!
Здравствуйте! Облазил форум но не нашёл ничего близкого по смыслу с возникшей задачей. Возможно кто-то сталкивался с автоматизацией загрузки ссылок на документы, разного формата, pdf, jpg, docx и т.д.
В связи с этим такой вопрос, как можно прописать макрос и какими командами, чтобы можно было выбрать ячейку, нажать кнопку, выбрать файл для загрузки, и далее автоматически производились бы операции: скопировать выбранный файл в прописанную папку, переименовать выбранный файл на значение из ячейки в той же строки таблицы и создать на него гиперссылку с отображаемым имени "ОТКРЫТЬ".
Есть понимание как создать макрос для создания гиперссылки на конкретный документ по конкретному адресу, а вот как реализовать возможность выбрать файл за каждым разом? И возможно ли вообще макросами производить копирование, переименовывание файлов вне экселя?