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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2010, 13:11   #1
vefer
Форумчанин
 
Регистрация: 11.10.2010
Сообщений: 134
По умолчанию распознать открытую книгу по части имени

Проблема такая: Допустим открыто 2 книги - "Сводный отчет" и "Отчет №1",так как отчетов много, нужно написать макрос, чтобы он определял по части имени, что открыта некая книга "Отчет №...", копировал из нее данные и вставлял в "Сводный отчет".
vefer вне форума Ответить с цитированием
Старый 11.10.2010, 13:25   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Смотрите здесь
Как определить открыта или нет нужная рабочая книга ?
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 11.10.2010, 13:30   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Код:
 Sub POISK_WB()

Dim WB As Workbook

For Each WB In Application.Workbooks

If WB.Name Like ("*Отчет №*") Then

'WB -наша найденная книга.Дальше делайте с ней что хотите
Exit For: End If: Next

End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 11.10.2010, 13:59   #4
vefer
Форумчанин
 
Регистрация: 11.10.2010
Сообщений: 134
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Код:
 Sub POISK_WB()

Dim WB As Workbook

For Each WB In Application.Workbooks

If WB.Name Like ("*Отчет №*") Then

'WB -наша найденная книга.Дальше делайте с ней что хотите
Exit For: End If: Next

End Sub
Так не получается, работает если целое имя напишешь вот так:

If WB.Name Like ("*Отчет № 1*")

а мне надо, чтобы по части имени.
vefer вне форума Ответить с цитированием
Старый 11.10.2010, 14:21   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

не может быть,значит надо проанализировать различие между файлами,выбрать соответствующую фразу для поиска
Код:
If WB.Name Like ("*От*")
Он найдет первый попавшийся открытый файл в имени которого есть От
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 11.10.2010, 14:34   #6
vefer
Форумчанин
 
Регистрация: 11.10.2010
Сообщений: 134
По умолчанию

Все, получилось, спасибо!
vefer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос - Открытие найденого файла по части имени LLIaMaH Microsoft Office Excel 13 02.05.2016 23:08
Распознать ноты eXtr0gen Мультимедиа в Delphi 6 25.09.2010 20:21
копирование данных из закрытой книги в открытую mars56 Microsoft Office Excel 5 17.02.2010 11:29
Задача на выборочное копирование ячеек в уже открытую другую книгу noobnoob Microsoft Office Excel 8 23.11.2009 06:13
Открыть кнопкой книгу по запросу имени! gavs Microsoft Office Excel 7 30.08.2008 18:06