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

Вход

Регистрация

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

 

= Мир MS Excel/Поиск файла по переменно из ячейки переменной - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск файла по переменно из ячейки переменной (Макросы/Sub)
Поиск файла по переменно из ячейки переменной
monstr_ork Дата: Понедельник, 05.03.2018, 12:17 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Добрый день!
Помогите пожалуйста, можно ли использовать переменную, как имя для поиска файла.
Т.е. есть к примеру файл1, который ссылается на другой файл, он каждый месяц имеет новое имя пример "отчет_март", следующий месяц будет уже "отчет_апрель" и так далее.
В файле1 есть формула =ИНДЕКС(массив из отчет_март;поискпозиции отчет_март;поискпозиции отчет_март), которая ссылается на файл отчет_март, листы в отчетах всегда одинаковые.
Возможно ли с помощью макроса, переписать формулу, чтобы она ссылалась на файл отчет_апрель и т.д. каждый месяц?
 
Ответить
СообщениеДобрый день!
Помогите пожалуйста, можно ли использовать переменную, как имя для поиска файла.
Т.е. есть к примеру файл1, который ссылается на другой файл, он каждый месяц имеет новое имя пример "отчет_март", следующий месяц будет уже "отчет_апрель" и так далее.
В файле1 есть формула =ИНДЕКС(массив из отчет_март;поискпозиции отчет_март;поискпозиции отчет_март), которая ссылается на файл отчет_март, листы в отчетах всегда одинаковые.
Возможно ли с помощью макроса, переписать формулу, чтобы она ссылалась на файл отчет_апрель и т.д. каждый месяц?

Автор - monstr_ork
Дата добавления - 05.03.2018 в 12:17
nilem Дата: Понедельник, 05.03.2018, 12:34 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
monstr_ork, привет
Найти-Заменить не пробовали? Найти -"март", Заменить - "апрель" область поиска - формулы


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениеmonstr_ork, привет
Найти-Заменить не пробовали? Найти -"март", Заменить - "апрель" область поиска - формулы

Автор - nilem
Дата добавления - 05.03.2018 в 12:34
monstr_ork Дата: Понедельник, 05.03.2018, 13:36 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
monstr_ork, привет
Найти-Заменить не пробовали? Найти -"март", Заменить - "апрель" область поиска - формулы


Мне нужен макрос, у меня таких формул около 30 в файле и такое нужно делать на 30 файлах. Мне нужен способ, чтобы в переменную значение, которое потому будет соответствовать имени будущего фала
 
Ответить
Сообщение
monstr_ork, привет
Найти-Заменить не пробовали? Найти -"март", Заменить - "апрель" область поиска - формулы


Мне нужен макрос, у меня таких формул около 30 в файле и такое нужно делать на 30 файлах. Мне нужен способ, чтобы в переменную значение, которое потому будет соответствовать имени будущего фала

Автор - monstr_ork
Дата добавления - 05.03.2018 в 13:36
monstr_ork Дата: Понедельник, 05.03.2018, 21:22 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Пример формулы
Код
=ИНДЕКС('C:\Users\123\Desktop\[отчет_март.xlsm]Лист2'!$C$3:$L$30;ПОИСКПОЗ(E3;'C:\Users\123\Desktop\[отчет_март.xlsm]Лист2'!$A$3:$A$29;0);ПОИСКПОЗ(F3;'C:\Users\123\Desktop\[отет_март.xlsm]Лист2'!$C$2:$L$2;0))

и вот вместо слова март мне нужна переменная, в которой и будет находится продолжение название файла, отчета.
Что-то на подобии "отчет_"переменная".xlsm


Сообщение отредактировал monstr_ork - Вторник, 06.03.2018, 06:06
 
Ответить
СообщениеПример формулы
Код
=ИНДЕКС('C:\Users\123\Desktop\[отчет_март.xlsm]Лист2'!$C$3:$L$30;ПОИСКПОЗ(E3;'C:\Users\123\Desktop\[отчет_март.xlsm]Лист2'!$A$3:$A$29;0);ПОИСКПОЗ(F3;'C:\Users\123\Desktop\[отет_март.xlsm]Лист2'!$C$2:$L$2;0))

и вот вместо слова март мне нужна переменная, в которой и будет находится продолжение название файла, отчета.
Что-то на подобии "отчет_"переменная".xlsm

Автор - monstr_ork
Дата добавления - 05.03.2018 в 21:22
китин Дата: Вторник, 06.03.2018, 07:31 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Код
=ДВССЫЛ("[отчет_"&A1&".xlsm]")

в А1 написано или март или апрель и т.д.
точнее и правильнее при наличии файла примера
а если
Мне нужен макрос

то пример тем более необходим


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852


Сообщение отредактировал китин - Вторник, 06.03.2018, 07:32
 
Ответить
Сообщение
Код
=ДВССЫЛ("[отчет_"&A1&".xlsm]")

в А1 написано или март или апрель и т.д.
точнее и правильнее при наличии файла примера
а если
Мне нужен макрос

то пример тем более необходим

Автор - китин
Дата добавления - 06.03.2018 в 07:31
monstr_ork Дата: Вторник, 06.03.2018, 10:01 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Вот пример.
В файле1 в ячейке с1 формула, вместо отчет_март, нужно чтобы стало через макрос отчет_апрель
К сообщению приложен файл: 5193132.zip (90.6 Kb)
 
Ответить
СообщениеВот пример.
В файле1 в ячейке с1 формула, вместо отчет_март, нужно чтобы стало через макрос отчет_апрель

Автор - monstr_ork
Дата добавления - 06.03.2018 в 10:01
sboy Дата: Вторник, 06.03.2018, 10:31 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Найти-Заменить не пробовали? Найти -"март", Заменить - "апрель"

Мне нужен макрос

[vba]
Код
Cells.Replace What:="отчет_март", Replacement:="отчет_апрель", LookAt:=xlPart
[/vba]


Яндекс: 410016850021169
 
Ответить
Сообщение
Найти-Заменить не пробовали? Найти -"март", Заменить - "апрель"

Мне нужен макрос

[vba]
Код
Cells.Replace What:="отчет_март", Replacement:="отчет_апрель", LookAt:=xlPart
[/vba]

Автор - sboy
Дата добавления - 06.03.2018 в 10:31
monstr_ork Дата: Вторник, 06.03.2018, 11:58 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Cells.Replace What:="отчет_март", Replacement:="отчет_апрель", LookAt:=xlPart


Вы не поняли, к примеру в листе есть ячейка А5, в ней есть значение, к примеру "март" или "апрель" (они будут менять в зависимости от месяца), и вот это значение должно идти в путь файла.
Код
=ИНДЕКС('C:\Users\123\Desktop\[отчет_"А5".xlsm]Лист2'!$C$3:$L$30;ПОИСКПОЗ(E3;'C:\Users\123\Desktop\[отчет_"А5".xlsm]Лист2'!$A$3:$A$29;0);ПОИСКПОЗ(F3;'C:\Users\123\Desktop\[отчет_"А5".xlsm]Лист2'!$C$2:$L$2;0))


То что вы предложили, жто каждый месяц надо будет переделывать


Сообщение отредактировал monstr_ork - Вторник, 06.03.2018, 11:58
 
Ответить
Сообщение
Cells.Replace What:="отчет_март", Replacement:="отчет_апрель", LookAt:=xlPart


Вы не поняли, к примеру в листе есть ячейка А5, в ней есть значение, к примеру "март" или "апрель" (они будут менять в зависимости от месяца), и вот это значение должно идти в путь файла.
Код
=ИНДЕКС('C:\Users\123\Desktop\[отчет_"А5".xlsm]Лист2'!$C$3:$L$30;ПОИСКПОЗ(E3;'C:\Users\123\Desktop\[отчет_"А5".xlsm]Лист2'!$A$3:$A$29;0);ПОИСКПОЗ(F3;'C:\Users\123\Desktop\[отчет_"А5".xlsm]Лист2'!$C$2:$L$2;0))


То что вы предложили, жто каждый месяц надо будет переделывать

Автор - monstr_ork
Дата добавления - 06.03.2018 в 11:58
sboy Дата: Вторник, 06.03.2018, 12:04 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
monstr_ork, так используйте вариант от китин через ДВССЫЛ()
если кодом, то самое простое например в А4 указать текущее значение (март), в А5 - на что менять(апрель)
[vba]
Код
Cells.Replace What:=[A4].Value, Replacement:=[A5].Value, LookAt:=xlPart
[/vba]


