Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2014, 11:14   #1
Старый Лыжник
Пользователь
 
Регистрация: 15.04.2014
Сообщений: 10
По умолчанию Часть формулы = переменное значение определенной ячейки

Всем здрасьте!
Ситуация - имеется множество одинаковых по структуре файлов эксель (находятся в одной папке), из которых нужно брать значения в один сводный файл. Файл-пример прикрепил. Имеются столбцы, в которых по строкам отображаются значения (значение 1, значение 2, значение 3) из одинаковых ячеек, но из разных книг. Строки, в которых требуется отображать эти значения, периодически есть необходимость менять. Сам вопрос - можно ли как то сделать так, чтобы в первом столбце просто ставить номер файла, из которого нужно брать значения, а в формулах по всей строке во всех ячейках сразу же бы часть формулы заменялась на нужное имя.
Например, желательно проставить в первом столбе название файла (3), а во всех строках правее, чтобы сразу отобразилось примерно так ='D:\новая папка\[3.xlsx]Обложка'!$I$15
В ВБА полный ноль, если сведется к нему) Желательно обойтись простыми формулами. Если желаю невозможного - так и скажите)
Вложения
Тип файла: zip Книга.zip (4.3 Кб, 11 просмотров)
Старый Лыжник вне форума Ответить с цитированием
Старый 26.09.2014, 11:50   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

вопрос решается формулой через ДВССЫЛ, но...
двойная ссылка на внешний файл работает только если этот внешний файл открыт в екселе

простенький макрос решает проблему
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim c As Long, s As String
  If Target.Cells.Count > 1 Then Exit Sub
  If Target.Column <> 1 Then Exit Sub
  Application.EnableEvents = False
  s = Cells(Target.Row, 2).Formula: s = Mid(s, InStr(s, "["), InStr(s, ".") - InStr(s, "[") + 1)
  For c = 2 To 4
    Cells(Target.Row, c).Formula = Replace(Cells(Target.Row, c).Formula, s, "[" & Target & ".")
  Next
  Application.EnableEvents = True
End Sub
Вложения
Тип файла: rar ЗаменаСсылок.rar (12.3 Кб, 12 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 26.09.2014, 21:51   #3
Старый Лыжник
Пользователь
 
Регистрация: 15.04.2014
Сообщений: 10
По умолчанию

спасибо, с макросами сталкивался лишь так, что даже не знал что они делают, попробую применить ваш, что-то вроде начинает получаться.
Еще раз спасибо!
Старый Лыжник вне форума Ответить с цитированием
Старый 21.01.2015, 08:46   #4
Старый Лыжник
Пользователь
 
Регистрация: 15.04.2014
Сообщений: 10
По умолчанию

вопрос тот же, только не получается в файле применить данный макрос (не понимаю, как на всю строку растянуть действие...)
в общем смысл такой: надо, чтобы в столбце А можно было ставить номер, который бы потом автоматически менял во всей строке данные на этот номер.
Например, во всех строках в формулах присутствует "001", ставлю в "А7" данные "005" и во всей седьмой строке в формулах меняется значение "001" на "005".
может кто помочь? буду очень признателен
Вложения
Тип файла: rar файл.rar (32.6 Кб, 9 просмотров)
Старый Лыжник вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как привязать ячейки к одной определенной ячейке Marmelad Microsoft Office Excel 3 12.09.2012 20:13
Как присвоить новому листу значение определенной ячейки clever77 Microsoft Office Excel 9 16.04.2011 06:14
Нужно вывести часть определенной строки Ksy JavaScript, Ajax 1 08.02.2011 01:16
Запрос на часть листа по условию в определенной ячейке Stilet Microsoft Office Excel 3 27.05.2010 11:42
копирование из определенной ячейки dbgrid в массив xaero93 БД в Delphi 3 08.12.2009 20:30