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

Вход

Регистрация

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

 

= Мир MS Excel/Вставка даты при изменении в защищённой ячейке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Вставка даты при изменении в защищённой ячейке (Формулы/Formulas)
Вставка даты при изменении в защищённой ячейке
Possession_SSV Дата: Вторник, 30.06.2020, 14:06 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Приветствую! Выручайте!
Необходимо чтобы на листе "Сводная" при изменении данных в ячейке B3 фиксировалось время изменения в ячейке С3.
Особенности:
1. Ячейка B3 ЗАЩИЩЁННАЯ! Содержит ссылку на другую ячейку!
2. Все данные автоматически собираются с других листов. т.е. ручного ввода нет!
P.S. Макросы использовал - они работают только при ручном вводе данных.
Будет супер если есть возможность использовать функцию, а не макрос.
Изменения необходимо фиксировать конкретной ячейки в конкретной ячейке, а не диапазоне, т.к. их в перспективе на одном листе под сотню будет.
Снимать защиту с ячейки также не хотелось бы.
Заранее ОГРОМНОЕ спасибо! :)
К сообщению приложен файл: 7718123.xlsm (17.1 Kb)


Сообщение отредактировал Possession_SSV - Вторник, 30.06.2020, 18:04
 
Ответить
СообщениеПриветствую! Выручайте!
Необходимо чтобы на листе "Сводная" при изменении данных в ячейке B3 фиксировалось время изменения в ячейке С3.
Особенности:
1. Ячейка B3 ЗАЩИЩЁННАЯ! Содержит ссылку на другую ячейку!
2. Все данные автоматически собираются с других листов. т.е. ручного ввода нет!
P.S. Макросы использовал - они работают только при ручном вводе данных.
Будет супер если есть возможность использовать функцию, а не макрос.
Изменения необходимо фиксировать конкретной ячейки в конкретной ячейке, а не диапазоне, т.к. их в перспективе на одном листе под сотню будет.
Снимать защиту с ячейки также не хотелось бы.
Заранее ОГРОМНОЕ спасибо! :)

Автор - Possession_SSV
Дата добавления - 30.06.2020 в 14:06
Nic70y Дата: Вторник, 30.06.2020, 14:58 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8758
Репутация: 2272 ±
Замечаний: 0% ±

Excel 2010
Цитата Possession_SSV, 30.06.2020 в 14:06, в сообщении № 1 ()
Макросы использовал - они работают только при ручном вводе данных
[vba]
Код
Private Sub Worksheet_Calculate()
[/vba]


ЮMoney 41001841029809
 
Ответить
Сообщение
Цитата Possession_SSV, 30.06.2020 в 14:06, в сообщении № 1 ()
Макросы использовал - они работают только при ручном вводе данных
[vba]
Код
Private Sub Worksheet_Calculate()
[/vba]

Автор - Nic70y
Дата добавления - 30.06.2020 в 14:58
Possession_SSV Дата: Вторник, 30.06.2020, 18:02 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Использовал такой макрос! В автоматическом режиме не работает.

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Range("B3"), Target) Is Nothing Then Exit Sub 'проверяется, _
в нужной ли ячейке происходит изменение, в данном случаи ячейка А1, если изменения происходят в _
другой ячейке, макрос не срабатывает
Range("C3") = Now 'указываем в какую ячейку выводить результат
End Sub
[/vba]


Сообщение отредактировал Pelena - Четверг, 02.07.2020, 10:21
 
Ответить
СообщениеИспользовал такой макрос! В автоматическом режиме не работает.

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Range("B3"), Target) Is Nothing Then Exit Sub 'проверяется, _
в нужной ли ячейке происходит изменение, в данном случаи ячейка А1, если изменения происходят в _
другой ячейке, макрос не срабатывает
Range("C3") = Now 'указываем в какую ячейку выводить результат
End Sub
[/vba]

Автор - Possession_SSV
Дата добавления - 30.06.2020 в 18:02
Possession_SSV Дата: Вторник, 30.06.2020, 18:02 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Nic70y, можно сюда целиком макрос?!
 
Ответить
СообщениеNic70y, можно сюда целиком макрос?!

Автор - Possession_SSV
Дата добавления - 30.06.2020 в 18:02
Possession_SSV Дата: Четверг, 02.07.2020, 09:46 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Выручайте, пожалуйста!!! Очень срочно надо! :)
 
Ответить
СообщениеВыручайте, пожалуйста!!! Очень срочно надо! :)

Автор - Possession_SSV
Дата добавления - 02.07.2020 в 09:46
Nic70y Дата: Четверг, 02.07.2020, 10:16 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 8758
Репутация: 2272 ±
Замечаний: 0% ±

