The AMAZING TRICK To Add Different User Security Rights to ANY Excel Sheet and User Login

The AMAZING TRICK To Add Different User Security Rights to ANY Excel Sheet and User Login

hola, soy Randy con Excel para autónomos y hoy tenemos una gran lección para ti en la que usaremos el inicio de sesión de usuario y los derechos de seguridad para mostrarte cómo protegemos nuestras hojas y usuarios y les damos identidades específicas y seguridad para cada hoja y para cada usuario, así que estad atentos, será una lección increíble, bien, comencemos felices de tenerlos aquí, la idea de esta capacitación es que queríamos un administrador o alguien que sea dueño del libro de trabajo o lo esté administrando para poder para otorgar ciertos derechos al usuario y esos derechos serían ver una hoja específica y facturar para editarla o verla solo sin ser auditada o ni siquiera poder verla, así que básicamente queremos asignar queremos dar la capacidad para asignar tres tipos diferentes de derechos a un usuario y podemos hacerlo con esta tabla específica que nos ayudará lo que he hecho es configurar una columna simplemente con nombres de usuario y luego puede cambiar los nombres de usuario agregar a eso y luego La segunda columna tiene una contraseña, está bien , tenemos una contraseña, podremos ocultar esas contraseñas un poco más tarde y luego la idea es que lo que quiero poder hacer es poder asignar derechos individuales. para cada hoja, por ejemplo, si queremos que James tenga derechos solo visibles para jitu pero no editables, quiero poder hacer doble clic y hacer eso, entonces lo que vamos a hacer es usar símbolos o íconos para indicar si qué tipo de derechos tiene, entonces podemos hacerlo agregando algunos tipos diferentes de símbolos y podemos hacerlo en el área de símbolos, así que continuaremos e insertaremos el símbolo y debajo de la fuente de webdings webdings you' Obtendrá una gran variedad de íconos y formas diferentes, y uno de los que usaremos es Desbloqueado. Usaré este desbloqueo aquí. También lo tengo aquí. Quiero usar ese para cuando la hoja esté abierto cuando si se puede usar, así que seguiremos adelante e insertaremos eso y necesitaremos uno de esos y luego yo también quiero ingresar algo cuando está bloqueado cuando podemos cuando un usuario puede verlo pero no editarlo, así que quiero encontrar un símbolo para eso, así que seguiremos adelante y usaremos este bloqueado aquí también webdings y vamos a insertar eso está bien y luego también quiero darle al administrador la capacidad de asignar el acceso restringido, lo que significa que ni siquiera pueden ver la hoja y asignarán un símbolo diferente para eso, así que aquí vamos a seguir adelante y poner la red y nosotros También encontrará aquí a mitad de camino, puede encontrar básicamente el ícono que vamos a usar para no poder y se verá así aquí, está bien, así que continuaremos e insertaremos eso, está bien, así que esos son los tres tipos de acceso que queremos, por lo que el desbloqueo será para acceso completo, el bloqueo será para acceso visible pero no editable y este ícono, el ícono de la banda o como quiera llamarlo, lo usaremos para que ni siquiera sea visible está bien, recuerda que estos usan la fuente web ding, así que lo que queremos hacer es que queremos cadena, asegúrese de que la fuente esté configurada para toda la tabla porque la usaremos en toda esta tabla, así que iremos a casa aquí y luego cambiaremos esa fuente a webdings, está bien, y ahora tenemos todo el ahora, cuando usemos esto, será esta fuente y también me gustaría asignar un color. Quiero que se destaque la diferenciación entre los íconos, así que quiero un color diferente para cada tipo. vamos a asignar tres formatos condicionales diferentes para que podamos resaltar toda la tabla y luego lo que vamos a hacer es ir al formato condicional y vamos a ir a una nueva regla y queremos celdas que solo contiene un valor específico texto específico y cuál es ese texto bien para el desbloqueado usa un código especial para el bloqueo usa un código especial y para este usan un código especial entonces queremos saber cuál es ese código especial así que cancelemos eso out y el desbloqueo usa esta forma de d, está bien, esta forma de D, así que la hemos copiado y pegado y ahora sigamos y seleccionemos la tabla nuevamente en el formato condicional y continuaremos y agregaremos ese nuevo formato de regla que contiene un texto específico y ese texto tendrá esa forma de D, está bien, ahora si eso está seleccionado, ese es nuestro desbloqueo, así que ¿Por qué no seguimos y coloreamos eso? Tal vez sigamos adelante y cambiemos la fuente a un color verde, está bien. Verde de esa manera se destacará porque es verde. así que vamos a copiar eso bien y una vez más seleccionar toda la tabla ir a formato condicional nuevas celdas de formato de regla que solo contienen un valor específico bien y luego seguiremos adelante y pegaremos ese I con los dos puntos arriba ahora vamos voy a establecer un color para este también está bien y sigamos adelante y pongamos esto me gustaría amarillo o tal vez naranja quiero seguir adelante y ponerlo naranja está bien, así que seguiremos adelante y haremos clic en Aceptar, está bien y luego queremos la banda color vamos a hacer ese rojo para que se destaque nosotros puede ver fácilmente los diferentes derechos de seguridad resaltando toda la tabla, sigamos adelante y copiemos esto, es una X, por lo que es fácil, lo que necesitaré para copiar y pegar eso, de modo que sea una X y luego una nueva regla , formato de celdas que solo contienen un texto específico y lo que vamos a poner en X aquí está bien y vamos a asignar este color el color de la fuente para que sea rojo está bien genial muy bien ahora puedes ver que tenemos los tres colores diferentes para cada uno forma para que se vea bien y lo que básicamente quiero que suceda es que cuando un usuario haga doble clic en una celda específica Quiero que cambie Quiero que este ícono cambie Quiero que entre en un proceso Quería pasar de desbloqueado a bloqueado a prohibida, está bien u oculta, llamemos a esto oculta porque ella estará oculta, así que quiero que el proceso continúe y podemos hacerlo a través de VBA, entonces, ¿por qué no seguimos adelante y pasamos por el desarrollador y hacemos clic en visual basic alt 11? si desea usar teclas de acceso directo si no tiene el desarrollador, simplemente ingrese a la fi le y luego siga adelante y las opciones y entrará en la cinta personalizada y asegúrese de seleccionar el desarrollador aquí y luego obtendrá su pestaña de desarrollador aquí, así que vuelva al básico visual y ahora tenemos nuestro básico visual arriba aquí y la idea aquí es una vez más que si hacemos doble clic en cualquiera y cualquier cosa aquí queremos que suceda algo, así que sigamos adelante e invoquemos nuestro doble clic y ahora tenemos que hacerlo para un rango específico, vamos a comenzar con g5 en realidad, vamos a seguir adelante, comencemos con H 5 G, tendrá un propósito diferente, lo usaremos para seleccionar todo, será genial, pero lo mantendremos separado, así que H 5 a m 24 H 5 a través de m 24 es el rango en el que vamos a trabajar, así que seguimos adelante y hacemos clic en la hoja de administración que es la hoja de la casa en la que estamos trabajando y lo que haremos es seguir adelante y seleccionar el hoja de trabajo y vamos a usar antes de hacer doble clic y no pudimos usar , podríamos usar un cambio de selección, pero lo haré cómo ves las diferencias para que puedas verlas, así que comenzaremos antes de hacer doble clic, lo que básicamente significa que cuando un usuario hace doble clic en algo, queremos que algo suceda, está bien, así que sigamos adelante y compitamos con eso, así que lo usaremos ahora vamos a decirle a Excel, oye, si el usuario hace un cambio cuando hay un doble clic, esto es lo que sucede, así que si no, si no, intersecar, está bien y luego apuntar al rango de coma y qué significa ese rango nuevamente , recuerda que es H cinco a m24 H cinco a m24 está bien entonces entre paréntesis es nada entonces está bien y ahora dijimos está bien si hacen doble clic queremos que suceda algo está bien pero qué queremos que suceda está bien, les diré lo que vamos a seguir si es nada bien si se sabe si es esto correcto, que es la D, entonces queremos que suceda algo y queríamos ir a la pantalla de bloqueo si es esto, queremos ir a esto, así que básicamente vamos a ir en el proceso de eso ordene bien, así que volvamos a nuestro editor de VBA, se abrirá esto un poco, podemos cerrar esto por ahora y lo que queremos que suceda es que queremos decir si es D y luego cambiarlo a I, así que es bastante simple, así que todo lo que haces es copiar este pequeño texto allí y solo queremos decir si el valor del punto de destino es igual, copiaremos y pegaremos esa D, luego el valor del punto de destino es igual y pegaremos ese I allí, está bien, sigamos y copiemos eso, está bien y luego lo pegaremos entre las comillas en el VBA y péguelo allí mismo, así que sigamos y echemos un vistazo y veamos cómo funciona ahora si hacemos doble clic allí, cambia perfecto, está bien , eso es lo que sucede y ahora podemos ahora podemos escribir código adicional, así que queremos digamos, si es esto, cambiémoslo a dos, así que si es ojo, lo cambiaremos a X, está bien, porque eso lo cambiará para nosotros, así que solo tenemos que copiar y pegar este código nuevamente y cambiaremos el nosotros Cambiaré el texto si va a ser este ojo, así que copiemos el ojo a la derecha y luego cámbielo a X , está bien, así que ahora, si es esto, lo cambiará, así que haga doble clic perfecto, está bien y ahora, una vez más, si está prohibido, queremos que desaparezca si es este ícono oculto que queríamos volver a desbloquear, así que básicamente queríamos hacer un bucle para que podamos hacer eso debajo con otro copiar y pegar, así que lo que vamos a decir es que si es X esta vez, entonces queríamos volver a cambiarlo a D, está bien, y hay otra condición que tenemos que escribir, que haremos y es decir, si está en blanco, está bien , seguiremos adelante e incluiremos algo para eso también y, si está en blanco, también me gustaría escribir algo que básicamente indique si está en blanco, volvamos a D, así que si el valor del punto objetivo es igual a vacío, está bien entonces quería darle ese valor desbloqueado, entonces el valor objetivo es igual y luego solo diremos digamos que queremos que esté desbloqueado, está bien, así que ahora lo hemos revisado de vez en cuando si está en blanco, está bien, podemos ir adelante y ahora obtuvimos el desbloqueo de su espacio en blanco, así que debido a esa última línea de código y tenemos que escribir un poco más un problema al que nos enfrentaremos si no escribimos un poco más de código aquí está básicamente en esto cuando cambiamos esto a Escribo automáticamente, luego verá esto y cambiará, seguirá recorriendo y mirando así que solo tenemos que poner las cosas en cierto orden y luego salir, así que queremos asegurarnos de que si es I, sigamos adelante y lo pongamos, si es D, entonces saldremos del sub, está bien, la razón por la que lo hacemos es si va a hacer un bucle si no lo hace, en otras palabras, si cambia a automáticamente, va a ir a esta columna, diga oh, sí, entonces cambio a seis, así que va a ir automáticamente desde porque va a ir desde esta línea es voy a cambiarlo a I bien y luego de inmediato va a decir oh, quiero cambiar los seis, así que básicamente queremos decir una vez que hayamos hecho el cambio, salgamos bien y podemos cambiar el orden. si cambiamos el orden de x2i correctamente, si cambiamos este orden, tráigalo aquí, ¿de acuerdo? sabemos que seré el último, así que eso se arreglará por sí solo para nosotros, así que eso evitará que entren en un bucle , es una especie de cosa ordenada que realmente nos ayudará, está bien, sigamos adelante y echemos un vistazo Tengo el código bien, podemos verificar para ver cómo funciona, haga doble clic en este genial, se bloquea y luego se oculta y luego vuelve a bloquearse perfecto y si está en blanco debería ir a desbloquearse bien, así que ahora está funcionando ahora. También me gustaría agregar otra habilidad, es que lleva un poco de tiempo ver, quiero decir, especialmente si tiene muchas hojas para tener que hacer doble clic en cada hoja, así que lo que me gustaría hacer es dar el el usuario tiene la capacidad de seleccionar , simplemente selecciónelos todos y cambiará todas las hojas si usamos esto aquí, así que quiero hacer eso, eso le dará al usuario un gran ahorro de tiempo y podemos hacerlo relativamente fácil con solo un poco más de código y en este caso en este caso no va a sea ​​el rango h5, será un rango diferente, está bien, así que podemos copiar este, aunque el rango será diferente, está bien, en este caso en el que estamos trabajando solo con la columna G, solo la columna G a la derecha, así que vamos a cambiar esto a G cinco a G 24 bien y asegúrese de cerrar eso con un ENDIF bien ahora qué queremos que suceda bien lo que queremos que suceda es si un usuario hace clic en cualquier lugar de la columna G queremos la fila completa todas las hojas dentro de esa fila para cambiar en función del valor también en la columna G para que podamos hacer casi lo mismo que hicimos anteriormente, excepto cambiar el rango, así que continuaremos y copiaremos y pegaremos, está bien, copiaremos y pegaremos lo que hemos hecho antes y Solo haré algunos cambios leves, está bien, si el valor objetivo es igual a D, entonces no vamos a cambiar el valor objetivo, vamos a cambiar toda esta fila para que podamos hacer eso con un rango de código G, está bien y la fila objetivo porque no No sé cuál es la fila, por lo que será la fila en la que los usuarios hicieron clic en el punto de destino r Está bien, y las marcas de dos puntos van a ser un rango y hasta la M y la fila de puntos de destino, está bien, y luego vamos a cerrar eso y eso debería funcionar. Tenemos que poner las citas iniciales aquí, está bien . así que básicamente estamos diciendo que cambie toda la fila g3m cambió a esto y luego pondremos un valor de punto allí porque queremos que el valor esté bien , así que es el valor el valor en ese rango cada valor en ese rango queremos que cambie y podemos copiar y pegar esto bien hacer lo mismo para esto en lugar del valor objetivo queremos el valor completo del rango lo mismo aquí y lo mismo aquí bien entonces lo que estamos haciendo es básicamente decir si Ahora, si está en blanco, nuestro primero estará vacío, entonces lo cambiaremos para que se desbloquee por completo, por lo que si hacemos doble clic aquí ahora, todos estarán desbloqueados si hacemos doble clic nuevamente, todos se bloquearán si hacemos doble clic. de nuevo, todos van a ocultarse y luego vuelven a desbloquearse, está bien, así que funciona muy bien, así que va na, esa es una excelente manera de cambiar la seguridad en todas las hojas a la misma y luego, por supuesto, puede ir individualmente y cambiar cada una, pero es una buena manera de cambiar la seguridad de todas las hojas al mismo tiempo. Voy a escribir la otra macro para esto, así que cuando lo que suceda es cuando el usuario inicie sesión, quiero que la macro se ejecute en todas estas hojas correctamente y oculte algunas, bloquee algunas y muestre algunas para que podamos hacer eso con una macro. así que sigamos y hagamos clic derecho en cualquier lugar para insertar un módulo y luego continuaremos y haremos clic en las propiedades para esto y cambiaremos el nombre porque siempre me gusta nombrar mis módulos y luego llamaremos a este libro seguridad o cualquier nombre que desee siempre que no sea lo mismo que una macro, entonces está bien, está bien y podemos cerrar eso para ahorrar espacio ahora mismo , entonces lo que vamos a hacer es comenzar una macro aquí y podemos llamarlo usuario de verificación secundaria porque queremos que esta macro haga dos cosas, queremos una 1 onc Si el usuario inicia sesión, queremos verificar si ese es un nombre de usuario correcto y para ver si es la contraseña correcta y si ambos son verdaderos, entonces queríamos ocultar o mostrar hojas de acuerdo con su seguridad para que podamos seguir adelante y hacer esto. primero vamos a tener que dimensionar algunas variables, vamos a necesitar usar una fila de usuario fila de usuario y definiremos eso en la columna de la hoja a la derecha, queremos que pase por cada una de estas hojas, así que voy a definir estas columnas de la hoja están bien, así que vamos a revisar eso también, por lo que la columna será otra muy larga, ambas son largas, ambas son números enteros y también el nombre de la hoja, el nombre de la hoja como cadena, está bien, y luego lo que quiero hacer. es que quiero especificar que en realidad solo estamos trabajando con la mayoría de las cosas en la hoja 1, que es la hoja 1 de admin ok aquí ves admin, así que vamos a ir con la hoja 1 y solo para tu referencia cuando estemos trabajando directamente en una hoja cuando estamos trabajando directamente en una hoja, nota que no necesitamos hacer referencia a usted mira, solo comenzamos con el rango, no necesitamos hacer referencia a la hoja porque estamos en la hoja, pero estamos usando una macro, siempre tenemos que hacer referencia a qué hoja, así que en este caso vamos a hacer la hoja 1 y luego cualquier cosa lo hacemos lo primero que quiero usar punto calculado bien y eso va a calcular algunas fórmulas que vamos a poner en este momento bien entonces y lo revisaré y básicamente lo que queremos hacer es establecer fórmulas para nuestros usuarios para que sepamos qué usuario y si la contraseña es correcta para que podamos hacer eso, simplemente nos deslizaremos aquí en nuestro libro de trabajo y solo tengo algunos nombres abiertos y vamos a poner el nombre de usuario y la contraseña aquí por ahora pero en breve vamos a crear un formulario emergente para manejar eso por ahora vamos a seguir adelante y poner James y la contraseña 1 2 3 ok temporalmente y básicamente lo que quiero que haga este campo es decir yo es esta contraseña correcta está bien, necesito saber si esta contraseña es correcta para que podamos usar una fórmula para eso, pero primero l definamos el nombre de usuario y las contraseñas de nuestra tabla, sigamos adelante y defínalos , está bien, y podemos definirlos, llamaremos a esa tabla de usuarios para que podamos ingresar . así que va a ser del e al 5 al 24, está bien, así que sigamos adelante y asignemos ese nombre, vamos a llamar a ese usuario nombre de usuario, así que básicamente estamos haciendo referencia a esta tabla y ahora podemos usar esas referencias en una fórmula, así que lo hace mucho más fácil y también está claro, por lo que lo primero que queremos hacer es usar una coincidencia de índice, que es un ajuste de fórmula muy común para encontrar variables de alimentación específicas, así que lo que queremos hacer es queremos decir índice bien qué vamos a indexar bien qué vamos a indexar toda la tabla primero, así que vamos a llamar a esa tabla de usuario bien, así que vamos a indexar todo el uso de la tabla su tabla está bien y ahora tenemos que especificar un número de fila, bueno, queremos saber qué fila es el nombre de usuario y queremos saber si esa contraseña es correcta, está bien, entonces vamos a usar coincidencia, coincidencia, ¿qué estamos haciendo coincidir? Vamos a buscar a James , está bien, y vamos a buscarlo en qué matriz, qué tabla acabo de crear el nombre de usuario, así que el nombre de usuario para que podamos hacer referencia a él, así que esa es la tabla y la Z, vamos a usar este cero porque queremos una coincidencia exacta, tiene que coincidir exactamente, así que vamos a usar la coincidencia exacta y luego vamos a continuar y cerrar eso con paréntesis bien y luego necesitamos especificar la columna en este momento recuerda la columna en esta tabla esta es la columna uno y esto es com2 así que vamos a usar la columna dos bien la columna dos bien entonces ahora lo comprobaremos bien, así que básicamente todo lo que hizo fue devolver la contraseña , así que básicamente lo que quiero decir es oye, si esta contraseña coincide con esta contraseña, está bien , podemos verificar eso y simplemente tenemos que agregar una declaración if allí para que podamos puede decir si el valor de Dennis es igual a esta contraseña ingresada, entonces es verdadero, de lo contrario, es falso, está bien sí, y ahora mismo es falso, pero si cambiamos esto a la contraseña real cambiando esto a una W, eso cambiará el verdadero, así que ahora sabemos que tenemos la contraseña correcta, está bien, lo siguiente que queremos hacer es queremos defina la fila del usuario, está bien, queremos saber cuál es la fila del usuario porque necesitaremos usar esa fila cuando VBA esté pasando, podemos obtener esa fila en VBA, pero no quiero mostrarle aquí en una fórmula, así que hay algunas maneras de hacerlo y podemos hacerlo básicamente con una declaración de coincidencia coincidencia y luego con qué estamos emparejando dónde vamos a emparejar a James y luego con qué lo estamos emparejando vamos a buscar el nombre de usuario de Ray está bien y luego también queremos una coincidencia exacta en eso, así que continuaremos y usaremos ese cero y luego recordaremos si acabamos de ingresar que ingresará uno correcto pero no queremos uno uno es la primera fila en la tabla, que es correcta, pero en realidad es la quinta fila de la tabla, pero es la primera fila de la matriz, por lo que siempre querremos agregar 4 a eso está bien , más 4 nos dará la fila correcta en la tabla y también queremos si está mal, aunque si está mal, no quiero que aparezca un mensaje de error aquí, así que lo que voy a hacer es voy a escribir si me importa está bien y luego iré al final. Solo voy a crear un espacio vacío entre comillas dobles, así que si hay un aire si está mal, solo quería aparecer. No quiero mostrar un error aquí porque yo Voy a hacer que VBA lea esto, de modo que si está mal, solo estará en blanco y podemos y cuando escribimos el código en VBA, podemos probar para ver si está en blanco o si no está en blanco, de modo que regresemos a nuestro VBA. Continúe con nuestra macro que estamos escribiendo ahora, así que lo que haremos es que podemos ahora que hemos calculado una hoja y la razón por la que hemos calculado en el VBA es porque queremos que esas fórmulas se aseguren después de que el usuario haya ingresé el nombre de usuario y la contraseña, queremos asegurarnos de que ella calcule para que ambas fórmulas puedan calcular y ahora lo que quiero hacer en esta macro es que vamos a use esta macro cuando el usuario presione Aceptar en el formulario de inicio de sesión. Quiero probar bien, pero voy a ejecutar dos pruebas. Una, quiero ver si el nombre de usuario es correcto. Quiero ver si la contraseña es correcta y podemos hacerlo. con dos declaraciones if, la primera de las cuales es si el rango de puntos está bien b8 recuerda que esa es nuestra fila de usuario b8 el valor del punto es igual a vacío recuerda que si hay algún tipo de aire, estará vacío, entonces está bien incorrecto, solo vamos a hacer un comentario nombre de usuario incorrecto Entonces, sabemos qué queremos hacer bien primero. Quiero decirle al usuario que no es el cuadro de mensaje correcto, está bien , ingrese un pago de usuario correcto, está bien y luego saldremos del sub, queremos salir . no quiero continuar más hasta que ingresen un nombre de usuario correcto, así que está bien, tenemos esas dos cosas sucediendo si es propio y ahora, si la contraseña es incorrecta, queremos escribir una declaración de regalo adicional si el rango de puntos está bien y en este caso b7 recuerda que es cierto, queremos asegurarnos de que sea cierto e correcto b7 y si por alguna razon ingresaron una contraseña incorrecta y te dara un error o cuando me salga falso entonces lo que queremos hacer es solo queremos decir si no es verdad en este caso si b7 no es igual a verdadero correcto, tan cierto es la única condición en la que debemos continuar si no es cierto, queremos finalizarlo, entonces contraseña incorrecta' está bien, en este cuadro de mensaje de caso, ingrese una contraseña correcta, está bien y sale bien y si está bien, ahora tenemos entendí esto, así que sigamos adelante y pruébelo y lo ejecutaremos, está bien, no hay problema, no hay errores porque tenemos un correcto, pero ¿y si cambiamos esto para decir James a un no usuario está bien y ahora nosotros? lo ejecutaré bien, por favor ingrese el nombre de usuario correcto bien bien y ahora sigamos adelante e ingresemos una contraseña incorrecta bien y seguiremos adelante y ejecutaremos eso y luego nos aseguraremos de que la policía ingrese una contraseña correcta bien genial entonces eso está funcionando bien y vamos Continúe y coloque eso en una contraseña correcta ahora podemos continuar con nuestro VBA ahora i Si llegan a este punto, sabemos que han ingresado todo correctamente, por lo que podemos continuar ocupándonos de ocultar, mostrar, bloquear o desbloquear hojas, está bien, y para hacer eso, debemos definir ahora, debemos definir la fila porque necesitamos sepa en qué fila vamos a trabajar, así que use una fila, recuerde que la hemos dimensionado aquí es igual a la derecha b8 a la derecha b8 aquí bien rango de puntos b8 bien valor de punto esa es la fila del usuario bien, queremos asegurarnos porque eso es realmente importante y luego lo que queremos hacer básicamente es que queremos conocer la fila ahora queremos recorrer cada una de estas columnas y, según el ícono aquí, queremos mostrar y desbloquear la hoja que queremos mostrar y bloquear el hoja o incluso podemos ocultar la hoja completamente bien, esos son los tres platos que vamos a probar por ahora y vamos a hacer eso para cada hoja en el libro de trabajo para que podamos hacer eso con un cuatro siguiente declaración y lo que queremos hacer es pasar por el las columnas son correctas, pero queremos saber qué columnas son correctas, por lo que G es todas las páginas, por lo que no necesitamos que vayamos a través de las columnas H a la columna m, bueno, necesito saber a qué columna es igual, así que solo ya que esto nos ayudará en la columna, está bien, les dirá que esta es la columna ocho, está bien, y si arrastra esto hacia allí, queremos pasar por ocho desde la columna ocho hasta la columna trece, está bien, así que queremos que esta macro se ejecute en todos estas columnas para que podamos hacer eso con una siguiente declaración de cuatro y podemos comenzar con la hoja tranquila, recuerde que hemos definido la hoja, llámelos allí, la columna es igual a ocho a trece, está bien y luego la siguiente columna, está bien, así que ahora dentro de este bucle todos nuestros la acción de ocultar, bloquear o desbloquear tendrá lugar, lo primero que queremos hacer es definir el nombre de nuestra hoja y lo he hecho a través de una fórmula aquí donde básicamente definimos los nombres de las hojas a través de esta fórmula y esta fórmula que he agregado básicamente toma lo que sea er nombre de la hoja en uno o tres, por lo que si cambia los nombres de las hojas, cambiarán automáticamente a OK y ahora puede ver aquí que el nombre de la hoja ha cambiado, por lo que nos ayudará , es solo esta fórmula simple, básicamente es voy a tomar el nombre de la hoja de una celda específica para cada una de esas cosas, así que si agrega más, es muy simple agregar más columnas y agregar más hojas solo con esta fórmula aquí, así que espero que eso lo ayude ahora que ahora que sabemos que vamos a definir los nombres de las hojas ahora estos nombres de las hojas están en la fila de escritura cuatro y sabemos que las columnas están bien, así que sigamos adelante, así que el nombre de la primera hoja será sigamos y definamos que el nombre de la hoja es igual y en En este caso, vamos a usar celdas de puntos normalmente, hemos estado usando el rango de puntos, pero las celdas de puntos nos permiten usar una variable tanto para la fila como para la columna . sé que la columna es B, pero en este caso cuando quieres variables para ambas celdas y para ambas las columnas y las filas usarán la opción de celdas, por lo que en este caso, las celdas comenzaremos con una fila de usuario de fila, está bien, porque conocemos la fila de usuario que acabamos de definir arriba y qué es la columna de la hoja de columna, está bien, el valor del punto está bien y que básicamente nos va a decir el nombre de la hoja, así que lo que va a hacer es que soy este ciclo, va a ir uno, el nombre de la hoja es admin, recuerda la fila cuatro, está bien, y nos lo dirá y no es necesario que me dejes ir. adelante y cambie esto, debe ser un cuatro, porque solo estamos obteniendo el nombre de la hoja y el nombre de la hoja solo está en la fila cuatro, así que lo hemos hecho ahora lo que podemos hacer ahora que tenemos este nombre de hoja podemos ir adelante y ejecute nuestra declaración if y vamos a ejecutar una declaración if basada en el tipo de seguridad que tenemos para eso, así que sigamos adelante y escribamos ese código ahora mismo si está bien, celdas de puntos, ahora podemos ingresar a la fila de usuario usuario Rho punto hoja columna punto valor bien es igual y luego recuerda que tenemos bien empecemos con esa D bien si es desbloquear cual es esta D si es que queremos que suceda bien en ese caso queremos asegurarnos de que no esté bien protegido y queremos asegurarnos entonces está bien está bien entonces continuaremos y escribiremos un final si así lo queremos asegúrese de que no esté protegido, así que continuaremos y las hojas están bien, nombre de la hoja, recuerde que ese es el nombre de la hoja al que se hacía referencia, solo que puede haber estado protegido antes, así que siempre queremos asegurarnos de que esté desprotegido. En este caso, estoy desprotegido y luego seguiremos adelante y usaremos una protección de contraseña vamos a usar una contraseña de digamos 1 2 3 ok, entonces y también puede haber estado oculta antes si por una noche si otro usuario conoce cuando abramos este libro de trabajo, tendremos todas las hojas de trabajo ocultas porque es importante que no sepamos si el usuario tendrá todos los derechos de seguridad, por lo que es importante ocultarlas todas al principio, así que queremos asegurarnos de que este caso que es visible para las hojas de nuevo ella voy a seguir adelante y deletrear el de arriba a la derecha, agregue otro punto de nombre de hoja bien y, en este caso, visible bien es igual a x L, ella es visible bien y lo que va a hacer es que nuestra hoja sea visible, que es lo que queremos porque es si tiene esa D va va a estar completamente desbloqueado, está bien, así que lo nombró así que, básicamente, si está desbloqueado, queremos hacer dos cosas: queremos desprotegerlo y queremos asegurarnos de que esté visible, está bien, pero ¿y si está bloqueado y está visible? ¿Y si es este aquí? bien, que está bloqueado pero visible , así que vamos a copiar ese ícono allí y luego vamos a volver al código VBA y vamos a escribir algo, vamos a escribir un código que nos permita básicamente mantenerlo visible, pero regístrelo, así que sigamos y peguemos ese ojito allí y voy a copiar y pegar este código aquí, está bien , y luego copiarlo de nuevo y ahora voy a decir básicamente en este caso si es un ojo que es ese ojo que es bloqueado quiero protegerlo bien no queremos queremos este prot ectado y visible bien protéjalo y visible eso es para nuestra segunda condición ahora tenemos una condición más bien y es que queremos asegurarnos de que si es la X recuerden la X bien que no queremos que sea visible en todo para que podamos escribir algo de código si las celdas de puntos usan un valor de punto de columna de hoja de fila igual a X y luego, en ese caso, podemos ocultarlo muy bien y explicaré la diferencia en eso, luego a la derecha y luego vamos siga adelante y copie eso y luego, en este caso, no lo haremos visible, en realidad lo haremos muy oculto, está bien, y le explicaré la diferencia muy oculto, en realidad hay tres estados en los que una hoja puede ser si vamos a continuar y en la pantalla de administración, vayamos a las propiedades, está bien, si observa esta hoja, está visible, está bien, verá nuestras hojas de administración visibles, pero si las ocultamos, si las ocultamos, está bien, ya no está allí, sin embargo, si Hago clic con el botón derecho y lo arrastro hacia abajo para que pueda ver un poco , ahí vamos. y entonces, si hace clic con el botón derecho, puede ver en cualquier cosa que aquí está visible y puede ver que está justo aquí para que cualquiera pueda mostrar que ella está haciendo clic en mostrar, está bien , pero a veces no desea que sus usuarios puedan hacerlo manualmente. mostrar hojas como esa, así que lo que podemos hacer en ese caso es hacerlo muy oculto y le mostraré cómo hacerlo y en este caso podemos hacerlo muy bien oculto muy oculto y cuando hace clic con el botón derecho en eso ganó no habrá ninguna forma de mostrarlo, la única forma en que puede mostrarlo es ingresando a VBA directamente, haciendo clic en las hojas aquí y luego cambiando las propiedades aquí para que sean visibles, está bien, en nuestro caso para esto, pero probablemente probablemente queramos hacer una hoja barata muy oculta, de lo contrario, será demasiado fácil para un usuario mostrarla, así que queríamos hacer una hoja de trucos sin ocultar, así que continuaremos y escribiremos un código para eso y cerraremos. las propiedades ahora y en este caso lo que queremos hacer es volver a la seguridad aquí y queremos hágalo muy bien y eso es lo único que no tenemos que preocuparnos por la contraseña, aunque si lo desea, puede protegerla y ocultarla también, así que eso no sería un problema, pero es un poco excesivo, así que ahora tenemos escribimos nuestro código, está bien, ahora tenemos , podemos volver a nuestra pantalla de administración, avancemos y desocultemos eso y hagámoslo visible, está bien , volvemos a nuestra pantalla de administración y aquí tenemos nuestro código, así que si James y nuestra contraseña son correctos, Vamos a tener un repaso y podemos bloquear esto, sigamos adelante y bloqueemos, bloqueemos, está bien, está bien, ahora mismo pueden ver que pueden hacer clic en estas hojas sin problemas y revisarlas. Permítanme desprotegerlas solo para que podamos configurarlas. que puede ver cómo están protegidos y luego ahora puede seleccionar completamente y una vez que los protejamos, puede elegir, lo recordará, así que digamos que no queremos bloquear, así que sigamos adelante y desprotejamos eso. pero recordará lo que hiciste antes, así que cuando lo protejamos con la contraseña, lo hará. También recuerdo que no queremos seleccionar las celdas bloqueadas, está bien, así que volvamos a nuestro administrador, así que básicamente quiero que nuestro administrador sea editable y quiero que nuestro y sigamos y ocultemos el truco para que esté bien, así que sigamos adelante y veamos cómo. eso funciona bien, levante el VBA y continuaremos y simplemente haga clic en cualquier lugar aquí y haga clic en ejecutar el código bien y se ha ejecutado y ahora ve que la hoja 4 se ha ido bien y la hoja 3 ha sido protegida para ver cómo está desprotegida y No puedo hacer clic en ningún lugar aquí, así que funciona bien y tenemos que esto también está protegido con la contraseña 1 2 3 que está desprotegido, así que funciona bien también está bien, entonces nuestro código funciona bien y la hoja 4 ya no está, ahora sigamos adelante y hagamos seguro para activar y ejecutar nuestro código nuevamente y sigamos adelante y veamos si eso funciona, así que está bien, lo ejecutamos y está la hoja 4 nuevamente , está funcionando muy bien y ahora lo que queremos hacer es trabajar esto con nuestra seguridad de inicio de sesión, así que lo haremos ahora y lo que haremos es crear un nosotros er form para manejar eso por nosotros, así que regrese a nuestro VBA y haga clic con el botón derecho e insertaremos un formulario de usuario, está bien, continuaremos y le daremos un nombre en las propiedades y llamaremos a este formulario de inicio de sesión y luego Adelante , póngale un título aquí, formulario de inicio de sesión, está bien, cambiaremos un poco el fondo, le daremos un aspecto más agradable, seguiremos adelante y agregaremos un poco de texto. Permítanme expandir esto. traiga eso para que podamos continuar y agregar etiquetas para que lo que queremos sea el nombre de usuario deseado y lo escribiremos aquí debajo del nombre de usuario que será el título, aumentemos la fuente también para que sea fácil legible hoy, vamos a 14 en esto, está bien, y luego lo justificaremos haciendo doble clic aquí dos veces, sigamos y copiemos eso y usaremos una etiqueta similar para la contraseña ctrl-c ctrl-v, está bien y ahora vamos adelante y llame a esta contraseña , está bien y lo siguiente que queremos hacer es agregar realmente en los campos de etiqueta, podemos hacerlo aquí con h un cuadro de texto, así que estos son los campos para las etiquetas y démosle un nombre, también lo llamaremos campo de nombre de usuario y también hagamos ese 14 para que sea similar a los demás, cambie la fuente, está bien, seguiremos adelante y copie eso y péguelo y le daremos a ese también un nombre diferente y llamaremos a ese campo de contraseña, así que sigamos y agreguemos eso y ahora lo que queremos hacer es vincular estos campos con los campos en nuestro libro de trabajo para que siempre sepamos dónde están configurados, así que sigamos adelante y alineémoslos a la derecha y luego seguiremos adelante y alinearemos estos dos. Estoy usando el control para seleccionarlos y la izquierda está bien y lo que queremos hacer es asignar este campo a esta celda aquí b5 y podemos hacerlo bajo la fuente de control aquí la fuente de control, así que continuaremos y escribiremos el nombre de la página admin y luego la exclamación marca y luego b5 está bien, una vez que hayamos hecho eso, James aparecerá para que sepamos que está vinculado correctamente, haremos lo mismo. ng para aquí debajo para b6 admin b6 está bien y luego no olvide el signo de exclamación allí si por alguna razón el nombre de su página tiene espacios, querrá agregar estas comillas estas marcas aquí para separar eso, eso es muy importante si usted Los nombres de Chi tienen espacios, así que los hemos agregado y los tenemos vinculados, eso es genial, sigamos adelante y agreguemos un botón para que podamos iniciar sesión y seguiremos adelante y haremos clic en el botón y luego haremos un buen OK . El botón tendrá el título que dice "bien " . todo lo que tenemos que hacer es copiar y pegar este ok , volver al formulario de inicio de sesión, hacer doble clic en ok y pegarlo, de modo que cuando presionen ok, básicamente vamos a verificar si ese usuario está bien y eso es todo lo que tenemos que hacer. Como ya hemos creado la macro, sabemos que funcionará justo cuando el el usuario está marcado bien, genial, así que eso es todo para el formulario de usuario y lo que queremos hacer es mostrar y ocultar este formulario de usuario básicamente al iniciar sesión, sin embargo, cuando este libro está cerrado, queremos ocultar realmente todas las hojas porque no No sabemos si el usuario, si el nuevo usuario tendrá acceso o no, por lo que es importante que ocultemos todas las hojas y luego, en función de los derechos de los nuevos usuarios, mostremos las hojas o no, y lo que queremos hacer es quiero elegir una hoja predeterminada, sabe que solo hay una hoja vacía para comenzar, por lo que he creado un truco de estrella, no hay nada aquí y lo que quiero que suceda es que quiero que esta hoja aparezca cuando se abra el libro de trabajo y luego en la parte superior de eso, quiero que aparezca el formulario de usuario, así que para hacer eso, lo que haremos es escribir una macro que básicamente oculte todas las hojas y eso, excepto el inicio, está bien y podemos hacerlo con un muy fácil macro sigamos adelante y escribamos una macro para eso y simplemente llamaremos a este libro de trabajo cerrado porque y esto suceda cuando el libro de trabajo esté cerrado, así que llamémoslo libro de trabajo cerrado, está bien y lo primero que queremos hacer antes de ocultar cualquier otra hoja es que no podemos ocultar una hoja a menos que hayan trabajado para ella antes, así que queremos queremos ir al inicio queremos activar queremos que el usuario vaya al inicio para que podamos hacer eso y el inicio como ven es la hoja 6 me gusta usar los números de la hoja y no que ella nombra porque ella nombra tiende a cambiar, por lo que ella se activa con seis puntos, está bien y todo lo que va a hacer es enviarnos a disparar a seis y hacer que se muestre, así que está bien y luego, básicamente, quiero escribir un código que voy a decir yo quiero decir para todas las otras hojas para todas las otras hojas en el libro de trabajo por favor ocúltelas bien para que podamos hacer eso primero vamos a dimensionar una hoja de trabajo derecha hoja de trabajo como una hoja de trabajo porque vamos a revisar cada hoja de trabajo así que queremos asegúrese de dimensionar y luego vamos a escribir un código básicamente que dice fo r cada hoja de trabajo en el libro de trabajo lo oculta a menos que, por supuesto, sea el comienzo, no queremos ocultar el comienzo, está bien, así que para cada hoja de trabajo en este libro de trabajo, puntee las hojas de trabajo, está bien para siempre, básicamente para todos, ¿verdad? y luego la siguiente hoja de trabajo, así que todo lo que estamos vamos a escribir está en el medio y queremos decir si si el nombre del punto de la hoja de trabajo no es igual a empezar bien no queremos hacer esto primero empezar bien entonces trabajar ella punto visible es igual a Excel y luego en este caso vamos a vayan muy bien escondidos porque no queremos que los muestren fácilmente, así que vamos a ejecutar este código bien cuando ejecutemos este código, básicamente ocultará todo excepto el inicio , así que sigamos adelante y guardemos nuestro trabajo como siempre me gusta hacer y luego vamos a ejecutar esa macro , sigamos adelante y ejecútela bien y puede ver que todas las otras hojas no están allí excepto el inicio, así que queremos que antes del cierre haga eso porque cuando el libro está abierto, todo lo que queremos que vean es esta pantalla de inicio, así que eso es gon na, ayúdenos, así que ahora, antes de que se cierre el libro de trabajo y también hay una cosa más que me gusta hacer, a menudo hay un problema cuando cierra el libro de trabajo si se realizan cambios, recibirá un mensaje que dice si desea guardar este libro de trabajo así que lo que yo Siempre me gusta hacer es guardar el libro de trabajo después, así que escribiremos otro código que diga que este libro de trabajo no se guarda bien y eso solo lo guardará, así que ahora podemos copiar y pegar este código. Podríamos haber escrito esto debajo la foto del trabajo cerrado también, pero también quería todo en el mismo módulo para usted, así que copiaremos este libro de trabajo cerrado y luego, debajo de este libro de trabajo, lo pondremos en el libro de trabajo y luego no cuando esté abierto sino cuando está cerrado justo antes de la ropa antes de cerrarse, eso es lo que vamos a pegar, está bien en abierto, queremos que sucedan algunas cosas, aunque ¿ qué queremos? Bueno, es bastante simple lo que queremos que suceda en abierto, queremos mostrar el formulario de inicio de sesión correcto queremos mostrar el formulario de inicio de sesión, así que todo lo que tenemos que hacer es escriba en una línea para decir inicio de sesión formulario de inicio de sesión punto mostrar bien y eso lo cambiará a mayúsculas tal como lo hicimos básicamente cuando abrimos el libro de trabajo esto se mostrará bien genial para que podamos ejecutar eso y ver cuando lo ejecutamos muestra la contraseña y hace clic en Aceptar perfecto y verá cómo funcionó. Lo único que tenemos que hacer es cerrar este formulario en caso de éxito en el registro correcto. Necesitamos cerrar este formulario para poder hacerlo también a través de la macro. y todo lo que tenemos que hacer es ingresar a la macro y esta es la macro de verificación de usuario, así que recuerde que después de que todo esté bien, podemos hacerlo después de que hayan pasado las dos pruebas en el nombre de usuario de Craig y cifrar la contraseña después de haber pasado esas dos pruebas. saben que son buenos, así que podemos hacer el formulario de inicio de sesión, esconder el punto, está bien y eso ocultará el formulario de manera tan perfecta que ocultará el formulario porque ya pasaron esas dos pruebas y un código también muy importante que querrás escriba si desea borrar el nombre de usuario y la contraseña después de que sea b een ocultos para que no aparezcan la próxima vez en la pantalla de administración y podemos seguir adelante y echar un vistazo y extraer nuestro código y básicamente lo que queremos hacer es borrar las celdas b5 y seis oh nosotros puede hacer eso aquí punto rango b5 y coma B seis puntos borrar contenido está bien y eso va a borrar tanto el nombre de usuario como la contraseña puede haber momentos en los que desee conservar el último nombre de usuario si ese es el caso, simplemente borre B seis solamente y no pueden ser cinco, entonces recordará el nombre de usuario , por lo que también es algo muy importante que queremos agregar, sin embargo, para sus propósitos en el libro de trabajo que voy a conseguir, no quiero que tenga que preocuparse la pantalla de inicio de sesión cuando recibe el libro de trabajo por primera vez, así que lo que voy a hacer es hacer clic en este libro de trabajo y voy a poner un feed de pasta antes de eso y poner una pasta antes de eso eso significa esas esas macros no se ejecutarán, está bien, no se ejecutarán porque quiero que veas el libro de trabajo . Ay, quiero que lo aprendas. No quiero. No quiero que tengas que preocuparte por el inicio de sesión. Si eres como yo, siempre olvidarás la contraseña. Así que todo lo que tienes que hacer digamos , digamos tú. Estás en la pantalla de Inicio y no hay hojas y olvidas la contraseña. Estás como , oh chico, está bien, así que todo lo que tienes que hacer es ingresar a VBA, ingresar a Visual Basic y luego simplemente hacer clic en cualquier hoja como admin y hacer clic en el properties y luego continúe y haga que la hoja sea visible aquí, está bien, sin embargo, hay otro nivel de protección que es muy importante, es la protección VBA y esta contraseña no quiere olvidarla, está bien, hay una manera de proteger el PAL para proteger VBA por derecho- Al hacer clic en el proyecto, entrar en las propiedades de VBA y entrar en protección , puede establecer una contraseña aquí, pero no olvide que esto bloqueará VBA y nadie estará conectado, es un nivel importante de seguridad, pero no olvide que yo puedo. No le ayudaremos si olvida la contraseña, así que asegúrese de establecer una contraseña aquí, lo recuerda y ese es un paso importante porque, de lo contrario, las personas pueden acceder a su libro de trabajo y acceder a su código, por lo que si desea una protección de mayor nivel, establezca la contraseña de su libro de trabajo aquí . Genial, también puede ocultar estas columnas aquí en su administrador como siempre lo hacemos, las pondríamos en gris para que pueda tener un gran libro de trabajo y espero que esto ayude, por favor, comparta y le agradezco todo su apoyo. realmente me están ayudando y me motivan mucho, muchas gracias, no olviden suscribirse a nuestro canal de YouTube y seleccionar estas opciones de enviarme todas las notificaciones para que puedan recibir nuestros videos tan pronto como los creamos. a ellos

Noticias relacionadas