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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2011, 17:09   #11
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

подскажите пожалуйста, как правильно, я о том и спрашиваю

и в каком коде оно прописано??

мне надо, чтобы макрос работал с разными книгами, соответственно, чтобы можно было задать, с какими именно из открытых ему работать.

как еще можно занести Workbook в переменную??
Bape}l{ka вне форума Ответить с цитированием
Старый 24.06.2011, 18:03   #12
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Непонятна задача в общем. Я именно с таким вопросом не сталкивался - обычно макрос работает с активной в определённый момент книгой, или с книгой с известным названием.
1 вариант
Код:
Dim wb As Workbook
Set wb = ActiveWorkbook
2 вариант (книга должна быть уже сохранена на диске)
Код:
Workbooks("Книга1.xls").Sheets(1).Cells(1, 1) = "test"
3 вариант - книга только что создана:
Код:
Set tmpWBk = Application.Workbooks.Add
4 вариант:
Код:
' получаем данные из книг
Set wb = GetObject(ThisWorkbook.Path & "\табл_1.xls")
x = wb.Sheets(1).Range("A2..D" & wb.Sheets(1).Cells(65000, 1).End(xlUp).Row).Value
wb.Close (False)
Set wb = GetObject(ThisWorkbook.Path & "\табл_2.xls")
y = wb.Sheets(1).Range("A2..B" & wb.Sheets(1).Cells(65000, 1).End(xlUp).Row).Value
wb.Close (False)
Set wb = Nothing
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 24.06.2011 в 18:06.
Hugo121 вне форума Ответить с цитированием
Старый 24.06.2011, 19:33   #13
Watcher_1
Форумчанин
 
Аватар для Watcher_1
 
Регистрация: 22.06.2011
Сообщений: 325
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Код:
Dim Кеу_ As Workbook, Table_ As Workbook

'далее заношу название книг в ячейки, откуда их потом и тащу
Key_ = Workbooks("KodKey.xls").Worksheets("KodKey").Cells(5, 7).Value
неправильно так писать.
у вас макрос должен вылететь на строке с Key_ =,
ибо вы переменной типа Workbook присваиваете текстовое значение.

И зачем заносить имя книги в ячейку, если это имя уже прописано в коде???
Да забыл сказать что эту строку надо убрать
Dim Кеу_ As Workbook, Table_ As Workbook

Иначе работать не будет

А вообще было бы лучше если бы вы саму задачу озвучили где вы хотите применить чать этого кода....
Заказать макрос можно на сайте http://excel4you.ru/
Watcher_1 вне форума Ответить с цитированием
Старый 25.06.2011, 00:59   #14
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

ммм... спасибо за варианты
наверно у меня просто извращенная логика =ь
задача такова (я ее уже озвучивала ранее): есть 2 книги (каждый раз это разные 2 книги, поэтому я хочу сделать их переменными).
В одной лежит библиотека с ID-шниками. Другую книгу надо просмотреть на предмет слов из библиотеки и заменить их (слова) на ID

хотелось сделать по-простому, да видать не получается Т_Т
видимо придется как-то загонять эту библиотеку в массив (я не очень в этом понимаю, ну да когда-нибудь надо освоить)).
видимо тут больше всего подходит 4-й вариант Hugo121

может я неправильно рассуждаю и вы мне что-нибудь посоветуете?

вот пример:
Table-Key.zip

Последний раз редактировалось Bape}l{ka; 25.06.2011 в 01:01.
Bape}l{ka вне форума Ответить с цитированием
Старый 25.06.2011, 01:14   #15
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Ну если просто, и таблицы разные, то могу предложить вариант за деньги (но 15 раз бесплатно):
http://www.excelworld.ru/index/comparefiles_find/0-25
или
http://hugo.nxt.ru/CompareFiles.Find.rar

Настройки (пути поменяйте, или сотрите - тогда будет диалог выбора этих файлов)
Файл - приёмник: c:\Temp\Таблица.xls
Файл - источник: c:\Temp\Ключ (Библиотека).xls
Столбцы сравнения в приёмнике: a
Столбцы сравнения в источнике: b
Лист - приёмник (№): 1
Лист - источник (№): 1
Столбцы - приёмники данных копирования: a
Столбцы - источники данных копирования: a

Для второго столбца:
Столбцы сравнения в приёмнике: b
Столбцы сравнения в источнике: b
Лист - приёмник (№): 1
Лист - источник (№): 2
Столбцы - приёмники данных копирования: b
Столбцы - источники данных копирования: b

В принципе, код именно под эту задачу несложный, и примеры есть на форуме.
Но если файлы будут меняться, то непросто организовать диалог ввода параметров.
В моём варианте вписали это на лист, нажали кнопку.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 25.06.2011 в 01:21.
Hugo121 вне форума Ответить с цитированием
Старый 25.06.2011, 09:51   #16
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

А почему не создать простую форму с полями путей файлов? А на задачу выборки можно по моему и ВПР() справится....
gluk_fm вне форума Ответить с цитированием
Старый 26.06.2011, 12:05   #17
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

хочу разобраться, как это делать)
код под эту задачу уже есть, пока так обойдусь, буду думать про форму с полями)
Bape}l{ka вне форума Ответить с цитированием
Старый 26.06.2011, 18:21   #18
Igor67
Пользователь
 
Регистрация: 09.12.2008
Сообщений: 56
По умолчанию

Судя по описанию Вы уже "открыли" первую книгу с которой запускаете макрос. поэтому присвоить переменной эту книгу очень просто
'присваиваем переменной BazaWb ссылку на общий файл
Set BazaWb = ActiveWorkbook
'присваиваем переменной BazaSht ссылку на активный лист в общем файле
Set BazaSht = BazaWb.ActiveSheet
Теперь Вам нужно открыть другой файл. Вы можете сразу при открытии
присвоить ее переменной точно также через ActiveWorkbook. Ведь после открытия эта книга становится активной, а можете зная этот факт сразу обрабатывать данные.
Вариант кода с описанием в файле.
Вложения
Тип файла: txt Выбор_книги.txt (5.5 Кб, 153 просмотров)
обычно я на http://planetaexcel.ru/forum.php
Igor67 вне форума Ответить с цитированием
Старый 27.06.2011, 09:42   #19
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

Igor67, просто низкий поклон вам за труды О_о, я и не надеялась на такое =ь
особенно радуют подробные объяснения))
будем разбираться
Bape}l{ka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос на разноску данных по книгам 804040 Microsoft Office Excel 18 01.03.2011 20:21
подключение одной DBGrid к разным DataSource Rin БД в Delphi 3 12.01.2011 12:15
как привязать одну кнопку к разным книгам akd2009 Microsoft Office Excel 2 02.02.2010 16:26
Возможно ли самому по книгам изучить С++ покаЧайник Свободное общение 11 07.10.2009 18:42
Клетки в listView разным цветом Altera Компоненты Delphi 9 24.09.2009 16:08