Страницы: 1 2 След.
RSS
Данные в закрытую книгу
 
Здравствуйте, подскажите макрос для добавления значений в ячейки закрытой книги? например из одной открытой книги скопировать значения активной ячейки в первую пустую ячейку закрытой книги.
 
я вижу один способ: макросом, незаметно для юзера, открыть эту закрытую книгу, записать нужное значение в нужное место, закрыть книгу с сохранением данных.  
 
правда, если книги тесно связаны, возможны сюрпризы (в виде обновления связей, пересчетов результатов формул и т.п.) и юзер сойдет с ума, а вас посодют в тюрьму - за причинение тяжких.  
 
подумайте ещё раз - оно вам надо?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Надо.... основная книга, это хранилище макросов и так далее, остальные книги будут хранить только информацию.  
 
32233
 
Чтоб не обновлялись данные - можно эту книгу сперва переименовать, потом открыть, добавить данные, закрыть, переименовать назад.  
Не проверял - свежепридуманное :)
 
да, имхо, идея вполне жизнеспособная )  
ну и, ессно, application.enableevents=false перед открытием.  
а то мало ли, что там макросы на события захотят натворить :)  
открывать без обновления связей.  
и сохранять - тоже, сперва сняв соответствующую галочку.  
режим вычислений на ручной, думаю, менять не надо, но можно.  
 
в общем... поковыряться придётся.  
 
boom, если Вам всего вышенаписанного (Hugo и мной) будет недостаточно, то могу попробовать слепить такой макрос. но - в понедельник. раньше - никак не могу.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Я уже начал экспериментировать :)    
Но и жду макрос, для саморазвития да и форумчанам я думаю он будет очень полезен :)  
 
Еще один вопрос а можно открыть книгу, что бы пользователь не догадывался, что она открывается, а то application.visible = false выдает открытие excel
 
Sub ViOpen()  
Dim wb As String: wb = ThisWorkbook.Path & "\osn.xlsm" 'путь к основной книге (куда копировать)  
With Application  
   .EnableEvents = False  
   .Calculation = xlCalculationManual  
   .ScreenUpdating = False  
   .Visible = False  
Workbooks.Open Filename:=wb  
ThisWorkbook.ActiveSheet.UsedRange.Copy ActiveWorkbook.ActiveSheet.[a1] 'копируем все данные с активного листа
ActiveWorkbook.Close (True)  
   .EnableEvents = True  
   .Calculation = xlCalculationAutomatic  
   .ScreenUpdating = True  
   .Visible = True  
End With  
End Sub
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
 
{quote}{login=boom}{date=12.05.2012 10:38}{thema=}{post}Еще один вопрос а можно открыть книгу, что бы пользователь не догадывался, что она открывается, а то application.visible = false выдает открытие excel{/post}{/quote}Может быть это поможет?  
Application.ShowWindowsInTaskbar = False
 
Юрий, ничего не происходит, у меня Win7, office 2007.  
 
44665
 
А что должно произойти?
 
Я спросил альтернативу application.visible  
Что бы пользователь не видел как открывается книга excel
 
А что - Application.ShowWindowsInTaskbar = False не помогает? Application.ScreenUpdating у Вас используется?
 
Что с ним, что без, при попытке скрытно открыть книгу вылезает окно excel на некоторое время потом скрывается, цель - что бы пользователь работал только с формой и вообще не видел книги, которые открываются макросами для добавления данных.
 
Если установить в True - что происходит?
 
так же ничего
 
Тогда ничем не могу помочь: у меня ХР - всё нормально отрабатывает (не мигает).
 
Похоже, что Application.ScreenUpdating - неведома зверушка... :)
 
Я спрашивал :-)
 
{quote}{login=Hugo}{date=13.05.2012 12:14}{thema=}{post}Похоже, что Application.ScreenUpdating - неведома зверушка... :){/post}{/quote}  
Это тоже не помогает избежать отображения окна excel на 1-2 сек. :)
 
Тогда странно - всем помогает... Только в панели мигают эти WindowsInTaskbar, если не отключены.  
Может покажете, что там наэкспериментировали?
 
Пробовал по разному.  
Остановился на варианте application.visible = 0, при открытии первой книги, которая управляющая выскакивает окно excel, в дальнейшем, при открытии других книг такого не наблюдалось.  
 
А возможно при application.visible = 0 отобразить только определенную книгу?
 
имхо, копать здесь:  
{quote}{login=boom}{date=12.05.2012 11:44}{thema=}{post}при попытке скрытно открыть книгу вылезает окно excel на некоторое время потом скрывается{/post}{/quote}  
я так понял, что у ТС окно приложения изначально скрыто.  
а у всех остальных - нет :)  
 
пс. решения тоже пока не нашел.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Может поможет.... :)  
распакуйте на физический диск
Спасибо
 
интересненько :)  
Вот только добавляет в ячейки методом +1 от последней ранее заполненной, даже если она пустая
 
{quote}{login=boom}{date=13.05.2012 02:15}{thema=}{post}интересненько :)  
Вот только ...............{/post}{/quote}  
Я Вам дал направление, решенное на 99%, приложите немного старания и сообразительности для решения Ваших насущных задач.  
ps// если хотите что бы все сделали за Вас  пишите что хотите, и что можете предложить.  
ps:ps//Я бы не использовал xls для хранения данных.
Спасибо
 
Дмитрий, для меня ваше решение пока сложновато, пробовал переделать ваш макрос под последнюю пустую ячейку, но никак :)
 
boom мой макрос Вам не подошел?
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
 
Я же написал, что остановился пока на нем :) и жду решения ikki  
 
Повторный вопрос: при application.visible = false можно прописать параметр true только для определенной книги?
 
Нет  
-=77277=-
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
 
Windows("ВтораяКнига.xls").Visible = False
Страницы: 1 2 След.
Читают тему
Наверх