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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2010, 10:53   #1
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию поиск ячейки в другом файле

помогите!
есть книга1.xls и книга2.xls. нужно открыть книгу1 и запустить макрос, который:
1. найдет в (книга2, лист1) нужную мне ячейку (содержит слово "абв")
2. вставить ее значение в (книга1, лист1, ячейка $A$1)
И все это не открывая книга2

не смейтесь, если что не так выразил
maksim_serg вне форума Ответить с цитированием
Старый 25.03.2010, 10:58   #2
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

а чего сразу не открывая то?
Dophin вне форума Ответить с цитированием
Старый 25.03.2010, 11:03   #3
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию

это долго. дальше будет цикл, который будет проверять десятки файлов и вытаскивать с них информацию. и если каждую открывать, займет много времени
maksim_serg вне форума Ответить с цитированием
Старый 25.03.2010, 11:11   #4
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

открыть файл, найти нужное, скопировать, закрыть файл - максимум секунду займет у макроса.
Но не хотите как хотите
Dophin вне форума Ответить с цитированием
Старый 25.03.2010, 11:13   #5
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Не открывая книгу, можно получить данные из известного листа и известной ячейки (диапазона). Если диапазон, в котором требуется найти искомое значение не большой, то можно создать временный лист, получить в нем значения из закрытой книги (посредством создания и удаления ссылок), и затем выполнять поиск. Если же диапазон большой, то это может оказаться еще дольше, нежели открывать каждый файл.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 25.03.2010, 11:20   #6
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию

Цитата:
Сообщение от Dophin Посмотреть сообщение
открыть файл, найти нужное, скопировать, закрыть файл - максимум секунду займет у макроса.
Но не хотите как хотите
а поподробнее, если можно?
maksim_serg вне форума Ответить с цитированием
Старый 25.03.2010, 11:21   #7
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

куда уж подробнее то?)
выкладывайте пример
Dophin вне форума Ответить с цитированием
Старый 25.03.2010, 11:39   #8
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию

архив с двумя файлами
Вложения
Тип файла: rar поиск ячейки.rar (12.6 Кб, 38 просмотров)
maksim_serg вне форума Ответить с цитированием
Старый 25.03.2010, 11:48   #9
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

Код:
Sub pp()
Application.ScreenUpdating = False
Dim n As String
Dim m As String
Dim s
m = "ячейка 1"
n = "Книга1.xls"
Workbooks.Open ThisWorkbook.Path & "/" & n
s = Workbooks(n).Sheets(1).UsedRange.Find(what:=m, LookIn:=xlValues, lookat:=xlWhole).Address
ThisWorkbook.Sheets(1).[a2] = Workbooks(n).Sheets(1).Range(s)
Workbooks(n).Close False
Application.ScreenUpdating = True
End Sub
файлы лежат в одной папке.
насчет Sheets(1).UsedRange.Find - можно (даже нужно) задать ту область где надо искать.

Последний раз редактировалось Dophin; 25.03.2010 в 11:50.
Dophin вне форума Ответить с цитированием
Старый 25.03.2010, 11:54   #10
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите пример без открытия файла (об ограничениях я уже говорил).
Вложения
Тип файла: rar No_Open.rar (16.8 Кб, 111 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск одного изображения в другом czuryk Мультимедиа в Delphi 12 29.04.2013 18:13
Получить в другом файле тот же текст, записанный заглавными буквами. Nightt Помощь студентам 5 21.06.2009 00:01
Как в одном файле взять цифру из ячейки другого файла? Hallo Microsoft Office Excel 3 26.05.2009 01:25
Поиск в файле hen Общие вопросы C/C++ 0 11.04.2009 22:34
может ли программма выполнять действия описаные в другом файле? Iceman Общие вопросы Delphi 9 14.03.2009 21:22