Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуск пользов функции по откр листа 
V
    Опции темы
anvo
Дата 13.3.2007, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.6.2006

Репутация: нет
Всего: нет



Подскажите какой код мне необходимо вставить в созданную функцию или изменить какое свойства листа/книги, где используется функция, чтобы пересчет ячеек с формулой происходил при открытии данного листа, а не изменению ячеек в других листах, как сейчас
PM MAIL   Вверх
coderx
Дата 13.3.2007, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 8.9.2005

Репутация: нет
Всего: нет



Сервис -> Параметры -> Вычисления
PM MAIL   Вверх
bilya
Дата 13.3.2007, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 3.1.2007

Репутация: 1
Всего: 1



Если при открытии листа, то может быть по событию Worksheet_Activate этого листа? Вроде того:
Код

Private Sub Worksheet_Activate()
MyBestFunction
End Sub

PM MAIL   Вверх
RockClimber
Дата 14.3.2007, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: 7
Всего: 15



Сервис -> Параметры -> Вычисления - отключаем автоматический пересчет.
Код

Private Sub Worksheet_Activate()
Calculate
End Sub

Вызываем пересчет ячеек.


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
anvo
Дата 14.3.2007, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.6.2006

Репутация: нет
Всего: нет



Цитата(RockClimber @ 14.3.2007,  08:09)
Сервис -> Параметры -> Вычисления - отключаем автоматический пересчет.
Код

Private Sub Worksheet_Activate()
Calculate
End Sub

Вызываем пересчет ячеек.

Так не получилось, т.к. отключается автом. пересчет на всех листах книги.
Решил следующим образом.
В редакторе VBA установил для требуемого листа  EnableCalculation = False
Остальные листы пересчитываютс автоматом

А в листе повесил кнопку с кодом:
Код

Private Sub CommandButton1_Click()
ActiveSheet.EnableCalculation = True
ActiveSheet.Calculate
ActiveSheet.Cells("D2").Value = Now
ActiveSheet.EnableCalculation = False
End Sub


Вопрос с вычислением решился ОК!
НО получаю ошибку run error (13) missing type от
ActiveSheet.Cells("D2").Value = Now 
и не пойму в чем дело. 
Не подскажите, люди добрые smile 
PM MAIL   Вверх
mihanik
Дата 14.3.2007, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



Попробуй так

ActiveSheet.Range("D2").Value = Cstr (Now)


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
anvo
Дата 14.3.2007, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.6.2006

Репутация: нет
Всего: нет



Большое спасибо, получилось! 
А в чём была проблема, почему нельзя вернуть в ячейку тип DATE? 
Так придется еще дополнительно форматить в вид дд-мм чч-мм для красоты

PM MAIL   Вверх
mihanik
Дата 14.3.2007, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



Думаю, что проблема была в использовании Cells.

формат:

Cells ( RowIndex, ColIndex)

А ты использовал обозначение клетки "D2".

Поэтому пришлось использовать Range


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0471 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.