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

Вход

Регистрация

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

 

= Мир MS Excel/Автозаполнение ячейки датой - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автозаполнение ячейки датой (Макросы/Sub)
Автозаполнение ячейки датой
ПалычЪ Дата: Четверг, 22.10.2015, 13:58 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 106
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Добрый день! Помогите плиз: нужен макрос если в столбец А вносим любое значение , то в столбце В автоматом появляется дата когда внесли значение. Если значение из ячейки стобца А удаляем то и ячейка в столбце В становится опять пустой. Спасибо!
К сообщению приложен файл: 6146900.xlsm (8.8 Kb)
 
Ответить
СообщениеДобрый день! Помогите плиз: нужен макрос если в столбец А вносим любое значение , то в столбце В автоматом появляется дата когда внесли значение. Если значение из ячейки стобца А удаляем то и ячейка в столбце В становится опять пустой. Спасибо!

Автор - ПалычЪ
Дата добавления - 22.10.2015 в 13:58
Roman777 Дата: Четверг, 22.10.2015, 14:05 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
ПалычЪ,
Вставьте в модуль книги, на которой вам нужно это
нужен макрос если в столбец А вносим любое значение , то в столбце В автоматом появляется дата когда внесли значение. Если значение из ячейки стобца А удаляем то и ячейка в столбце В становится опять пустой
проделывать .
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
  If Target <> "" Then
     Cells(Target.Row, 2) = Format(Now(), "dd.mm.yyyy")
  Else
     Cells(Target.Row, 2) = ""
  End If
End If
End Sub
[/vba]


Много чего не знаю!!!!
 
Ответить
СообщениеПалычЪ,
Вставьте в модуль книги, на которой вам нужно это
нужен макрос если в столбец А вносим любое значение , то в столбце В автоматом появляется дата когда внесли значение. Если значение из ячейки стобца А удаляем то и ячейка в столбце В становится опять пустой
проделывать .
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
  If Target <> "" Then
     Cells(Target.Row, 2) = Format(Now(), "dd.mm.yyyy")
  Else
     Cells(Target.Row, 2) = ""
  End If
End If
End Sub
[/vba]

Автор - Roman777
Дата добавления - 22.10.2015 в 14:05
Pelena Дата: Четверг, 22.10.2015, 14:06 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Похожая тема
ещё одна

Автор - Pelena
Дата добавления - 22.10.2015 в 14:06
_Boroda_ Дата: Четверг, 22.10.2015, 14:07 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Такой вариант
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target.Column <> 1 Then Exit Sub
    If Target.Value <> "" Then
        Target.Offset(, 1) = Date
    Else
        Target.Offset(, 1).ClearContents
    End If
End Sub
[/vba]
Добавлено
Наверное, вот так лучше будет (файл _2)
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = 0
    For i = 1 To Target.Count
        If Target(i).Column = 1 Then
            If Target(i).Value <> "" Then
                Target(i).Offset(, 1) = Date
            Else
                Target(i).Offset(, 1).ClearContents
            End If
        End If
    Next i
Application.EnableEvents = 1
End Sub
[/vba]
Добавлено
Код в файле _2 переписал, файл перевложил
К сообщению приложен файл: 6146900_1.xlsm (14.4 Kb) · 6146900_2.xlsm (17.1 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТакой вариант
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target.Column <> 1 Then Exit Sub
    If Target.Value <> "" Then
        Target.Offset(, 1) = Date
    Else
        Target.Offset(, 1).ClearContents
    End If
End Sub
[/vba]
Добавлено
Наверное, вот так лучше будет (файл _2)
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = 0
    For i = 1 To Target.Count
        If Target(i).Column = 1 Then
            If Target(i).Value <> "" Then
                Target(i).Offset(, 1) = Date
            Else
                Target(i).Offset(, 1).ClearContents
            End If
        End If
    Next i
Application.EnableEvents = 1
End Sub
[/vba]
Добавлено
Код в файле _2 переписал, файл перевложил

Автор - _Boroda_
Дата добавления - 22.10.2015 в 14:07
ПалычЪ Дата: Четверг, 22.10.2015, 14:16 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 106
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Спасибо всем
 
Ответить
СообщениеСпасибо всем

Автор - ПалычЪ
Дата добавления - 22.10.2015 в 14:16
ПалычЪ Дата: Четверг, 22.10.2015, 19:03 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 106
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
я понял спасибо..и всем + репа
 
Ответить
Сообщениея понял спасибо..и всем + репа

Автор - ПалычЪ
Дата добавления - 22.10.2015 в 19:03
Marisa Дата: Пятница, 06.11.2015, 02:51 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Приветствую! Помогите с аналогичной ситуацией, но чтобы это работала в двух местах листа. В столбец А вводим число - дата появляется в столбце В, а когда вводим число в столбец С (на этом же листе) - дата появляется в D. А - В я реализовала, а вот чтоб и С-D работало не получается.
 
Ответить
СообщениеПриветствую! Помогите с аналогичной ситуацией, но чтобы это работала в двух местах листа. В столбец А вводим число - дата появляется в столбце В, а когда вводим число в столбец С (на этом же листе) - дата появляется в D. А - В я реализовала, а вот чтоб и С-D работало не получается.

Автор - Marisa
Дата добавления - 06.11.2015 в 02:51
_Boroda_ Дата: Пятница, 06.11.2015, 03:02 | Сообщение № 8
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
4-ю строку моего второго макроса перепишите вот так
[vba]
Код
If Target(i).Column = 1 Or Target(i).Column = 3 Then
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение4-ю строку моего второго макроса перепишите вот так
[vba]
Код
If Target(i).Column = 1 Or Target(i).Column = 3 Then
[/vba]

Автор - _Boroda_
Дата добавления - 06.11.2015 в 03:02
Marisa Дата: Пятница, 06.11.2015, 03:10 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо огромное! Все работает.
 
Ответить
СообщениеСпасибо огромное! Все работает.

Автор - Marisa
Дата добавления - 06.11.2015 в 03:10
Marisa Дата: Пятница, 06.11.2015, 03:33 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Еще один вопрос: а если нужно чтобы дата появлялась не в соседнем столбце (A-B), а допустим A-C, а для второго случая D-E, т.е смещение даты на разное количество столбцов относительно вводимых значений?
[moder]А вот это уже точно новый вопрос. Свою тему создавайте.


Сообщение отредактировал _Boroda_ - Пятница, 06.11.2015, 04:04
 
Ответить
СообщениеЕще один вопрос: а если нужно чтобы дата появлялась не в соседнем столбце (A-B), а допустим A-C, а для второго случая D-E, т.е смещение даты на разное количество столбцов относительно вводимых значений?
[moder]А вот это уже точно новый вопрос. Свою тему создавайте.

Автор - Marisa
Дата добавления - 06.11.2015 в 03:33
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автозаполнение ячейки датой (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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