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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2011, 10:04   #1
mr.beginner
 
Регистрация: 08.07.2008
Сообщений: 6
По умолчанию Вставить в ячейку время когда была заполнена другая ячейка

Здравствуйте.
Подскажите пожалуйста как можно организовать следующее:
Есть две ячейки. В первую я ввожу информацию (не важно какую. Просто делаю ячейку не пустой). А во вторую ячейку должно вписываться время заполнения первой ячейки.
Время во второй ячейке должно изменяться лишь если произошло изменение в первой ячейке, но никак не при изменении реального времени на компьютере.

Последний раз редактировалось mr.beginner; 23.05.2011 в 10:07.
mr.beginner вне форума Ответить с цитированием
Старый 23.05.2011, 10:17   #2
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от mr.beginner Посмотреть сообщение
Здравствуйте.
Подскажите пожалуйста как можно организовать следующее:
Есть две ячейки. В первую я ввожу информацию (не важно какую. Просто делаю ячейку не пустой). А во вторую ячейку должно вписываться время заполнения первой ячейки.
Время во второй ячейке должно изменяться лишь если произошло изменение в первой ячейке, но никак не при изменении реального времени на компьютере.

Для большинства случаев
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.AddressLocal <> "$A$1" Then Exit Sub
[b1] = Time
End Sub
в А1 вводитите в B1 время
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 23.05.2011, 10:28   #3
mr.beginner
 
Регистрация: 08.07.2008
Сообщений: 6
По умолчанию

Спасибо Вам за помощь.
А возможно ли это организовать с помощью стандартных функций Excel?
а то я далёк от того как вы предложили решить эту задачу

Последний раз редактировалось mr.beginner; 23.05.2011 в 10:37.
mr.beginner вне форума Ответить с цитированием
Старый 23.05.2011, 10:31   #4
WizarD.89
Форумчанин
 
Аватар для WizarD.89
 
Регистрация: 02.12.2010
Сообщений: 160
По умолчанию

можно еще создать такую вот функцию в модуле:

Код:
Function changeCell_getTime(cel As Range) As String
changeCell_getTime = Time
End Function
и использовать таким обазом: b1="=changeCell_getTime(a1)"

где b1 -ячейка в которую вписывается время
а a1 - ячейка которая будет изменятся
WizarD.89 вне форума Ответить с цитированием
Старый 23.05.2011, 10:53   #5
WizarD.89
Форумчанин
 
Аватар для WizarD.89
 
Регистрация: 02.12.2010
Сообщений: 160
По умолчанию

mr.beginner чем вам не нравиться мой варинт? эту функцию, можно использовать "как стандартную", главное что бы она была в модуле.
WizarD.89 вне форума Ответить с цитированием
Старый 23.05.2011, 11:16   #6
mr.beginner
 
Регистрация: 08.07.2008
Сообщений: 6
По умолчанию

Цитата:
Сообщение от WizarD.89 Посмотреть сообщение
mr.beginner чем вам не нравиться мой варинт? эту функцию, можно использовать "как стандартную", главное что бы она была в модуле.
Я, к сожалению, не умею пользоваться всякими там модулями.
Вот так взять и скопировать я не могу - мне нужно понимать, что означает каждое слово (так вот я устроен)
mr.beginner вне форума Ответить с цитированием
Старый 23.05.2011, 11:39   #7
WizarD.89
Форумчанин
 
Аватар для WizarD.89
 
Регистрация: 02.12.2010
Сообщений: 160
По умолчанию

Цитата:
Я, к сожалению, не умею пользоваться всякими там модулями.
Вот так взять и скопировать я не могу - мне нужно понимать, что означает каждое слово (так вот я устроен)

вот вам пример.
откроете книгу, потом зайдете в редактор VBA (горячая клавиша alt+f11) дальше нужно заметить "module1",и открыть его. В нем и будет содержаться созданная мной функция:

Код:
Function changeCell_getTime(cel As Range) As String
changeCell_getTime = Time
End Function
Которая в качестве параметра принимает ячейку за который будет следить и возвращает при изменении этой ячейки, время ее изменения.

Эту функцию можно использовать как обычную формулу. достаточно написать в ячейке "=" и название функий, тоесть "changeCell_getTime" и передать ей ячейку за которой функция будет следить.

это можно рассмотреть на примере, в моей книги excel. На листе1 в ячейке "b1" содержится формула, которая будут возвращать время при изменении ячейки "a1".


Для того что бы формула работала нужно разрешить в безопасности запуск макросов.
Вложения
Тип файла: rar При измений.rar (7.1 Кб, 52 просмотров)
WizarD.89 вне форума Ответить с цитированием
Старый 23.05.2011, 11:45   #8
mr.beginner
 
Регистрация: 08.07.2008
Сообщений: 6
По умолчанию

Большое... да что там... ОГРОМНОЕ Вам СПАСИБО за помощь.
Как приятно когда есть такие отзывчивые люди.
mr.beginner вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставить дату и время в ячейку kzld Microsoft Office Excel 5 24.01.2011 18:02
Как сделать чтобы одна ячейка таблицы содержала такой же текст как другая? 3мей Microsoft Office Word 2 15.01.2011 22:55
Вставить *ico в ячейку DBGridEh new player Компоненты Delphi 4 04.10.2010 14:30
как получить список запущенных программ и узнать когда и во сколько какая была запущена Аlex Общие вопросы C/C++ 8 04.12.2009 17:18
Как вывести сообщение когда в столбце уже заполнена последняя ячейка StringGrid ARXangel Общие вопросы Delphi 5 18.03.2009 08:24