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

Вход

Регистрация

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

 

= Мир MS Excel/Идентификация пользователя сети - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Идентификация пользователя сети
segkras Дата: Четверг, 24.01.2013, 10:54 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

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

Автор - segkras
Дата добавления - 24.01.2013 в 10:54
segkras Дата: Четверг, 24.01.2013, 11:01 | Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Желательно чтобы данные вносились автоматически (макросом) при изменении ячейки
 
Ответить
СообщениеЖелательно чтобы данные вносились автоматически (макросом) при изменении ячейки

Автор - segkras
Дата добавления - 24.01.2013 в 11:01
nilem Дата: Четверг, 24.01.2013, 11:27 | Сообщение № 3
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Видимо, есть макрос, который записывает значения в ячейки на лист (предположим, "Sheet1") общей книги. Можно в этот макрос добавить строку:
[vba]
Код
Sheets("Sheet1").Cells(Rows.Count, 4).End(xlUp)(2, 1).Resize(, 2).Value = _
          Array(Date, CreateObject("wscript.network").UserName)
[/vba]
будет писать в ст. Д

ПС не Сергей Краснов ли?


Яндекс.Деньги 4100159601573

Сообщение отредактировал nilem - Четверг, 24.01.2013, 11:28
 
Ответить
СообщениеВидимо, есть макрос, который записывает значения в ячейки на лист (предположим, "Sheet1") общей книги. Можно в этот макрос добавить строку:
[vba]
Код
Sheets("Sheet1").Cells(Rows.Count, 4).End(xlUp)(2, 1).Resize(, 2).Value = _
          Array(Date, CreateObject("wscript.network").UserName)
[/vba]
будет писать в ст. Д

ПС не Сергей Краснов ли?

Автор - nilem
Дата добавления - 24.01.2013 в 11:27
segkras Дата: Четверг, 24.01.2013, 14:11 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

nilem,
да как такового макроса то нет... ни как не могу придумать как в теле макроса записать чтобы при изменении определенной ячейки выполнялся макрос и в соседнюю ячейку записывалась информация : кто эту ячейку изменил..
Не... не Краснов Сергей
 
Ответить
Сообщениеnilem,
да как такового макроса то нет... ни как не могу придумать как в теле макроса записать чтобы при изменении определенной ячейки выполнялся макрос и в соседнюю ячейку записывалась информация : кто эту ячейку изменил..
Не... не Краснов Сергей

Автор - segkras
Дата добавления - 24.01.2013 в 14:11
nilem Дата: Четверг, 24.01.2013, 14:36 | Сообщение № 5
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
посмотрите здесь


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениепосмотрите здесь

Автор - nilem
Дата добавления - 24.01.2013 в 14:36
segkras Дата: Понедельник, 28.01.2013, 06:09 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Зравствуйте. Вроде как что то получилось
[vba]
Код

Sub DidCellsChange()
Dim KeyCells As String
KeyCells = "H13:FC13"
If Not Application.Intersect(ActiveCell, Range(KeyCells)) _
Is Nothing Then KeyCellsChanged

End Sub

Sub KeyCellsChanged()
Dim Cell As Object
For Each Cell In Range("H13:FC13")
If Cell > 0 Then
Application.ScreenUpdating = False
ActiveCell.Offset(-2, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = CreateObject("wscript.network").UserDomain
ActiveCell.Offset(2, 0).Range("A1").Select

Else

End If
Next Cell
Application.ScreenUpdating = False
End Sub
[/vba]

[admin]Оформляйте коды тегами! [/admin]
 
Ответить
СообщениеЗравствуйте. Вроде как что то получилось
[vba]
Код

Sub DidCellsChange()
Dim KeyCells As String
KeyCells = "H13:FC13"
If Not Application.Intersect(ActiveCell, Range(KeyCells)) _
Is Nothing Then KeyCellsChanged

End Sub

Sub KeyCellsChanged()
Dim Cell As Object
For Each Cell In Range("H13:FC13")
If Cell > 0 Then
Application.ScreenUpdating = False
ActiveCell.Offset(-2, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = CreateObject("wscript.network").UserDomain
ActiveCell.Offset(2, 0).Range("A1").Select

Else

End If
Next Cell
Application.ScreenUpdating = False
End Sub
[/vba]

[admin]Оформляйте коды тегами! [/admin]

Автор - segkras
Дата добавления - 28.01.2013 в 06:09
  • Страница 1 из 1
  • 1
Поиск:

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