Яндекс: 410016850021169
 
Ответить
Сообщениеmonstr_ork, так используйте вариант от китин через ДВССЫЛ()
если кодом, то самое простое например в А4 указать текущее значение (март), в А5 - на что менять(апрель)
[vba]
Код
Cells.Replace What:=[A4].Value, Replacement:=[A5].Value, LookAt:=xlPart
[/vba]

Автор - sboy
Дата добавления - 06.03.2018 в 12:04
monstr_ork Дата: Вторник, 06.03.2018, 12:23 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Я может как то не правильно изъяснился, но суть в том, что мне нужно переписать формулы, каждый месяц. В этих формулах меняется только файл, откуда берутся значения.
Чтобы не переписывать их каждый раз, потому что таких формул в файле1 около 30, решил сделать через переменную. Ну к примеру, я же могу создать лист с именем из ячейки, куда предварительно внесу значение, вот и тут тоже самое.
Вопрос в том, что могу ли я вставить переменную в этот текст кода как продолжение файла или как мне ее туда вставить, чтобы она была продолжением пути к файлу
 
Ответить
СообщениеЯ может как то не правильно изъяснился, но суть в том, что мне нужно переписать формулы, каждый месяц. В этих формулах меняется только файл, откуда берутся значения.
Чтобы не переписывать их каждый раз, потому что таких формул в файле1 около 30, решил сделать через переменную. Ну к примеру, я же могу создать лист с именем из ячейки, куда предварительно внесу значение, вот и тут тоже самое.
Вопрос в том, что могу ли я вставить переменную в этот текст кода как продолжение файла или как мне ее туда вставить, чтобы она была продолжением пути к файлу

Автор - monstr_ork
Дата добавления - 06.03.2018 в 12:23
InExSu Дата: Среда, 14.03.2018, 01:01 | Сообщение № 11
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация: 96 ±
Замечаний: 0% ±

Excel 2010, 365
Привет!
[vba]
Код
Sub ЗаменитьМесяцнаСвежий()
  Dim x       As Long
  For x = 1 To 12
    Cells.Replace What:=MonthName(x), _
                  Replacement:=MonthName(Month(Now)), LookAt:=xlPart
  Next
End Sub
[/vba]


Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
 
Ответить
СообщениеПривет!
[vba]
Код
Sub ЗаменитьМесяцнаСвежий()
  Dim x       As Long
  For x = 1 To 12
    Cells.Replace What:=MonthName(x), _
                  Replacement:=MonthName(Month(Now)), LookAt:=xlPart
  Next
End Sub
[/vba]

Автор - InExSu
Дата добавления - 14.03.2018 в 01:01
Pelena Дата: Среда, 04.04.2018, 22:22 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 19167
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
Поделиться решением не хотите?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеПоделиться решением не хотите?

Автор - Pelena
Дата добавления - 04.04.2018 в 22:22
monstr_ork Дата: Четверг, 05.04.2018, 11:12 | Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Вопрос решил через обычный поиск и замену. создал две переменные, где находится текст который нужно найти и текст на который нужно заменить.
Ну и соответственно диапазон добавил в котором нужно искать.
В принципе это решило мою проблему.
[vba]
Код
Sub Макрос3()

    Dim name1
        Dim name2
    name1 = [E5]
    name2 = [A1]
    Cells.Replace What:=name1, Replacement:=name2, LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
        
End Sub
[/vba]


Сообщение отредактировал monstr_ork - Четверг, 05.04.2018, 11:17
 
Ответить
СообщениеВопрос решил через обычный поиск и замену. создал две переменные, где находится текст который нужно найти и текст на который нужно заменить.
Ну и соответственно диапазон добавил в котором нужно искать.
В принципе это решило мою проблему.
[vba]
Код
Sub Макрос3()

    Dim name1
        Dim name2
    name1 = [E5]
    name2 = [A1]
    Cells.Replace What:=name1, Replacement:=name2, LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
        
End Sub
[/vba]

Автор - monstr_ork
Дата добавления - 05.04.2018 в 11:12
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск файла по переменно из ячейки переменной (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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