Distintas vistas para distintos usuarios

26/05/2006 - 10:36 por José Ballesta | Informe spam
Buenos días

Tengo una hoja de excel en la que varios usuarios deben introducir datos. Me
gustaría saber si es posible hacer lo siguiente:
- al abrir la hoja pediré que el usuario se identifique.
- una vez hecho esto y en función del usuario, quiero que se oculten unas
determinadas filas.

Gracias por vuestra ayuda

Preguntas similare

Leer las respuestas

#1 David
26/05/2006 - 18:53 | Informe spam
Hola, José.

Lo que pretendes hacer sí es posible, pero debes trabajar con código. ¿Cómo
estás en VBA?

Mediante un formulario personalizado (user form), podrías pedir la
identificación del usuario (no te recomiendo InputBox, porque cualquiera que
vea sobre el hombro del usuario que se está registrando se enterará de la
contraseña de acceso). Puedes utilizar la propiedad PasswordChar de un
cuadro de texto para que la contraseña no se despliegue en pantalla mientras
el usuario la digita.

Luego, dependiendo de la contraseña y el usuario, puedes utilizar vistas
personalizadas (Ver - Vistas personalizadas) para mostrar u ocultar las filas
o columnas que sean necesarias. Incluso puedes configurar un área de
impresión y una configuración de página particular para cada usuario. En
código VBA, la siguiente instrucción te permite aplicar una vista
personalizada que hayas creado en forma manual previamente:

ActiveWorkbook.CustomViews("TuVistaPersonalizada").Show

Por último, al cerrar tu archivo, puedes interceptar el evento BeforeClose,
para aplicar una vista personalizada muy restrictiva, o para aplicar en la
propiedad Visible de ciertas hojas el valor XlSheetVeryHidden, de manera que
si algún usuario abre el archivo y aún no se ha identificado, no pueda ver la
información de las demás personas.



"José Ballesta" escribió:

Buenos días

Tengo una hoja de excel en la que varios usuarios deben introducir datos. Me
gustaría saber si es posible hacer lo siguiente:
- al abrir la hoja pediré que el usuario se identifique.
- una vez hecho esto y en función del usuario, quiero que se oculten unas
determinadas filas.

Gracias por vuestra ayuda
Respuesta Responder a este mensaje
#2 José Ballesta
29/05/2006 - 09:07 | Informe spam
En primer lugar, muchas gracias por tu respuesta

En cuanto a cómo voy en VBA la verdad es que estoy empezando, pero espero
llegar algún día a manejarme como alguno de vosotros.
Por otras cosillas que he necesitado hacer ya tengo una captura de usuario
en la que aparecen asteriscos cuando se introduce el nombre. Lo de la vista
personalizado me parece la mejor opción pero creo que si establezco una vista
y luego añado mas "registros" estos últimos no se muestran hasta que genere
nuevamente la vista incluyendo los nuevos registros, y este es el problema,
no se como hacer para que este sea un proceso automático

"David" escribió:

Hola, José.

Lo que pretendes hacer sí es posible, pero debes trabajar con código. ¿Cómo
estás en VBA?

Mediante un formulario personalizado (user form), podrías pedir la
identificación del usuario (no te recomiendo InputBox, porque cualquiera que
vea sobre el hombro del usuario que se está registrando se enterará de la
contraseña de acceso). Puedes utilizar la propiedad PasswordChar de un
cuadro de texto para que la contraseña no se despliegue en pantalla mientras
el usuario la digita.

Luego, dependiendo de la contraseña y el usuario, puedes utilizar vistas
personalizadas (Ver - Vistas personalizadas) para mostrar u ocultar las filas
o columnas que sean necesarias. Incluso puedes configurar un área de
impresión y una configuración de página particular para cada usuario. En
código VBA, la siguiente instrucción te permite aplicar una vista
personalizada que hayas creado en forma manual previamente:

ActiveWorkbook.CustomViews("TuVistaPersonalizada").Show

Por último, al cerrar tu archivo, puedes interceptar el evento BeforeClose,
para aplicar una vista personalizada muy restrictiva, o para aplicar en la
propiedad Visible de ciertas hojas el valor XlSheetVeryHidden, de manera que
si algún usuario abre el archivo y aún no se ha identificado, no pueda ver la
información de las demás personas.



"José Ballesta" escribió:

> Buenos días
>
> Tengo una hoja de excel en la que varios usuarios deben introducir datos. Me
> gustaría saber si es posible hacer lo siguiente:
> - al abrir la hoja pediré que el usuario se identifique.
> - una vez hecho esto y en función del usuario, quiero que se oculten unas
> determinadas filas.
>
> Gracias por vuestra ayuda
Respuesta Responder a este mensaje
#3 David
30/05/2006 - 00:58 | Informe spam
¡Por poco y no veo tu respuesta!

Si vas a agregar nuevos registros, podrías hacer que tus usuarios insertaran
filas para abrir espacios a los nuevos registros. Esto hará que el rango de
las vistas personalizadas se amplíe automáticamente, y también actualizaría
los rangos de las demás vistas. Ahora bien, si dejas que el usuario lo haga,
prepárate para sorpresas no muy agradables... ;-)

Te sugeriría un macro como el siguiente:

Sub Insertar()
Dim x As String, F As Double
'Captura la posición actual
x = ActiveCell.Address
F = Selection.Column
'Se desplaza a la última celda
Cells(F, 256).Select
Selection.End(xlDown).Select
'Sube dos filas e inserta una fila
ActiveCell.Offset(-2, 0).Range("A1").Select
Selection.EntireRow.Insert
'Vuelve a la posición original
Range("A1").Select
Range(x).Select
End Sub

Este macro se dirige a la última fila del rango, y pensando que tal vez no
sea la posición adecuada, sube dos filas e inserta una nueva fila. Por
último, vuelve a la celda original. Podrías ponerlo como un botón en alguna
barra de herramientas.

Pruébalo, y comentas...

PD: A veces no regreso a ver temas anteriores. Si necesitas más apoyo,
anótalo aquí para que sirva a otros en consultas posteriores, y mándame un
correo. Mi dirección está en mi perfil.

Salu2.



"José Ballesta" escribió:

En primer lugar, muchas gracias por tu respuesta

En cuanto a cómo voy en VBA la verdad es que estoy empezando, pero espero
llegar algún día a manejarme como alguno de vosotros.
Por otras cosillas que he necesitado hacer ya tengo una captura de usuario
en la que aparecen asteriscos cuando se introduce el nombre. Lo de la vista
personalizado me parece la mejor opción pero creo que si establezco una vista
y luego añado mas "registros" estos últimos no se muestran hasta que genere
nuevamente la vista incluyendo los nuevos registros, y este es el problema,
no se como hacer para que este sea un proceso automático

"David" escribió:

> Hola, José.
>
> Lo que pretendes hacer sí es posible, pero debes trabajar con código. ¿Cómo
> estás en VBA?
>
> Mediante un formulario personalizado (user form), podrías pedir la
> identificación del usuario (no te recomiendo InputBox, porque cualquiera que
> vea sobre el hombro del usuario que se está registrando se enterará de la
> contraseña de acceso). Puedes utilizar la propiedad PasswordChar de un
> cuadro de texto para que la contraseña no se despliegue en pantalla mientras
> el usuario la digita.
>
> Luego, dependiendo de la contraseña y el usuario, puedes utilizar vistas
> personalizadas (Ver - Vistas personalizadas) para mostrar u ocultar las filas
> o columnas que sean necesarias. Incluso puedes configurar un área de
> impresión y una configuración de página particular para cada usuario. En
> código VBA, la siguiente instrucción te permite aplicar una vista
> personalizada que hayas creado en forma manual previamente:
>
> ActiveWorkbook.CustomViews("TuVistaPersonalizada").Show
>
> Por último, al cerrar tu archivo, puedes interceptar el evento BeforeClose,
> para aplicar una vista personalizada muy restrictiva, o para aplicar en la
> propiedad Visible de ciertas hojas el valor XlSheetVeryHidden, de manera que
> si algún usuario abre el archivo y aún no se ha identificado, no pueda ver la
> información de las demás personas.
>
>
>
> "José Ballesta" escribió:
>
> > Buenos días
> >
> > Tengo una hoja de excel en la que varios usuarios deben introducir datos. Me
> > gustaría saber si es posible hacer lo siguiente:
> > - al abrir la hoja pediré que el usuario se identifique.
> > - una vez hecho esto y en función del usuario, quiero que se oculten unas
> > determinadas filas.
> >
> > Gracias por vuestra ayuda
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida