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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2013, 16:56   #1
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию Время внесения изменения в ячейке

Здравствуйте!

Подскажите пожалуйста. При занесении данных в ячейки - в соседних автоматом ставится время занесения данных.
Сделал так :

Private Sub Worksheet_Change(ByVal Target As Range)
For Each cell In Target 'проходим по всем измененным ячейкам
If Not Intersect(cell, Range("B3:B42")) Is Nothing Then 'если изменененная ячейка попадает в диапазон B3:B50
With cell.Offset(0, 1) 'вводим в соседнюю справа ячейку дату
.Value = Now
.EntireColumn.AutoFit 'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
End With
End If
Next cell

Всё работает.
Единственное время изменения ячейки ставится и при удалении данных.
Как этого избежать?
and150382 вне форума Ответить с цитированием
Старый 14.02.2013, 18:24   #2
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию

Например так
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
 For Each cell In Target 'проходим по всем измененным ячейкам
 If Not Intersect(cell, Range("B3:B42")) Is Nothing Then 'если изменененная ячейка попадает в диапазон B3:B50
 If Target(1, 1).Value = 0 Then
  With cell.Offset(0, 1)
 .ClearContents
  End With
 Else
 With cell.Offset(0, 1) 'вводим в соседнюю справа ячейку дату
 .Value = Now
 .EntireColumn.AutoFit 'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
 End With
 End If
 End If
 Next cell
End Sub
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
 For Each cell In Target 'ïðîõîäèì ïî âñåì èçìåíåííûì ÿ÷åéêàì
 If Not Intersect(cell, Range("B3:B42")) Is Nothing Then 'åñëè èçìåíåíåííàÿ ÿ÷åéêà ïîïàäàåò â äèàïàçîí B3:B50
 If Target(1, 1).Value = 0 Then
  With cell.Offset(0, 1)
 .ClearContents
  End With
 Else
 With cell.Offset(0, 1) 'ââîäèì â ñîñåäíþþ ñïðàâà ÿ÷åéêó äàòó
 .Value = Now
 .EntireColumn.AutoFit 'âûïîëíÿåì àâòîïîäáîð øèðèíû äëÿ ñòîëáöà B, ÷òîáû äàòà óìåùàëàñü â ÿ÷åéêå
 End With
 End If
 End If
 Next cell
End Sub

Последний раз редактировалось agregator; 14.02.2013 в 18:33.
agregator вне форума Ответить с цитированием
Старый 14.02.2013, 18:30   #3
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию

Кто нибудь, поскажите, как сделать, чтобы при копирование из Редактор Visual Basic, русские буквы отображались правильно, а не так как с здесь.
agregator вне форума Ответить с цитированием
Старый 14.02.2013, 18:40   #4
Watcher_1
Форумчанин
 
Аватар для Watcher_1
 
Регистрация: 22.06.2011
Сообщений: 325
По умолчанию

Закиньте в блокнот а из блокнота сюда...
+ Как вариант подключите кодировку 20880
Заказать макрос можно на сайте http://excel4you.ru/

Последний раз редактировалось Watcher_1; 14.02.2013 в 18:42.
Watcher_1 вне форума Ответить с цитированием
Старый 14.02.2013, 18:45   #5
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию

У меня и в блокнот, вставляются кракозябры.
agregator вне форума Ответить с цитированием
Старый 14.02.2013, 18:51   #6
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию

Первый раз в блокнот, вставились кракозябры, а потом стали вставляться русские на сам сайт напрямую. Спасибо за совет.
agregator вне форума Ответить с цитированием
Старый 14.02.2013, 19:48   #7
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

Спасибо всё работает!!!:
and150382 вне форума Ответить с цитированием
Старый 14.02.2013, 23:31   #8
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

Цитата:
Сообщение от agregator Посмотреть сообщение
Первый раз в блокнот, вставились кракозябры, а потом стали вставляться русские на сам сайт напрямую. Спасибо за совет.
Просто копируйте код при русской раскладке клавиатуры
strannick вне форума Ответить с цитированием
Старый 15.02.2013, 16:51   #9
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию

strannick, СПАСИБО. Всё именно так и есть. Проблема была именно в раскладке клавиатуры.
agregator вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработчик события изменения в ячейке в Excel TorLink Microsoft Office Excel 38 10.10.2012 22:01
Время изменения файла Fok Общие вопросы Delphi 4 04.10.2010 16:13
На какое событие повесить процедуру изменения насыщенности шрифта в ячейке? O_H Microsoft Office Excel 3 19.08.2010 20:06
макрос изменения формулы в ячейке по назначеной клавише sdlm Microsoft Office Excel 2 25.12.2009 13:53
Насчет изменения цвета текста в ячейке motorway Microsoft Office Excel 2 18.07.2009 19:38