Indicar Nombre de Usuario en Celda

deseo hacer lo siguiente. Cuandoo un usuario escriba algo en una celda, en la celda de al lado se coloque su nombre automáticamente. Ejemplo: Jandrade escribe "a" en celda B1 automáticamente excel coloca su nombre de usuario en celda A1.

Logre hacer la siguiente macro q me devuelve el nombre del usuario pero en la celda activa.

deseo q lo haga pero como la explicación de arriba.

Private Declare Function GetComputerName Lib "kernel32" _
Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Sub NombreDelUsuario()
ActiveCell.FormulaR1C1 = Application.UserName
End Sub

de antemano mil gracias por la colaboración q pueda brindarme

1 respuesta

Respuesta
1

Prueba a usar el control de cambios de un libro compartido (en Excel 2010 lo encuentras en la ficha REVISAR, grupo CAMBIOS), hace precisamente lo que necesitas.

En caso de que no te solucione lo que requieres, me avisas y profundizamos en tu caso.

Buenas.

He estado trabajando en lo quiero, en cuanto a lo q me indica sucede en la empresa hay es excel 2003 y yo solo conozco hasta 2007.

e avanzado hasta aquí.

Private Declare Function GetComputerName Lib "kernel32" _
Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "B1" Then
If Target.Value <> "" Then
ActiveCell.Offset(0, -2) = Application.UserName
End If
End If
End Sub

esta hace lo q necesito, PERO, siempre un pero...

coloca el nombre del usuario solo SI B1 es diferente a ""

y necesito q lo haga SI se escribe algo a lo largo de la columna B TODA

Según tu calificación a mi respuesta alterna, ya has solucionado este asunto, agradezco finalices y puntúes esta pregunta para dar cabida a nuevas preguntas. Saludos

******

En el código que dejas aquí, lo que necesitas es cambiar esta linea

If Target.Address(False, False) = "B1" Then

por esta otra

If Target.Column = 2 Then

Ademas de que el offset, no debes hacerlo para dos columnas sino para solo una, es decir la linea corregida es

ActiveCell.Offset(0, -1) = Application.UserName

Y listo! debería funcionar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas