Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/ВПР с динамической ссылкой на таблицу - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » ВПР с динамической ссылкой на таблицу (Формулы/Formulas)
ВПР с динамической ссылкой на таблицу
Anis625 Дата: Вторник, 16.10.2018, 14:30 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 147
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Добрый день.

Искал в просторах интернета в разных видах - не нашел то, что нужно.

Работаю с закрытыми файлами (около 100). Поэтому ДВССЫЛ не подходит.

Необходимо извлечь информацию из этих файлов по условию. Попробовал в доп.столбце добавить путь к диапазону. Обхитрить Excel не получается.
Похожий пост создали ниже. Может там тоже решение найдется.

Можно без макросов решить задачку?
К сообщению приложен файл: 9481657.xlsx(78.3 Kb)


Сообщение отредактировал Anis625 - Вторник, 16.10.2018, 14:31
 
Ответить
СообщениеДобрый день.

Искал в просторах интернета в разных видах - не нашел то, что нужно.

Работаю с закрытыми файлами (около 100). Поэтому ДВССЫЛ не подходит.

Необходимо извлечь информацию из этих файлов по условию. Попробовал в доп.столбце добавить путь к диапазону. Обхитрить Excel не получается.
Похожий пост создали ниже. Может там тоже решение найдется.

Можно без макросов решить задачку?

Автор - Anis625
Дата добавления - 16.10.2018 в 14:30
_Boroda_ Дата: Вторник, 16.10.2018, 15:43 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 13514
Репутация: 5529 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Таким макросом можно в формулах ссылки поменять
[vba]
Код
Sub tt()
    r00_ = 5 'нач строка
    c0_ = 2 'столбец со ссылками
    c1_ = 12 'столбец с формулами
    r0_ = Cells(Rows.Count, c0_).End(3).Row
    r1_ = Cells(Rows.Count, c1_).End(3).Row
    nc_ = 2 'кол-во столбцов с формулами
    r_ = WorksheetFunction.Max(r0_, r1_)
    ar0 = Cells(r00_, c0_).Resize(r_ - r00_ + 1)
    ar1 = Cells(r00_, c1_).Resize(r_ - r00_ + 1, nc_).Formula
    Application.DisplayAlerts = 0
    Application.Calculation = 3
    For i = LBound(ar1) To UBound(ar1)
        For j = 1 To nc_
            If Left(ar1(i, j), 9) = "=VLOOKUP(" Then
                s0_ = InStr(ar1(i, j), ",")
                s1_ = InStr(s0_ + 1, ar1(i, j), ",")
                ar1(i, j) = Left(ar1(i, j), s0_) & "'" & ar0(i, 1) & Mid(ar1(i, j), s1_)
'                Cells(r00_ + i - 1, c1_ + j - 1) = jjj
            End If
        Next j
    Next i
    Application.DisplayAlerts = 0
    Application.Calculation = 3
    Cells(r00_, c1_).Resize(r_ - r00_ + 1, nc_).Formula = ar1
    Application.Calculation = 1
    Application.DisplayAlerts = 1
End Sub
[/vba]
К сообщению приложен файл: 9481657_1.xlsm(88.2 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТаким макросом можно в формулах ссылки поменять
[vba]
Код
Sub tt()
    r00_ = 5 'нач строка
    c0_ = 2 'столбец со ссылками
    c1_ = 12 'столбец с формулами
    r0_ = Cells(Rows.Count, c0_).End(3).Row
    r1_ = Cells(Rows.Count, c1_).End(3).Row
    nc_ = 2 'кол-во столбцов с формулами
    r_ = WorksheetFunction.Max(r0_, r1_)
    ar0 = Cells(r00_, c0_).Resize(r_ - r00_ + 1)
    ar1 = Cells(r00_, c1_).Resize(r_ - r00_ + 1, nc_).Formula
    Application.DisplayAlerts = 0
    Application.Calculation = 3
    For i = LBound(ar1) To UBound(ar1)
        For j = 1 To nc_
            If Left(ar1(i, j), 9) = "=VLOOKUP(" Then
                s0_ = InStr(ar1(i, j), ",")
                s1_ = InStr(s0_ + 1, ar1(i, j), ",")
                ar1(i, j) = Left(ar1(i, j), s0_) & "'" & ar0(i, 1) & Mid(ar1(i, j), s1_)
'                Cells(r00_ + i - 1, c1_ + j - 1) = jjj
            End If
        Next j
    Next i
    Application.DisplayAlerts = 0
    Application.Calculation = 3
    Cells(r00_, c1_).Resize(r_ - r00_ + 1, nc_).Formula = ar1
    Application.Calculation = 1
    Application.DisplayAlerts = 1
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 16.10.2018 в 15:43
Anis625 Дата: Вторник, 16.10.2018, 15:51 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 147
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
_Boroda_,

Макрос отлично сработал. Я его в копилку к себе сохраню. Спасибо Вам большое.

Нюанс хотел уточнить:
[vba]
Код
nc_ = 2 'кол-во столбцов с формулами
[/vba]

Это количество смежных столбцов которые нужно поменять?
 
Ответить
Сообщение_Boroda_,

Макрос отлично сработал. Я его в копилку к себе сохраню. Спасибо Вам большое.

Нюанс хотел уточнить:
[vba]
Код
nc_ = 2 'кол-во столбцов с формулами
[/vba]

Это количество смежных столбцов которые нужно поменять?

Автор - Anis625
Дата добавления - 16.10.2018 в 15:51
_Boroda_ Дата: Вторник, 16.10.2018, 16:24 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 13514
Репутация: 5529 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Да


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДа

Автор - _Boroda_
Дата добавления - 16.10.2018 в 16:24
Мир MS Excel » Вопросы и решения » Вопросы по Excel » ВПР с динамической ссылкой на таблицу (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2018 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!