Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос, фиксированные текущее время и дата - Мир MS Excel

Старая форма входа
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Модератор форума: китин, _Boroda_  
Макрос, фиксированные текущее время и дата
Мур Дата: Вторник, 22.03.2011, 20:14 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Добрый вечер! или добрый......
Прошу макросоведов помочь написать код по вставке фиксированной
даты и времени, в заданную ячейку. Вставка должна производиться по условию,
например, если A1<>"", то в ячейке B1 вставка даты, в противном случае B1="".
Данное правило должно работать и в остальных ячейках столбцов A и B.
В дальнейшем вставленные даты не должны изменяться.
Ранее я получил на форуме информацию,
как этого добиться с помощью формул, только там циклическая ссылка.
Это все время раздрожает.
 
Ответить
СообщениеДобрый вечер! или добрый......
Прошу макросоведов помочь написать код по вставке фиксированной
даты и времени, в заданную ячейку. Вставка должна производиться по условию,
например, если A1<>"", то в ячейке B1 вставка даты, в противном случае B1="".
Данное правило должно работать и в остальных ячейках столбцов A и B.
В дальнейшем вставленные даты не должны изменяться.
Ранее я получил на форуме информацию,
как этого добиться с помощью формул, только там циклическая ссылка.
Это все время раздрожает.

Автор - Мур
Дата добавления - 22.03.2011 в 20:14
KuklP Дата: Вторник, 22.03.2011, 20:21 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
[vba]
Код
Public Sub www()
              Dim c As Range
              For Each c In ActiveSheet.UsedRange.Columns(1).Cells
                          c(, 2) = IIf(c = "", "", Date)
              Next
End Sub
[/vba]

или без цикла:
[vba]
Код
Sub www1()
           ActiveSheet.UsedRange.Columns(2).Value = Date
           ActiveSheet.UsedRange.Columns(1).SpecialCells(xlCellTypeBlanks).Offset(, 1).ClearContents
End Sub
[/vba]
Только все это с помощью автофильтра делается за 3 секунды без макросов и формул.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Вторник, 22.03.2011, 21:17
 
Ответить
Сообщение[vba]
Код
Public Sub www()
              Dim c As Range
              For Each c In ActiveSheet.UsedRange.Columns(1).Cells
                          c(, 2) = IIf(c = "", "", Date)
              Next
End Sub
[/vba]

или без цикла:
[vba]
Код
Sub www1()
           ActiveSheet.UsedRange.Columns(2).Value = Date
           ActiveSheet.UsedRange.Columns(1).SpecialCells(xlCellTypeBlanks).Offset(, 1).ClearContents
End Sub
[/vba]
Только все это с помощью автофильтра делается за 3 секунды без макросов и формул.

Автор - KuklP
Дата добавления - 22.03.2011 в 20:21
Serge_007 Дата: Вторник, 22.03.2011, 21:25 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Мур)
Ранее я получил на форуме информацию,
как этого добиться с помощью формул, только там циклическая ссылка.

Киньте ссылку на тему, где Вы взяли такое решение.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Мур)
Ранее я получил на форуме информацию,
как этого добиться с помощью формул, только там циклическая ссылка.

Киньте ссылку на тему, где Вы взяли такое решение.

Автор - Serge_007
Дата добавления - 22.03.2011 в 21:25
KuklP Дата: Вторник, 22.03.2011, 21:35 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Привет, тезка. Виктор такое на Планете выкладывал. Поищи со словом итерации.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеПривет, тезка. Виктор такое на Планете выкладывал. Поищи со словом итерации.

Автор - KuklP
Дата добавления - 22.03.2011 в 21:35
kim Дата: Вторник, 22.03.2011, 21:38 | Сообщение № 5
Группа: Друзья
Ранг: Обитатель
Сообщений: 371
Репутация: 160 ±
Замечаний: 0% ±

Excel 2010
http://www.excelworld.ru/forum/2-254-1
Что автора раздражает при включенных итерациях так и не понял.
И если итерации выключены, как это может работать?


Сцяна - гэта тая ж прыступка. Проста трэба дарасьці да яе.
 
Ответить
Сообщениеhttp://www.excelworld.ru/forum/2-254-1
Что автора раздражает при включенных итерациях так и не понял.
И если итерации выключены, как это может работать?

Автор - kim
Дата добавления - 22.03.2011 в 21:38
Serge_007 Дата: Вторник, 22.03.2011, 21:39 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (KuklP)
Привет, тезка. Виктор такое на Планете выкладывал. Поищи со словом итерации.

Привет. Я думал здесь кто-то выкладывал.
А на Планете искать по слову "итерация" это всё равно что по слову "эксель" искать wink


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (KuklP)
Привет, тезка. Виктор такое на Планете выкладывал. Поищи со словом итерации.

Привет. Я думал здесь кто-то выкладывал.
А на Планете искать по слову "итерация" это всё равно что по слову "эксель" искать wink

Автор - Serge_007
Дата добавления - 22.03.2011 в 21:39
Мур Дата: Среда, 23.03.2011, 00:20 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

KuklP, спасибо, завтра уже попробую Ваш код применить.
Отпишусь обязательно.
Только как автофильтры для этих целей используются не ведаю.
 
Ответить
СообщениеKuklP, спасибо, завтра уже попробую Ваш код применить.
Отпишусь обязательно.
Только как автофильтры для этих целей используются не ведаю.

Автор - Мур
Дата добавления - 23.03.2011 в 00:20
Мур Дата: Среда, 23.03.2011, 00:32 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Serge_007, Вам не успел ответить, kim меня опередил,
это его решение было с помошью формул, наверное я его обидел.
Сначала мне понравилась его формула, но потом, действительно, каждый
раз при открытии файла, эти пытки с вопросами по циклическим ссылкам.
Вообще, не в курсе что такое итерация, но попробую разобраться.
 
Ответить
СообщениеSerge_007, Вам не успел ответить, kim меня опередил,
это его решение было с помошью формул, наверное я его обидел.
Сначала мне понравилась его формула, но потом, действительно, каждый
раз при открытии файла, эти пытки с вопросами по циклическим ссылкам.
Вообще, не в курсе что такое итерация, но попробую разобраться.

Автор - Мур
Дата добавления - 23.03.2011 в 00:32
Мур Дата: Среда, 23.03.2011, 00:38 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

kim, приветствую.
Не хотел Вас обидеть, формула нормальная,
но, действительно, все время пытает меня, сохранить или нет изменения,
даже если я их не вносил,
а при открытии напоминает о циклицеской ссылке.
Это все меня настораживает, а про итерацию я собираюсь только сейчас почитать.
 
Ответить
Сообщениеkim, приветствую.
Не хотел Вас обидеть, формула нормальная,
но, действительно, все время пытает меня, сохранить или нет изменения,
даже если я их не вносил,
а при открытии напоминает о циклицеской ссылке.
Это все меня настораживает, а про итерацию я собираюсь только сейчас почитать.

Автор - Мур
Дата добавления - 23.03.2011 в 00:38
Мур Дата: Среда, 23.03.2011, 00:42 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Serge_007, вот такая примерно была формула:
Код
=ЕСЛИ(ТДАТА()<B1;ТДАТА();ЕСЛИ(A1<>"";B1;""))


Сообщение отредактировал Serge_007 - Суббота, 20.06.2015, 22:18
 
Ответить
СообщениеSerge_007, вот такая примерно была формула:
Код
=ЕСЛИ(ТДАТА()<B1;ТДАТА();ЕСЛИ(A1<>"";B1;""))

Автор - Мур
Дата добавления - 23.03.2011 в 00:42
KuklP Дата: Среда, 23.03.2011, 06:32 | Сообщение № 11
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Quote (Мур)
Только как автофильтры для этих целей используются не ведаю.

Автофильтр по столбцу А - непустые. Дальше выделяем колонку Б в таблице. F5-выделить-только видимые - ctrl+; - ctrl+Enter.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
Quote (Мур)
Только как автофильтры для этих целей используются не ведаю.

Автофильтр по столбцу А - непустые. Дальше выделяем колонку Б в таблице. F5-выделить-только видимые - ctrl+; - ctrl+Enter.

Автор - KuklP
Дата добавления - 23.03.2011 в 06:32
Мур Дата: Среда, 23.03.2011, 12:33 | Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Техника по автофильтру ясна, спасибо.
А с макросом пока еще не пробовал, напишу позже.
 
Ответить
СообщениеТехника по автофильтру ясна, спасибо.
А с макросом пока еще не пробовал, напишу позже.

Автор - Мур
Дата добавления - 23.03.2011 в 12:33
nilem Дата: Среда, 23.03.2011, 14:08 | Сообщение № 13
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Так интереснее получается smile
[vba]
Код
Sub tyutyu()
Dim pz As Range
For Each pz In Range("A1:A100")
      If Len(pz) Then
          If Len(pz.Next) = 0 Then pz.Next = Date
      Else
          pz.Next = ""
      End If
Next
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеТак интереснее получается smile
[vba]
Код
Sub tyutyu()
Dim pz As Range
For Each pz In Range("A1:A100")
      If Len(pz) Then
          If Len(pz.Next) = 0 Then pz.Next = Date
      Else
          pz.Next = ""
      End If
Next
End Sub
[/vba]

Автор - nilem
Дата добавления - 23.03.2011 в 14:08
KuklP Дата: Среда, 23.03.2011, 14:24 | Сообщение № 14
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Цитата (Мур)
В дальнейшем вставленные даты не должны изменяться.

Да Николай, это я прозевал.
Ну тогда так, без цикла:
[vba]
Код
Sub www1()
      With ActiveSheet.UsedRange.Columns(1)
          .Offset(, 1).SpecialCells(4).Value = Date
          .SpecialCells(4).Offset(, 1).ClearContents
      End With
End Sub
[/vba]
Еще интересней:-)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Среда, 23.03.2011, 14:34
 
Ответить
Сообщение
Цитата (Мур)
В дальнейшем вставленные даты не должны изменяться.

