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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос: зафиксировать "Имя пользователя" внесшего запись - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос: зафиксировать "Имя пользователя" внесшего запись (Макросы/Sub)
Макрос: зафиксировать "Имя пользователя" внесшего запись
Excel_User Дата: Вторник, 08.09.2015, 10:48 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день!

Есть большая табличка с данными.
Необходимо фиксировать дату, время, имя или логин пользователя, вносящего изменения / новую запись в отдельной ячейке в этой же таблице.

Я пробовал через макрос

[vba]
Код
Public Function ИМЯПОЛЬЗОВАТЕЛЯ() As String
ИМЯПОЛЬЗОВАТЕЛЯ = Environ("UserName")
End Function
[/vba]

Но по какой-о причине он не всегда срабатывает. Да и при вставке такой формулы в таблицу, меняет все записи в столбце на имя текущего пользователя (который зашел в книгу.
[moder]Код макроса нужно обтегивать кнопочкой #.
Поправил за Вас.


Сообщение отредактировал _Boroda_ - Вторник, 08.09.2015, 10:55
 
Ответить
СообщениеДобрый день!

Есть большая табличка с данными.
Необходимо фиксировать дату, время, имя или логин пользователя, вносящего изменения / новую запись в отдельной ячейке в этой же таблице.

Я пробовал через макрос

[vba]
Код
Public Function ИМЯПОЛЬЗОВАТЕЛЯ() As String
ИМЯПОЛЬЗОВАТЕЛЯ = Environ("UserName")
End Function
[/vba]

Но по какой-о причине он не всегда срабатывает. Да и при вставке такой формулы в таблицу, меняет все записи в столбце на имя текущего пользователя (который зашел в книгу.
[moder]Код макроса нужно обтегивать кнопочкой #.
Поправил за Вас.

Автор - Excel_User
Дата добавления - 08.09.2015 в 10:48
Manyasha Дата: Вторник, 08.09.2015, 11:06 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
Excel_User, а Вы записывайте не функцией а макросом в ячейку (при изменении листа).
Тогда старые записи будут оставаться


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеExcel_User, а Вы записывайте не функцией а макросом в ячейку (при изменении листа).
Тогда старые записи будут оставаться

Автор - Manyasha
Дата добавления - 08.09.2015 в 11:06
Excel_User Дата: Вторник, 08.09.2015, 11:11 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Я не очень дружу с макросами (
Вы не могли бы дать пример такого макроса?
 
Ответить
СообщениеЯ не очень дружу с макросами (
Вы не могли бы дать пример такого макроса?

Автор - Excel_User
Дата добавления - 08.09.2015 в 11:11
KSV Дата: Вторник, 08.09.2015, 11:22 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
Добрый день!
Как вариант [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Column <> 5 Then Exit Sub
     Dim c&, r&: r = Target.Row
     If r < 3 Then Exit Sub
     c = 1
     If Len(Cells(r, c).Value) Then c = 3
     Cells(r, c) = Environ$("UserName")
     Cells(r, c + 1) = Now
End Sub
[/vba]
(попробуйте поменять значения в ячейках столбца Е)
К сообщению приложен файл: ____.xlsm (14.6 Kb)


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
СообщениеДобрый день!
Как вариант [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Column <> 5 Then Exit Sub
     Dim c&, r&: r = Target.Row
     If r < 3 Then Exit Sub
     c = 1
     If Len(Cells(r, c).Value) Then c = 3
     Cells(r, c) = Environ$("UserName")
     Cells(r, c + 1) = Now
End Sub
[/vba]
(попробуйте поменять значения в ячейках столбца Е)

Автор - KSV
Дата добавления - 08.09.2015 в 11:22
Excel_User Дата: Вторник, 08.09.2015, 11:30 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
KSV,
спасибо, это то, что было нужно!
Очень помогли, еще раз спасибо)
 
Ответить
СообщениеKSV,
спасибо, это то, что было нужно!
Очень помогли, еще раз спасибо)

Автор - Excel_User
Дата добавления - 08.09.2015 в 11:30
KSV Дата: Вторник, 08.09.2015, 12:30 | Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
пожалуйста!


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
Сообщениепожалуйста!

Автор - KSV
Дата добавления - 08.09.2015 в 12:30
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос: зафиксировать "Имя пользователя" внесшего запись (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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