Страницы: 1
RSS
Копирование формулы адреса с изменением ячеек запроса, одна ссылка адреса с разными ячейками
 
Добрый день.
Помогите пожалуйста!
Возможно ли облегчить рутинное занесение данных с одним адресом ссылки, но на разные ячейки ?
Исходное: Есть много файлов, много строк! Готова подтянуть данные в один столбец (Например С), а в остальные уже автоматом = этому пити подтягивались бы из других заданных ячеек. (трудное объяснение))) прилагаю пример)
Уже Спасибо !
 
Вам такой вариант подойдёт с дополнительным столбцом А? (при необходимости его можно скрыть или убрать на другой лист)
И ещё кое-где я убрал лишние пробелы в конце, заменил строчные буквы прописными и добавил точки в конце для идентичности
Изменено: DAB - 04.03.2026 18:56:26
 
Здравствуйте.
Давайте попробуем сделать все автоматически. Я написал макрос (он в файле Формулы.xlsm). В нем в колонке А заполняете список файлов из которых нужно загрузить данные, в ячейке С2 нужно задать имя файла для выгрузки (файл который заполнится формулами) и нажать на кнопку "Объединить файлы". Попробуйте, может подойдет такой вариант.
 
Изменено: Aлeкceй - 08.03.2026 10:30:07
 
Добрый день!
к сожалению эти методы не срабатывают (не полно объяснила  :( )
Есть путь к файлу (они разные могут быть, выбираются по поставленной задаче), но с информацией одинакового формата, т.е. знаю, что на листе1 в А2 стоит наименование, в А10 цена и т.д.
На основании выбранного пути  (занести в столбец) можно сделать автоматическое заполнение далее определенных значений ?
 
Если макросы допустимы - то выбирайте на свой вкус: Как получить данные из закрытой книги?
иначе - только сначала дублирование информации из нужных книг прямыми ссылками где-то на другом листе(руками!) и подтягивание данных уже оттуда.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Код
Sub Копировать_изменить_формулу()
    Dim cs As Range, cr As Range, sf As String, sb As String
    For Each cs In Intersect(Selection, ActiveSheet.UsedRange).Columns(1).Cells
        For Each cr In Intersect(Selection, cs.Cells(1, 2).Resize(1, Selection.Columns.Count)).Cells
            sf = cs.Formula
            sf = Replace(sf, "!" & cs.EntireColumn.Cells(2, 1).Value, "!" & cr.EntireColumn.Cells(2, 1).Value)
            On Error Resume Next
            cr.Formula = sf
            On Error GoTo 0
        Next
    Next
End Sub
Выделите диапазон, запустите макрос. Предполагается, что шаблон формулы находится в первом столбце выделенного диапазона, заменяемая часть формулы находится во второй строке листа. Обратите внимание, во второй строке листа, а не выделенного диапазона.
 
Еще вариант макросом. Работает так - в ячейку C вводите путь, имя файла, название листа и ячейку С7 из которой подтягиваете цену, а дальше макрос подтягивает данные для ячеек которые находятся правее.
Страницы: 1
Читают тему
Наверх