Вопрос по Exel, помогите, кто разбирается

 
Имеем динамическую таблицу в эксель, нужно сделать снимок этой таблицы в определенное время и поместить на Лист2 и чтобы там значения не обновлялись с основной таблицей. Помогите с кодом VBA. Вообще проблемы с установлением констант. Присваеваем ячейке формулу ТДАТА(), при запуске программы выводится текущая дата и время, но при каждом обращении к ячейке время меняется, а как запретить пересчет для этой ячейке. Все это необходимо для определения входных констант для цикла в коде VBA. Еще не могу найти формулу для преобразования даты в ячейке в цифровом форматк в текстовый формат через формулу, а не меню, т к хочу использовать функцию ДАТАЗНАЧ, а там требуется текстовый формат.
 
eugene771 писал(а) >>
Имеем динамическую таблицу в эксель, нужно сделать снимок этой таблицы в определенное время и поместить на Лист2 и чтобы там значения не обновлялись с основной таблицей. Помогите с кодом VBA.

У тебя пример кода, который ты сам делал есть? Или мне с нуля тебе всё написать? Для коприрования значений из одной ячейки в другую можно поспользоваться обычным присваиванием

Worksheets("Лист2").Cells(1, 1) = Worksheets("Лист1").Cells(1, 1).Value
Вообще проблемы с установлением констант. Присваеваем ячейке формулу ТДАТА(), при запуске программы выводится текущая дата и время, но при каждом обращении к ячейке время меняется, а как запретить пересчет для этой ячейке. Все это необходимо для определения входных констант для цикла в коде VBA. Еще не могу найти формулу для преобразования даты в ячейке в цифровом формате в текстовый формат через формулу, а не меню, т к хочу использовать функцию ДАТАЗНАЧ, а там требуется текстовый формат.

Тяжело понять. Выкладывай файл

 

Чтобы отключить автоматический пересчет поищите в хелпе к VBA по этим словам (имхо можно указать после app книгу . лист . диапазон):

Application.Calculation = xlManual 'отключаем пересчет

Application.Calculation = xlAutomatic 'включаем обратно пересчет

Функция перевода в текстовый формат:

=TEXT(B3;"ДД.ММ.ГГ")

А вообще лучше не парится и обратится к спецам. Правда за $. =(

http://www.free-lance.ru/users/ideas_VBACoding

 
EvgeTrofi >>:

У тебя пример кода, который ты сам делал есть? Или мне с нуля тебе всё написать? Для коприрования значений из одной ячейки в другую можно поспользоваться обычным присваиванием

Тяжело понять. Выкладывай файл

Я просто в Exel никогда ничего не делал, прочитал Подробное руководство по созданию формул и пытаюсь начать работать. Просто не знаю как элементарные операции провести. Как заставить определенную процедуру исполнится при открытиии книги, а также задать таймер на процедуру? В функцию код не включается, процедуры в ячейку не записываются. Так бы создал один лист инициализации с функциями в ячейках при запуске Exel он обсчитался и я к нему больше и не обращался и он бы соответственно не пересчитывался. Где здесь ошибка, и как заставить работать такие вставки в функциях??

Function USER()

Worksheets("Книга2").Cells(1, 1) = Worksheets("Книга1").Cells(1, 1).Value
USER = 1
End Function

 
Kokain >>:

Чтобы отключить автоматический пересчет поищите в хелпе к VBA по этим словам (имхо можно указать после app книгу . лист . диапазон):

Application.Calculation = xlManual 'отключаем пересчет

Application.Calculation = xlAutomatic 'включаем обратно пересчет

Функция перевода в текстовый формат:

=TEXT(B3;"ДД.ММ.ГГ")

А вообще лучше не парится и обратится к спецам. Правда за $. =(

http://www.free-lance.ru/users/ideas_VBACoding

Да и каждый день к спецам обращаться прикажете? Я с Метастоком разобрался, с MQL4 разобрался, и с Exel разберусь, если помогут. Просто часто приходиться все редактировать и это лучше уметь самому. За функцию перевода в текстовый формат спасибо. Может еще знаете как из ячейки с формулой ТДАТА() с прмощью функции ТЕКСТ можно время отдельно вытащить, если такое возможно.

 
eugene771 писал(а) >>

Да и каждый день к спецам обращаться прикажете? Я с Метастоком разобрался, с MQL4 разобрался, и с Exel разберусь, если помогут. Просто часто приходиться все редактировать и это лучше уметь самому. За функцию перевода в текстовый формат спасибо. Может еще знаете как из ячейки с формулой ТДАТА() с прмощью функции ТЕКСТ можно время отдельно вытащить, если такое возможно.

В английском excel есть =today() - только текущая дата (без времени). Это fyi

А есть еще =now() - текущая дата и текущее время (меняется только при пересчете листа/ячейки). Из now() берем формулой дату: =TEXT(B3;"ДД.ММ.ГГ"), а теперь берем время =TEXT(B3;"ЧЧ:ММ").

Причина обращения: