السلام عليكم
اخي حسن
بارك الله فيك و اشكرك علي المرور
اخي ajore
يتم وضع الكود التالي في حدث التغيير للشيت المقصود
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Or Target.Column = 3 Or Target.Column = 4 Then
Cells(Target.Row, 5).Formula = CurrentUser
End If
كما يتم وضع الكود التالي في مديول منفصل
Option Explicit
Private Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Public Function CurrentUser() As String
Dim strBuff As String * 255
Dim X As Long
CurrentUser = ""
X = GetUserName(strBuff, Len(strBuff) - 1)
If X > 0 Then
X = InStr(strBuff, vbNullChar)
If X > 0 Then
CurrentUser = UCase(Left$(strBuff, X - 1)) 'UCase is optional ;)
Else
CurrentUser = UCase(Left$(strBuff, X))
End If
End If
End Function
تحياتي