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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос добавления/обновления даты - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Макрос добавления/обновления даты
Demon68 Дата: Среда, 21.08.2013, 08:49 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Есть макрос... два действия...
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
For Each cell In Target 'проходим по всем измененным ячейкам
If Not Intersect(cell, Range("I5:M1000")) Is Nothing Then
With Range("H" & cell.Row)
.Value = Now
.EntireColumn.AutoFit
End With
End If
Next cell
For Each cell In Target 'проходим по всем измененным ячейкам
If Not Intersect(cell, Range("B5:F1000")) Is Nothing Then
With Range("A" & cell.Row)
.Value = Now
.EntireColumn.AutoFit
End With
End If
Next cell
End Sub
[/vba]

Мне нужно подправить макрос так, чтоб в действии 1 новая дата не только добавлялась (обновлялась) в строчке (Н), где происходят изменения (I5:M1000), но и в конкретном месте "Н5"
то же самое и по второму действию... там нужно, чтоб дата еще обновлялась и в "А5".
Ломаю голову. Сразу скажу... я мягко говоря в этом плохо соображаю. Этот то макрос пол-дня с помощью Интернета создавал. :)


Сообщение отредактировал Demon68 - Среда, 21.08.2013, 08:58
 
Ответить
СообщениеЕсть макрос... два действия...
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
For Each cell In Target 'проходим по всем измененным ячейкам
If Not Intersect(cell, Range("I5:M1000")) Is Nothing Then
With Range("H" & cell.Row)
.Value = Now
.EntireColumn.AutoFit
End With
End If
Next cell
For Each cell In Target 'проходим по всем измененным ячейкам
If Not Intersect(cell, Range("B5:F1000")) Is Nothing Then
With Range("A" & cell.Row)
.Value = Now
.EntireColumn.AutoFit
End With
End If
Next cell
End Sub
[/vba]

Мне нужно подправить макрос так, чтоб в действии 1 новая дата не только добавлялась (обновлялась) в строчке (Н), где происходят изменения (I5:M1000), но и в конкретном месте "Н5"
то же самое и по второму действию... там нужно, чтоб дата еще обновлялась и в "А5".
Ломаю голову. Сразу скажу... я мягко говоря в этом плохо соображаю. Этот то макрос пол-дня с помощью Интернета создавал. :)

Автор - Demon68
Дата добавления - 21.08.2013 в 08:49
Формуляр Дата: Среда, 21.08.2013, 09:37 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Demon68, дайте своей теме более содержательное название.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
For Each cell In Target 'проходим по всем измененным ячейкам
If Not Intersect(cell, Range("I5:M1000")) Is Nothing Then
[H5]=Now
With Range("H" & cell.Row)
  .Value = Now
  .EntireColumn.AutoFit
End With
End If
Next cell
For Each cell In Target 'проходим по всем измененным ячейкам
If Not Intersect(cell, Range("B5:F1000")) Is Nothing Then
[A5]=Now
With Range("A" & cell.Row)
  .Value = Now
  .EntireColumn.AutoFit
End With
End If
Next cell
End Sub
[/vba]


Excel 2003 EN, 2013 EN
 
Ответить
СообщениеDemon68, дайте своей теме более содержательное название.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
For Each cell In Target 'проходим по всем измененным ячейкам
If Not Intersect(cell, Range("I5:M1000")) Is Nothing Then
[H5]=Now
With Range("H" & cell.Row)
  .Value = Now
  .EntireColumn.AutoFit
End With
End If
Next cell
For Each cell In Target 'проходим по всем измененным ячейкам
If Not Intersect(cell, Range("B5:F1000")) Is Nothing Then
[A5]=Now
With Range("A" & cell.Row)
  .Value = Now
  .EntireColumn.AutoFit
End With
End If
Next cell
End Sub
[/vba]

Автор - Формуляр
Дата добавления - 21.08.2013 в 09:37
RAN Дата: Среда, 21.08.2013, 10:18 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Target, Range("I5:M" & Rows.Count)) Is Nothing Then
         Range("A5 , H5") = Now
         For i = Target.Row To Target.Row + Target.Rows.Count - 1
                   Union(Range("A" & i), Range("H" & i)) = Now
          Next
         Range(Columns(1), Columns(8)).AutoFit
     End If
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Среда, 21.08.2013, 10:50
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Target, Range("I5:M" & Rows.Count)) Is Nothing Then
         Range("A5 , H5") = Now
         For i = Target.Row To Target.Row + Target.Rows.Count - 1
                   Union(Range("A" & i), Range("H" & i)) = Now
          Next
         Range(Columns(1), Columns(8)).AutoFit
     End If
End Sub
[/vba]

Автор - RAN
Дата добавления - 21.08.2013 в 10:18
Demon68 Дата: Среда, 21.08.2013, 14:42 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо большое! Макрос Формуляра оказался полностью... надеюсь... рабочий. А вот с макросом Ran небольшая заминка. Изменяется дата в строках "А5", "Н" и "Н5", а в "А" дата при исправлении в ячейке не меняется..
 
Ответить
СообщениеСпасибо большое! Макрос Формуляра оказался полностью... надеюсь... рабочий. А вот с макросом Ran небольшая заминка. Изменяется дата в строках "А5", "Н" и "Н5", а в "А" дата при исправлении в ячейке не меняется..

Автор - Demon68
Дата добавления - 21.08.2013 в 14:42
RAN Дата: Среда, 21.08.2013, 14:58 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Без файла ничем не могу помочь. У меня все работает.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеБез файла ничем не могу помочь. У меня все работает.

Автор - RAN
Дата добавления - 21.08.2013 в 14:58
  • Страница 1 из 1
  • 1
Поиск:

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