Да Николай, это я прозевал.
Ну тогда так, без цикла:
[vba]
Код
Sub www1()
      With ActiveSheet.UsedRange.Columns(1)
          .Offset(, 1).SpecialCells(4).Value = Date
          .SpecialCells(4).Offset(, 1).ClearContents
      End With
End Sub
[/vba]
Еще интересней:-)

Автор - KuklP
Дата добавления - 23.03.2011 в 14:24
Мур Дата: Воскресенье, 27.03.2011, 12:23 | Сообщение № 15
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Здравствуйте, KuklP и nilem.
Взял ваши коды и скопировал себе, при этом у меня они работают только с ручника.
Я мало в этом понимаю, так и должно быть???
Если нет, то что я делаю неправильно?
 
Ответить
СообщениеЗдравствуйте, KuklP и nilem.
Взял ваши коды и скопировал себе, при этом у меня они работают только с ручника.
Я мало в этом понимаю, так и должно быть???
Если нет, то что я делаю неправильно?

Автор - Мур
Дата добавления - 27.03.2011 в 12:23
Serge_007 Дата: Воскресенье, 27.03.2011, 12:30 | Сообщение № 16
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
И Вам тоже здравствуйте smile

Quote (Мур)
у меня они работают только с ручника.

Что Вы имеете ввиду?

ЗЫ Я понимаю слово "ручник" как "ручной тормоз".



ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеИ Вам тоже здравствуйте smile

Quote (Мур)
у меня они работают только с ручника.

Что Вы имеете ввиду?

ЗЫ Я понимаю слово "ручник" как "ручной тормоз".


Автор - Serge_007
Дата добавления - 27.03.2011 в 12:30
Мур Дата: Воскресенье, 27.03.2011, 12:38 | Сообщение № 17
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

С ручника, в моем понимании, значит что их приходтся запускать вручную.
 
Ответить
СообщениеС ручника, в моем понимании, значит что их приходтся запускать вручную.

Автор - Мур
Дата добавления - 27.03.2011 в 12:38
Serge_007 Дата: Воскресенье, 27.03.2011, 13:06 | Сообщение № 18
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
А Вам как надо?
По какому событию?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеА Вам как надо?
По какому событию?

Автор - Serge_007
Дата добавления - 27.03.2011 в 13:06
Мур Дата: Воскресенье, 27.03.2011, 13:17 | Сообщение № 19
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Я думал, что это должно работать так:
Заполняем ячейку A1, появляется фиксированная текущая дата и время в ячейке B 1.
Далее, если вносим изменения в ячейку А1, то опять вставляется обновленная текущая дата и время в ячейке B 1.
Причем фиксированная в моем понимании означает, что она неизменна до следующего редактирования ячейки A1.
Обработку событий (может это неправильно, подсмотрел в другой теме) тоже уже запускал
Sub emergency() 'восстановить обработку событий
Application.EnableEvents = True
End Sub
Не помогает.
 
Ответить
СообщениеЯ думал, что это должно работать так:
Заполняем ячейку A1, появляется фиксированная текущая дата и время в ячейке B 1.
Далее, если вносим изменения в ячейку А1, то опять вставляется обновленная текущая дата и время в ячейке B 1.
Причем фиксированная в моем понимании означает, что она неизменна до следующего редактирования ячейки A1.
Обработку событий (может это неправильно, подсмотрел в другой теме) тоже уже запускал
Sub emergency() 'восстановить обработку событий
Application.EnableEvents = True
End Sub
Не помогает.

Автор - Мур
Дата добавления - 27.03.2011 в 13:17
nilem Дата: Воскресенье, 27.03.2011, 15:14 | Сообщение № 20
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Цитата (Мур)
Заполняем ячейку A1, появляется фиксированная текущая дата и время в ячейке B 1.
Далее, если вносим изменения в ячейку А1, то опять вставляется обновленная текущая дата и время в ячейке B 1.

Если так, то вот кодец:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Me.UsedRange.Columns(1), Target) Is Nothing Then Exit Sub
Application.EnableEvents = False
If Target = "" Then Target.Next = "" Else Target.Next = Now
Application.EnableEvents = True
End Sub
[/vba]
Это надо вставить в модуль листа (ПКМ по ярлычку листа - Исходный текст).


Яндекс.Деньги 4100159601573
 
Ответить
Сообщение
Цитата (Мур)
Заполняем ячейку A1, появляется фиксированная текущая дата и время в ячейке B 1.
Далее, если вносим изменения в ячейку А1, то опять вставляется обновленная текущая дата и время в ячейке B 1.

Если так, то вот кодец:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Me.UsedRange.Columns(1), Target) Is Nothing Then Exit Sub
Application.EnableEvents = False
If Target = "" Then Target.Next = "" Else Target.Next = Now
Application.EnableEvents = True
End Sub
[/vba]
Это надо вставить в модуль листа (ПКМ по ярлычку листа - Исходный текст).

Автор - nilem
Дата добавления - 27.03.2011 в 15:14
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!