Excel 2010
Possession_SSV, я и другие тоже,
к сожалению не смогут Вам ответить, т.к.
у Вас макрос не оформлен тэгом,
а модераторы у нас злые следят за соблюдением правил.


ЮMoney 41001841029809
 
Ответить
СообщениеPossession_SSV, я и другие тоже,
к сожалению не смогут Вам ответить, т.к.
у Вас макрос не оформлен тэгом,
а модераторы у нас злые следят за соблюдением правил.

Автор - Nic70y
Дата добавления - 02.07.2020 в 10:16
Pelena Дата: Четверг, 02.07.2020, 10:21 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Автор уже не может исправить, а я и другие модераторы вовремя не заметили.
Поэтому исправлю сама


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеАвтор уже не может исправить, а я и другие модераторы вовремя не заметили.
Поэтому исправлю сама

Автор - Pelena
Дата добавления - 02.07.2020 в 10:21
Nic70y Дата: Четверг, 02.07.2020, 10:38 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 8758
Репутация: 2272 ±
Замечаний: 0% ±

Excel 2010
Цитата Possession_SSV, 30.06.2020 в 14:06, в сообщении № 1 ()
2. Все данные автоматически собираются с других листов. т.е. ручного ввода нет!
а в эти листы как попадают данные?


ЮMoney 41001841029809
 
Ответить
Сообщение
Цитата Possession_SSV, 30.06.2020 в 14:06, в сообщении № 1 ()
2. Все данные автоматически собираются с других листов. т.е. ручного ввода нет!
а в эти листы как попадают данные?

Автор - Nic70y
Дата добавления - 02.07.2020 в 10:38
Possession_SSV Дата: Четверг, 02.07.2020, 11:50 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Nic70y, посмотрите, пожалуйста прикреплённый файл, т.к. возможно не смогу грамотно ответить. В сводную собираются с других листов в книге. Внутри листа данные вводятся вручную, но ячейка которая отдаёт данные в сводную тоже автоматическая. Листов в перспективе будет много. А на сводной надо видеть когда на конкретном листе обновлялись данные.


Сообщение отредактировал Possession_SSV - Четверг, 02.07.2020, 12:30
 
Ответить
СообщениеNic70y, посмотрите, пожалуйста прикреплённый файл, т.к. возможно не смогу грамотно ответить. В сводную собираются с других листов в книге. Внутри листа данные вводятся вручную, но ячейка которая отдаёт данные в сводную тоже автоматическая. Листов в перспективе будет много. А на сводной надо видеть когда на конкретном листе обновлялись данные.

Автор - Possession_SSV
Дата добавления - 02.07.2020 в 11:50
Possession_SSV Дата: Четверг, 02.07.2020, 11:51 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Pelena, СПАСИБО БОЛЬШОЕ! :)
 
Ответить
СообщениеPelena, СПАСИБО БОЛЬШОЕ! :)

Автор - Possession_SSV
Дата добавления - 02.07.2020 в 11:51
Nic70y Дата: Четверг, 02.07.2020, 12:35 | Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 8758
Репутация: 2272 ±
Замечаний: 0% ±

Excel 2010
Цитата
,

Possession_SSV, я не просто так спросил
а в эти листы как попадают данные?

