Bloquear rango

24/09/2005 - 12:07 por chy | Informe spam
Hola a todos,

estoy tratando de bloquear un rango en una hoja, el rango se
bloquearía al escibir un usuario sus iniciales en una celda.

Ej. última fila de datos introducidos Fila22 (se meten 2 celdas con
datos, A y B) en la columna "C" iria el comprobado de esos datos por
otro usuario escribiendo sus iniciales p.ej. "AGP" de forma que se
bloquearía esa fila, si esas iniciales y el usuario de red son
concordantes, es decir abría que asignar previamente las
equivalencias: AMP - AGARCIA; BGH - BGOMEZ o hacer unas sentecias IF
Then.

Alguíen me puede ayudar.

Gracias
 

Leer las respuestas

#1 Héctor Miguel
25/09/2005 - 02:10 | Informe spam
hola, carlos !

estoy tratando de bloquear un rango en una hoja, el rango se bloquearia al escibir un usuario sus iniciales en una celda.
Ej. ultima fila de datos introducidos Fila22 (se meten 2 celdas con datos, A y B)
en la columna "C" iria el comprobado de esos datos por otro usuario escribiendo sus iniciales p.ej. "AGP"
de forma que se bloquearia esa fila, si esas iniciales y el usuario de red son concordantes
es decir abría que asignar previamente las equivalencias: AMP - AGARCIA; BGH - BGOMEZ
o hacer unas sentecias IF Then.



1) tendras que encontrar la forma de '...asignar previamente las equivalencias: AMP - AGARCIA; BGH - BGOMEZ...' :-(
2) tambien tendras que encontrar la forma de 'validar' si OTRO usuario SI PUEDE hacer uso de las celdas 'bloqueadas' :-(
3) [por lo pronto] te paso al final la forma de 'encontrar' el nombre del usuario que loggeo en la sesion de windows...

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

con una llamada a las API's de windows... podras 'hablarle' al usuario loggeado en windows
[y si quieres... tambien al que esta 'registrado' en la aplicacion] :))
copia las siguientes lineas...
en un modulo de codigo 'normal' ==' para que el modulo sea 'exclusivo' del codigo NO-disponible al usuario :) '
Option Private Module
' una variable publica para 'almacenar' al usuario loggeado '
Public UsuarioDeSesion As String
' la llamada a las API's '
Declare Function NombreDelUsuario Lib "AdvAPI32.dll" Alias "GetUserNameA" _
(ByVal Almacen As String, Largo As Long) As Long
' la funcion que 'devuelve' el nombre del usuario en la sesion _
esta funcion la podras llamar siempre [si por alguna razon 'se borra' la variable] :( '
Function InicioDeSesion() As String
Dim Nombre As String * 100, Largo As Long
Largo = 100
NombreDelUsuario Nombre, Largo
UsuarioDeSesion = Left(Nombre, Largo - 1)
End Function
en el modulo de codigo del libro [ThisWorkbook] ==Private Sub Workbook_Open()
InicioDeSesion
End Sub
en OTRO modulo de codigo 'normal' ==Sub Nombres()
MsgBox "Aplicacion registrada por: " & Application.UserName & vbCr & _
"Sesion iniciada por... Hola, " & UsuarioDeSesion
End Sub

Preguntas similares