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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматическая простановка даты при введении данных - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматическая простановка даты при введении данных (Макросы/Sub)
Автоматическая простановка даты при введении данных
bravo3133 Дата: Среда, 06.11.2019, 18:29 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте. Не подскажите, как мне сделать макрос, чтобы при вводе параметров в один из столбцов, в других в нужном мне месте прописывалась дата:
Необходимо сделать, чтобы при вводе числовых значений в колонки 2,3,7,8,12,13,17,21, в столбце 1 автоматически прописывалась сегодняшняя дата. В других колонках число я добавлю формулой допустим (6-я колонка: = 1 колонка, 11 колонка: = 1 колонка и т.д.). В данную таблицу я запихнул макрос:

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
If Target.Offset(0, 1).Value = "" Then
Target.Offset(0, -1) = Date
End If
End If
End Sub
[/vba]

При этом дата прописывается только если я ввиду значение в столбец 2, это естественно, т.к. в макросе указан именно он. Для того, чтобы дата прописывалась при вводе значений в вышеперечисленные столбцы, аналогично второму, у меня не хватает знаний. Подскажите пожалуйста, кто знает. Для наглядности я приложил снимок таблицы со стрелками, что куда и описанием.


Сообщение отредактировал bravo3133 - Четверг, 07.11.2019, 15:21
 
Ответить
СообщениеЗдравствуйте. Не подскажите, как мне сделать макрос, чтобы при вводе параметров в один из столбцов, в других в нужном мне месте прописывалась дата:
Необходимо сделать, чтобы при вводе числовых значений в колонки 2,3,7,8,12,13,17,21, в столбце 1 автоматически прописывалась сегодняшняя дата. В других колонках число я добавлю формулой допустим (6-я колонка: = 1 колонка, 11 колонка: = 1 колонка и т.д.). В данную таблицу я запихнул макрос:

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
If Target.Offset(0, 1).Value = "" Then
Target.Offset(0, -1) = Date
End If
End If
End Sub
[/vba]

При этом дата прописывается только если я ввиду значение в столбец 2, это естественно, т.к. в макросе указан именно он. Для того, чтобы дата прописывалась при вводе значений в вышеперечисленные столбцы, аналогично второму, у меня не хватает знаний. Подскажите пожалуйста, кто знает. Для наглядности я приложил снимок таблицы со стрелками, что куда и описанием.

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

Excel 2013
[img][/img]Сама таблица.
К сообщению приложен файл: 2482416.xlsm(18.5 Kb)


Сообщение отредактировал bravo3133 - Четверг, 07.11.2019, 11:07
 
Ответить
Сообщение[img][/img]Сама таблица.

Автор - bravo3133
Дата добавления - 06.11.2019 в 18:38
Pelena Дата: Среда, 06.11.2019, 18:41 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 14764
Репутация: 3229 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
bravo3133, оформите код тегами с помощью кнопки # в режиме правки поста.
И лучше небольшой файл с примером приложить, а не картинку


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщениеbravo3133, оформите код тегами с помощью кнопки # в режиме правки поста.
И лучше небольшой файл с примером приложить, а не картинку

Автор - Pelena
Дата добавления - 06.11.2019 в 18:41
bravo3133 Дата: Четверг, 07.11.2019, 14:30 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Pelena, спасибо.Пост поправил.
 
Ответить
СообщениеPelena, спасибо.Пост поправил.

Автор - bravo3133
Дата добавления - 07.11.2019 в 14:30
китин Дата: Четверг, 07.11.2019, 14:41 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 5927
Репутация: 920 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
bravo3133,
оформите код тегами

- в режиме правки поста выделите код и нажмите кнопку #, пояснялка здесь)


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
Сообщениеbravo3133,
оформите код тегами

- в режиме правки поста выделите код и нажмите кнопку #, пояснялка здесь)

Автор - китин
Дата добавления - 07.11.2019 в 14:41
RAN Дата: Четверг, 07.11.2019, 19:12 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5176
Репутация: 1041 ±
Замечаний: 0% ±

2010
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.CountLarge > 1 Then Exit Sub
    If Not Target.ListObject Is Nothing Then
        If Not Intersect(Target, Target.ListObject.ListColumns(2).Range.Resize(, 2)) Is Nothing Then
            If Intersect(Rows(Target.Row), Target.ListObject.ListColumns(1).Range).Value = "" Then
                Intersect(Rows(Target.Row), Target.ListObject.ListColumns(1).Range).Value = Date
            End If
        End If
    End If
End Sub
[/vba]


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

Сообщение отредактировал RAN - Четверг, 07.11.2019, 19:12
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.CountLarge > 1 Then Exit Sub
    If Not Target.ListObject Is Nothing Then
        If Not Intersect(Target, Target.ListObject.ListColumns(2).Range.Resize(, 2)) Is Nothing Then
            If Intersect(Rows(Target.Row), Target.ListObject.ListColumns(1).Range).Value = "" Then
                Intersect(Rows(Target.Row), Target.ListObject.ListColumns(1).Range).Value = Date
            End If
        End If
    End If
End Sub
[/vba]

Автор - RAN
Дата добавления - 07.11.2019 в 19:12
bravo3133 Дата: Пятница, 08.11.2019, 11:19 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
RAN, Спасибо огромное,всё работает.
 
Ответить
СообщениеRAN, Спасибо огромное,всё работает.

Автор - bravo3133
Дата добавления - 08.11.2019 в 11:19
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматическая простановка даты при введении данных (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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