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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2012, 01:14   #1
G_D_A
 
Регистрация: 05.12.2011
Сообщений: 3
По умолчанию Как получить номер последней строки закрытой книги

Помогите пожалуйста!
Нужен макрос запускаемый в открытой книге1, в котором необходимо получить номер строки с последней записью, закрытой книги2 (именно закрытой)
G_D_A вне форума Ответить с цитированием
Старый 13.01.2012, 02:23   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

один из вариантов - запрос данных в RecordSet.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 14.01.2012, 02:32   #3
G_D_A
 
Регистрация: 05.12.2011
Сообщений: 3
По умолчанию

На самом деле мне нужно дополнять таблицу книги1 данными из книги2.
Пробовал тупо каждый раз переписывать все необходимые данные из закрытой книги2 в открытую книгу1,

With Worksheets("ЛистХ")

.Range("Диапазон1").Formula = "='" & путь к файлу1 & ЛистХ & "'!" &"Диапазон1"
...
.Range("Диапазон2").Formula = "='" & путь к файлу2 &ЛистХ & "'!" &"Диапазон2"
End With

но данных в каждом диапазоне так много, что обновление затягивалось на долгое время(иногда excel просто зависал), поэтому при использование recordset(а он если мне не изменяет память создается в оперативке) может происходить такой же висяк, а зная последнюю запись в закрытой книге можно переписывать в открытую книгу совсем немного.
G_D_A вне форума Ответить с цитированием
Старый 14.01.2012, 02:56   #4
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

recordset тоже открывает книгу. И простая формула со ссылкой открывает. Просто Вам этого не показывают.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 14.01.2012, 05:02   #5
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
recordset тоже открывает книгу. И простая формула со ссылкой открывает. Просто Вам этого не показывают.
Серёг,насчёт рекордсета я не в курсе, а вот формулы со ссылками книги не открывают. Я проверял с помощью макросов наших MVP. Или есть ещё какой режим открытия книги, кроме видимого и скрытого? Типа как Very Hidden?
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 14.01.2012, 09:11   #6
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
recordset тоже открывает книгу. И простая формула со ссылкой открывает. Просто Вам этого не показывают.
Серег привет, мне кажется рекордсет тоже не открывает файл, все ж application не происходит, да и можешь по экспериментировать, считать в рекордсет пару записей из громадной книги .
-------------------
G_D_A , дополняйте свои записи , через ADO и Вам вообще не придется отслеживать последнюю строку файла , вариантов масса, но нужен все же файл с структурой файла и десяток записей.
по поводу занимаемой памяти рекордсетом, да он в оперативной памяти, но записи в него подгружаются постранично и полное заполнение данными происходит в момент операций выгрузки (массив, на лист, в txt) и тому подобных операциях.
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 14.01.2012, 09:23   #7
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Серж, как в анекдоте "такой большой, а в сказки веришь":-) Как по-твоему обновляются ссылки? Сектора с диска считываются? Что получим после дефрагментации? Файл по-любому надо прочитать. Другое дело, что окно при этом не создается(а может и создается), доступ типа binaryaccess, возможно, индексное чтение по связям. Никакой работы с графикой для открываемого файла. В тонкости я не вникал, но очевидно, чтоб что-то увидеть, надо на это что-то посмотреть. Ну, или грибов поесть:-)
По теме - я не сравнивал, но скорей всего способ определения границ через RecordSet очень быстрый(никакой графики), но может и достаточно получить это через getobject или open в режиме readonly, не обновляя экран. А так, как делает автор "каждый раз переписывать все необходимые данные", еще и вставляя не данные, а ссылки на них(может и забыв отключить автопересчет) - тормозной вариант. ZVI как-то предложил блестящий способ - через ссылку из одной ячейки на именованный диапазон считать в массив все данные диапазона и одним махом высыпать на лист значения. При этом файл явно не открывается(open, getobject), но именованный диапазон в нем вычисляется и создается при каждом сохранении книги.
П.С. Привет, Дим:-)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 14.01.2012 в 09:25.
kuklp вне форума Ответить с цитированием
Старый 14.01.2012, 13:41   #8
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
...Другое дело, что окно при этом не создается...
Тогда что считать "открытием книги"?

Люди-то что хотят? Что бы не тормозило и не видно было. А как это на программном уровне происходит - какая разница?

Ежу понятно, что данные из ничего не возьмутся, но тут вопрос уже в определениях...
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 15.01.2012, 00:35   #9
G_D_A
 
Регистрация: 05.12.2011
Сообщений: 3
По умолчанию

Спасибо за советы! Буду пробовать
G_D_A вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование листов из закрытой книги rubius2008 Microsoft Office Excel 6 05.02.2011 22:44
Как получить имя последней подпапки в папке? artemavd Общие вопросы Delphi 6 04.02.2011 14:58
СУММЕСЛИ из закрытой книги Sha Microsoft Office Excel 1 16.12.2009 17:09
Копирование из закрытой книги Maxx Microsoft Office Excel 11 11.08.2009 10:39
Экспорт данных из закрытой книги как это организовать? Дмитрий Фукс Microsoft Office Excel 11 06.04.2009 23:42