пои условии, что листы (не Сводная) заполняются вручную,
в модуль книги:
[vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    aa = ActiveSheet.Name               'имя активного листа
    If aa <> "Сводная" Then             'если активный лист не Сводная, тогда
        If Target.Cells.Count > 1 Then  'если используется > 1 ячейки
            MsgBox "Редактируйте по 1 ячейке!"
        Else                            'иначе
            'u_1 = Target.Row
            u_2 = Target.Column         '№ столбца изменяемой ячейки
            If u_2 = 2 Then             'если изменяемая ячейка находится в столбце 2 (B), тогда
                'u_3 = Application.VLookup("ИТОГО:*", Range("a:b"), 2, 0) 'сумма ИТОГО на активном листе
                u_4 = ActiveSheet.Index '"порядковый" № активного листа
                Sheets("Сводная").Unprotect 'снять защиту листа
                'Sheets("Сводная").Range("b" & u_4 + 2) = u_3
                Sheets("Сводная").Range("c" & u_4 + 2) = Now 'время изменения ячейки
                Sheets("Сводная").Protect   'установить защиту листа
            End If
        End If
    End If
End Sub
[/vba]ощибся чутка, надо u_4 + 1, а не u_4 + 2
К сообщению приложен файл: 4174119.xlsm (21.1 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Четверг, 02.07.2020, 15:20
 
Ответить
Сообщение
Цитата
,

Possession_SSV, я не просто так спросил
а в эти листы как попадают данные?

пои условии, что листы (не Сводная) заполняются вручную,
в модуль книги:
[vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    aa = ActiveSheet.Name               'имя активного листа
    If aa <> "Сводная" Then             'если активный лист не Сводная, тогда
        If Target.Cells.Count > 1 Then  'если используется > 1 ячейки
            MsgBox "Редактируйте по 1 ячейке!"
        Else                            'иначе
            'u_1 = Target.Row
            u_2 = Target.Column         '№ столбца изменяемой ячейки
            If u_2 = 2 Then             'если изменяемая ячейка находится в столбце 2 (B), тогда
                'u_3 = Application.VLookup("ИТОГО:*", Range("a:b"), 2, 0) 'сумма ИТОГО на активном листе
                u_4 = ActiveSheet.Index '"порядковый" № активного листа
                Sheets("Сводная").Unprotect 'снять защиту листа
                'Sheets("Сводная").Range("b" & u_4 + 2) = u_3
                Sheets("Сводная").Range("c" & u_4 + 2) = Now 'время изменения ячейки
                Sheets("Сводная").Protect   'установить защиту листа
            End If
        End If
    End If
End Sub
[/vba]ощибся чутка, надо u_4 + 1, а не u_4 + 2

Автор - Nic70y
Дата добавления - 02.07.2020 в 12:35
Possession_SSV Дата: Четверг, 02.07.2020, 16:33 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Nic70y, Супер! Уже хоть что-то. Но съехали все данные на одну строчку вниз и на листе "Сводная" не проставляется дата изменения в ИТОГО. С внедрённым макросом прикрепил файл.
Можно ли всё-таки сделать отслеживание изменений не в столбце или диапазоне, а всё таки в конкретной ячейке (ИТОГО на каждом листе)?
К сообщению приложен файл: 7231006.xlsm (21.7 Kb)


Сообщение отредактировал Possession_SSV - Четверг, 02.07.2020, 16:36
 
Ответить
СообщениеNic70y, Супер! Уже хоть что-то. Но съехали все данные на одну строчку вниз и на листе "Сводная" не проставляется дата изменения в ИТОГО. С внедрённым макросом прикрепил файл.
Можно ли всё-таки сделать отслеживание изменений не в столбце или диапазоне, а всё таки в конкретной ячейке (ИТОГО на каждом листе)?

Автор - Possession_SSV
Дата добавления - 02.07.2020 в 16:33
Nic70y Дата: Четверг, 02.07.2020, 17:08 | Сообщение № 13
Группа: Друзья
Ранг: Экселист
Сообщений: 8758
Репутация: 2272 ±
Замечаний: 0% ±

Excel 2010
Цитата Possession_SSV, 02.07.2020 в 11:51, в сообщении № 10 ()
в модуль книги:
К сообщению приложен файл: 7286558.xlsm (20.1 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение
Цитата Possession_SSV, 02.07.2020 в 11:51, в сообщении № 10 ()
в модуль книги:

Автор - Nic70y
Дата добавления - 02.07.2020 в 17:08
Possession_SSV Дата: Четверг, 02.07.2020, 22:08 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Nic70y, ОГРОМНОЕ СПАСИБО!!! Рабочий вариант!
Дополнительно если появится вариант решения через функцию буду ОЧЕНЬ признателен! :))
т.к. при этом решении всё-таки отслеживается диапазон (столбец). а мне в сводной в последующем необходимо сделать разбивки по отделам, сортировки по датам и т.д. также в сводной планируется ещё столбцов несколько добавить.
Ещё раз спасибо! :)
 
Ответить
СообщениеNic70y, ОГРОМНОЕ СПАСИБО!!! Рабочий вариант!
Дополнительно если появится вариант решения через функцию буду ОЧЕНЬ признателен! :))
т.к. при этом решении всё-таки отслеживается диапазон (столбец). а мне в сводной в последующем необходимо сделать разбивки по отделам, сортировки по датам и т.д. также в сводной планируется ещё столбцов несколько добавить.
Ещё раз спасибо! :)

Автор - Possession_SSV
Дата добавления - 02.07.2020 в 22:08
Possession_SSV Дата: Вторник, 07.07.2020, 13:33 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Доработал чуть файл - добавил отделы. Скрипт сразу же перестал корректно работать, а мне таких отделов надо будет добавлять много.
Просьба предложить ещё какие-нибудь варианты. Заранее СПАСИБО!!!
К сообщению приложен файл: _____.xlsm (22.5 Kb)
 
Ответить
СообщениеДоработал чуть файл - добавил отделы. Скрипт сразу же перестал корректно работать, а мне таких отделов надо будет добавлять много.
Просьба предложить ещё какие-нибудь варианты. Заранее СПАСИБО!!!

