Macro caducar Libro por x cantdad de usos
H o l a E x pertos.
Necesitaría una macro:
Macro caducar Libro por 30 usos
Macro que al pulsar un boton se cuente como un uso y a los 30 usos pida una contraseña con un inputbox Ej xxxxdfd
Luego pasado otros 30 usos, me vuelva a pedir otra contraseña Ej fsdgedfgd y así sucesivamente.
G r a cias.
¿Dónde tendrías guardadas las claves? ¿Para ir a chequear que esta Ok la clave ingresada? ¿Dentro del mismo código? ¿En una hoja oculta?
H o l a Javier.
G r a c i as por contestar.
Lo que necesito hacer es:
Describo un poco mejor:
1- A llegar a las 30 veces que se pulso el boton recién ahí me pida por medio de un inputbox o un userform una clave.
2- Que si ingreso la clave correcta siga funcionando, sino cierre Excel.
Ej si la primer clave clave1 es-->: "12sdfrtghg" siga funcionando
cuando termine los 30 usos vuelva a pedir una nueva clave clave2 Ej es -->: "AAdsd233"
3- Que no se pueda volver a utilizar nuevamente la clave1, ni EJ la clave3 (solo la "clave2" =la nueva clave a introducir)
Respondiendo a tu pregunta:
¿Dónde tendrías guardadas las claves? ¿Para ir a chequear que esta Ok la clave ingresada? ¿Dentro del mismo código? ¿En una hoja oculta?
Las claves las podes guardar el la macro, por seguridad.
O como te sea mas facil.
G r a c i as Javier
Ok, vamos por partes:
1) En una hoja vamos a poner el numero de Clave Actual y Contar cuantas veces fue usada. Le pongo de nombre a la hoja "CONTADOR". Esta hoja la podemos bloquear, ocultar, etc.
a1: "Clave#" b1: 5
A2: Contador b2: 27
O sea, con esos valores estamos usando la clave 5, y ya fue usada 26 veces, la próxima seria la numero 27. Al usarla la vez numero 30, empezara a pedir la clave #6 para la siguiente vez.
2) Por otro lado, hacemos un formulario nuevo para ingresar una clave. Alt+f11, right click sobre el libro y Insert UserForm. Tiene que tener un textbox para ingresar la clave y un botón.
3) Luego, le ponemos el código al formulario. Right click sobre el userform, View code. Y le ponemos este código. Acá están puestas las claves, le puse hasta 10 claves
Private Sub CommandButton1_Click() 'If TextBox1 = "" Then Exit Sub Set hc = Sheets("Contador") Dim Claves(1 To 10) Claves(1) = "xxxxdfd" Claves(2) = "fsdgedfgd" Claves(3) = "ztjxdbth" Claves(4) = "pepe" Claves(5) = "qbiwdaxt" Claves(6) = "idlkqwjn" Claves(7) = "cbfhyehk" Claves(8) = "pbultusg" Claves(9) = "wgfpstxw" Claves(10) = "wnukbbkf" If Not TextBox1 Is Nothing Then If Claves(hc.[b1]) = TextBox1 Then Unload Me Call MacroConContador Else MsgBox "Clave no es correcta" Unload Me ThisWorkbook.Save ThisWorkbook.Close End If End If End Sub
4) En lugar del boton anterior que tenias que corria la macro tuya, ahora vamos a poner una cortita que levante el Userform que pide la clave.
Sub CorrerMacroConClave() UserForm1.Show End Sub
5) Por ultimo, vamos a agregar el contador, que va junto con tu macro. Ya verificada la clave, se correra esta MacroConContador, que por un lado cuenta el numero de veces que se corrio la macro tuya, y en caso de llegar a 30, tambien pedira otra clave la proxima vez.
En el lugar donde deberías llamar tu macro, le puse un msgbox para revisar que funciona bien. Ahi deberias poner Call "MacroTUYA". Pero por el momento dejalo así, así probamos todo esto por separado.
Sub MacroConContador() 'Contador y Cambiador de Clave Set hc = Sheets("Contador") If hc.[b2] = 30 Then hc.[b2] = 1 hc.[b1] = hc.[b1] + 1 Else hc.[b2] = hc.[b2] + 1 End If MsgBox "Corriendo" 'Aca deberias llamar a tu macro. End Sub
Veamos si la podes hacer funcionar y despues revisamos otros detalles.
H o l a Javier.
C omo estas?
Gracias por enviarme la respuesta.
La macro nda perfecto lo que sucede es que solo una vez tendría que abrir el userform y poner la clave Ej xxxxdfd
Luego tendría que funcionar hasta que cumpla los 30 usos(sin abrir el userform cada que presione el boton)
Luego cumplido los 30 usos tendría que y abrirse nuevamente el userform para ingresar la segunda clave Ej fsdgedfgd
tendría que funcionar hasta que cumpla los 30 usos
Así sucesivamente.
Te envió mi mail por si queres comentarme algo.
l/eo_po/[email protected]
quitale las 2 barras /.
G r acias.
Ok, entonces seria todo igual, solo que el código del botón iría así:
Sub CorrerMacroConClave() Set hc = Sheets("Contador") If hc.[b2] = 1 Then UserForm2.Show Else Call MacroConContador End If End Sub
Hola Javier.
Gracias por la respuesta.
Excelente!!
Un experto en excel.
Tendrías algunos manual o link de manual que hayas visto en internert que sean buenos para programar?
si podrías enviarme a mi mail te lo agradecería.
Si podes darme algún consejo de:
Como fueron tus inicios
Como progresaste en la programacion
Que metodos usastes me vendria bien.
Gracias Maestro.
La verdad es que aprendí trabajando. Todos los días lo tengo que usar y siempre hay cosas para mejorar. Me parece que lo más importante para programar es saber qué cosas se pueden hacer. Cuando tengas una pregunta, probablemente si la fórmulas de una forma genérica, ya le paso a mucha gente antes. Internet esta lleno de gente que explica. Youtube esta plagado de tutoriales.
Proba poner "Como crear un formulario excel" en la barra de google y veras aparecer un mundo de soluciones. Habitualmente te vas a encontrar con la respuesta que buscabas y también con cosas que ni siquiera sabias que se podían hacer.
Creo que TodoExpertos sirve para cosas más especificas, o para tener un seguimiento personalizado, pero cuando se trata de aprender a usar una herramienta en particular, googlear es lo mejor.
La página de Support de Microsoft suele tener ejemplos muy buenos. Y siempre me agrega algo que no sabia.
Una pista bastante importante es que tal vez para encontrar una solución especifica tal vez necesites googlear un termino también muy especifico. Poner una línea de código en google te va a llevar directamente a resolver tu problema.
Por ejemplo, recién quería ver si había alguna forma directa de verificar si una hoja existía. Puse en google "sheet exist" y siempre vas a caer en las mismas páginas con montones de códigos YA ESCRITOS, para resolver justamente eso. Entonces 1) No eres el primero en necesitar ayuda sobre este tema y 2) Tal vez necesites escribirlo con términos que ya sabes que el código deberá usar. 3) El grabador de macros te puede dar una buena mano inicialmente.
Por eso, antes que ir a leer un libro o un sitio en particular, te recomiendo googlear mucho y bien especifico.
Hola Javier.
Gracias por tus consejos!
Gracias por tu tiempo.
Voy a hacerte caso y seguir tus pasos.
Gracias Maestro!
Desde Bs As.
El Polaco.
Lo mio es más bien autodidacta, pero si quieres ver uno groso en serio, seguilo a Dante Amor (http://www.todoexpertos.com/usuarios/aprendemos/reputacion ). Ese flaco sabe realmente mucho, todos los dias aprendo algo solo de ver sus respuestas. Por algo esta como experto Numero 1 de excel y de Visual Basic y varios temas mas.
- Compartir respuesta