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

Вход

Регистрация

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

 

= Мир MS Excel/Выставление даты при заполнении данных - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выставление даты при заполнении данных (Макросы/Sub)
Выставление даты при заполнении данных
lesha1111 Дата: Среда, 09.10.2019, 09:27 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Здравствуйте, подскажите пожалуйста, есть макрос при заполнении ячейки А3 выставляется дата в соседней, но при изменении данных в первой ячейке А3 дата меняется, как сделать что бы дата не менялась а записывалась в другую свободную ячейку?
К сообщению приложен файл: 0893106.xlsm (22.4 Kb)
 
Ответить
СообщениеЗдравствуйте, подскажите пожалуйста, есть макрос при заполнении ячейки А3 выставляется дата в соседней, но при изменении данных в первой ячейке А3 дата меняется, как сделать что бы дата не менялась а записывалась в другую свободную ячейку?

Автор - lesha1111
Дата добавления - 09.10.2019 в 09:27
gling Дата: Среда, 09.10.2019, 22:58 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2519
Репутация: 674 ±
Замечаний: 0% ±

2010
Здравствуйте. Описание непонятное. Может так надо.[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    For Each cell In Target
       If Not Intersect(cell, Range("A3:A1000")) Is Nothing Then
        If Target(1, 3) = "" Then
            With Target(1, 3)
            .Value = Now
            .EntireColumn.AutoFit
            End With
        End If
       End If
    Next cell
End Sub
[/vba]


ЯД-41001506838083
 
Ответить
СообщениеЗдравствуйте. Описание непонятное. Может так надо.[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    For Each cell In Target
       If Not Intersect(cell, Range("A3:A1000")) Is Nothing Then
        If Target(1, 3) = "" Then
            With Target(1, 3)
            .Value = Now
            .EntireColumn.AutoFit
            End With
        End If
       End If
    Next cell
End Sub
[/vba]

Автор - gling
Дата добавления - 09.10.2019 в 22:58
lesha1111 Дата: Четверг, 10.10.2019, 08:46 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Прошу прощения если не понятно написал,
Мне нужно что бы при первом вводе данных в столбце А дата ставилась в С, а после изменения данных в столбце А выставлялась дата в столбце D
 
Ответить
СообщениеПрошу прощения если не понятно написал,
Мне нужно что бы при первом вводе данных в столбце А дата ставилась в С, а после изменения данных в столбце А выставлялась дата в столбце D

Автор - lesha1111
Дата добавления - 10.10.2019 в 08:46
Nic70y Дата: Четверг, 10.10.2019, 10:52 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 8757
Репутация: 2271 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A3:A1000")) Is Nothing Then
        If Target <> "" Then
            If Target.Offset(0, 2) = "" Then
                Target.Offset(0, 2) = Now
            Else
                u_01 = Target.Row
                u_02 = Cells(u_01, Columns.Count).End(xlToLeft).Column
                Target.Offset(0, u_02) = Now
            End If
        End If
    End If
End Sub
[/vba]как-то так (наверное)


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A3:A1000")) Is Nothing Then
        If Target <> "" Then
            If Target.Offset(0, 2) = "" Then
                Target.Offset(0, 2) = Now
            Else
                u_01 = Target.Row
                u_02 = Cells(u_01, Columns.Count).End(xlToLeft).Column
                Target.Offset(0, u_02) = Now
            End If
        End If
    End If
End Sub
[/vba]как-то так (наверное)

Автор - Nic70y
Дата добавления - 10.10.2019 в 10:52
lesha1111 Дата: Четверг, 10.10.2019, 14:15 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Хорошо спасибо, все работает, только вопрос почему при удалении нескольких данных в столбце выскакивает ошибка
К сообщению приложен файл: 0893106-2-.xlsm (22.6 Kb)
 
Ответить
СообщениеХорошо спасибо, все работает, только вопрос почему при удалении нескольких данных в столбце выскакивает ошибка

Автор - lesha1111
Дата добавления - 10.10.2019 в 14:15
Nic70y Дата: Четверг, 10.10.2019, 14:28 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 8757
Репутация: 2271 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
    If Not Intersect(Target, Range("A3:A1000")) Is Nothing Then
    If Target.Cells.Count > 1 Then Exit Sub
        If Target <> "" Then
[/vba]


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
    If Not Intersect(Target, Range("A3:A1000")) Is Nothing Then
    If Target.Cells.Count > 1 Then Exit Sub
        If Target <> "" Then
[/vba]

Автор - Nic70y
Дата добавления - 10.10.2019 в 14:28
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выставление даты при заполнении данных (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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