Автор - Possession_SSV
Дата добавления - 07.07.2020 в 13:33
Nic70y Дата: Вторник, 07.07.2020, 13:56 | Сообщение № 16
Группа: Друзья
Ранг: Экселист
Сообщений: 8758
Репутация: 2272 ±
Замечаний: 0% ±

Excel 2010
см. такой вариант:
ищем по имени листа,
обратите внимание, в листе Сводная имена листов я исправил, чтоб они соот. реальным
[vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    aa = ActiveSheet.Name               'имя активного листа
    If aa <> "Сводная" Then             'если активный лист не Сводная, тогда
        If Target.Cells.Count > 1 Then  'если используется > 1 ячейки
            MsgBox "Редактируйте по 1 ячейке!"
        Else                            'иначе
            'u_1 = Target.Row
            u_2 = Target.Column         '№ столбца изменяемой ячейки
            If u_2 = 2 Then             'если изменяемая ячейка находится в столбце 2 (B), тогда
                'u_3 = Application.VLookup("ИТОГО:*", Range("a:b"), 2, 0) 'сумма ИТОГО на активном листе
                'u_4 = ActiveSheet.Index '"порядковый" № активного листа
                u_5 = ActiveSheet.Name
                u_6 = Application.Match(u_5, Sheets("Сводная").Range("a:a"), 0)
                Sheets("Сводная").Unprotect 'снять защиту листа
                'Sheets("Сводная").Range("b" & u_4 + 1) = u_3
                Sheets("Сводная").Range("c" & u_6) = Now 'время изменения ячейки
                Sheets("Сводная").Protect   'установить защиту листа
            End If
        End If
    End If
End Sub
[/vba]
К сообщению приложен файл: 0426127.xlsm (21.6 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениесм. такой вариант:
ищем по имени листа,
обратите внимание, в листе Сводная имена листов я исправил, чтоб они соот. реальным
[vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    aa = ActiveSheet.Name               'имя активного листа
    If aa <> "Сводная" Then             'если активный лист не Сводная, тогда
        If Target.Cells.Count > 1 Then  'если используется > 1 ячейки
            MsgBox "Редактируйте по 1 ячейке!"
        Else                            'иначе
            'u_1 = Target.Row
            u_2 = Target.Column         '№ столбца изменяемой ячейки
            If u_2 = 2 Then             'если изменяемая ячейка находится в столбце 2 (B), тогда
                'u_3 = Application.VLookup("ИТОГО:*", Range("a:b"), 2, 0) 'сумма ИТОГО на активном листе
                'u_4 = ActiveSheet.Index '"порядковый" № активного листа
                u_5 = ActiveSheet.Name
                u_6 = Application.Match(u_5, Sheets("Сводная").Range("a:a"), 0)
                Sheets("Сводная").Unprotect 'снять защиту листа
                'Sheets("Сводная").Range("b" & u_4 + 1) = u_3
                Sheets("Сводная").Range("c" & u_6) = Now 'время изменения ячейки
                Sheets("Сводная").Protect   'установить защиту листа
            End If
        End If
    End If
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 07.07.2020 в 13:56
Possession_SSV Дата: Вторник, 07.07.2020, 14:10 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Nic70y, Супер! СПАСИБО!!!
Сортировка работает! Как в Сводной проставить тоже дату в ИТОГО везде на листе. Сейчас при двух записях это пока не актуально, но когда их будет много - очень даже надо будет!


Сообщение отредактировал Possession_SSV - Вторник, 07.07.2020, 14:10
 
Ответить
СообщениеNic70y, Супер! СПАСИБО!!!
Сортировка работает! Как в Сводной проставить тоже дату в ИТОГО везде на листе. Сейчас при двух записях это пока не актуально, но когда их будет много - очень даже надо будет!

Автор - Possession_SSV
Дата добавления - 07.07.2020 в 14:10
Nic70y Дата: Вторник, 07.07.2020, 14:13 | Сообщение № 18
Группа: Друзья
Ранг: Экселист
Сообщений: 8758
Репутация: 2272 ±
Замечаний: 0% ±

Excel 2010
так
Код
=МАКС(C4:C5)
наверное


ЮMoney 41001841029809
 
Ответить
Сообщениетак
Код
=МАКС(C4:C5)
наверное

Автор - Nic70y
Дата добавления - 07.07.2020 в 14:13
Possession_SSV Дата: Вторник, 07.07.2020, 14:17 | Сообщение № 19
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
hands Работает!
 
Ответить
Сообщениеhands Работает!

Автор - Possession_SSV
Дата добавления - 07.07.2020 в 14:17
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Вставка даты при изменении в защищённой ячейке (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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