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

Вход

Регистрация

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

 

= Мир MS Excel/Вставить определенные ячейки из файлов в одной папке - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Вставить определенные ячейки из файлов в одной папке
Budeniy Дата: Понедельник, 21.08.2017, 11:32 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Проблема в следующем: есть папка, в которой штук 30 файлов с именами вида Пример_Б001_2017_07 т.е. последняя цифра меняется раз в месяц, а та, что в середине у каждого файла разная.
И есть один файл, назовем его просто "Пример", имя у него неизменно.
В общем, мне надо, чтобы я, выполнив макрос в общем файле "Пример", заполнил его значениями из всех остальных файлов. Т.е. мне надо чтобы в столбец для Бюро 1, в залитые ячейки вставились значения из выделенных ячеек файла Бюро 1, в столбец для Бюро 2 вставились значения из файла для Бюро 2 и т.д.
Я нагуглил, как просто копировать макросом, но это получается бесполезная операция т.к. каждый месяц придется править в макросе кучу параметров на каждый файл.
К сообщению приложен файл: 2348557.xlsx (9.4 Kb) · 1290258.xlsx (9.4 Kb)
 
Ответить
СообщениеПроблема в следующем: есть папка, в которой штук 30 файлов с именами вида Пример_Б001_2017_07 т.е. последняя цифра меняется раз в месяц, а та, что в середине у каждого файла разная.
И есть один файл, назовем его просто "Пример", имя у него неизменно.
В общем, мне надо, чтобы я, выполнив макрос в общем файле "Пример", заполнил его значениями из всех остальных файлов. Т.е. мне надо чтобы в столбец для Бюро 1, в залитые ячейки вставились значения из выделенных ячеек файла Бюро 1, в столбец для Бюро 2 вставились значения из файла для Бюро 2 и т.д.
Я нагуглил, как просто копировать макросом, но это получается бесполезная операция т.к. каждый месяц придется править в макросе кучу параметров на каждый файл.

Автор - Budeniy
Дата добавления - 21.08.2017 в 11:32
ezhov_da Дата: Понедельник, 21.08.2017, 14:19 | Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 1 ±
Замечаний: 0% ±

Excel 2007
1. Посмотрите в сторону регулярных выражений для парсинга названия файла: \d{2}_\d{4}_\d{2}
2. Получаемую строку разбиваете через split в массив с разделителем _.
3. В итоге получаете 3 части: 01 2017 07
и на их основе уже обрабатываете данные (купируете куда и как вам надо).
 
Ответить
Сообщение1. Посмотрите в сторону регулярных выражений для парсинга названия файла: \d{2}_\d{4}_\d{2}
2. Получаемую строку разбиваете через split в массив с разделителем _.
3. В итоге получаете 3 части: 01 2017 07
и на их основе уже обрабатываете данные (купируете куда и как вам надо).

Автор - ezhov_da
Дата добавления - 21.08.2017 в 14:19
KuklP Дата: Понедельник, 21.08.2017, 16:18 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Можно и без сторонних библиотек:
[vba]
Код
s = "Пример_Б001_2017_07.xls"
MsgBox Mid(s, InStrRev(s, "_", InStrRev(s, "_") - 1) + 1, 4)
[/vba]выдаст "2017"


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Понедельник, 21.08.2017, 16:19
 
Ответить
СообщениеМожно и без сторонних библиотек:
[vba]
Код
s = "Пример_Б001_2017_07.xls"
MsgBox Mid(s, InStrRev(s, "_", InStrRev(s, "_") - 1) + 1, 4)
[/vba]выдаст "2017"

Автор - KuklP
Дата добавления - 21.08.2017 в 16:18
  • Страница 1 из 1
  • 1
Поиск:

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