Saltar al contenido

Desactivar la apertura de un formulario de usuario para un evento específico (contraseña) - Deactivate the opening of a Userform to a specific Event (Password)


Recommended Posts

publicado

Hola a todos, mi nombre es Maurizio
y mi problema es este:
Para abrir un formulario de usuario en el nivel de la hoja de trabajo sin utilizar los botones Vari; Normalmente utilizamos este Código:

Private Sub Worksheet_SelectionChange (ByVal Target As Range)
UserForm1.Show
End Sub

Y hasta ahora todo está bien!
Ahora mi pregunta es qusta:
Deseos ¿Sería posible asegurarse de que el formulario de usuario1 no se abra si un determinado evento es positivo?

Permítanme explicar: creé en una forma de usuario la posibilidad de bloquear la modificación de los datos ingresados en una hoja de laro (Hoja1) al mostrar una forma de usuario para ingresar una contraseña y hasta ahora todo está bien.
Pero lo que me gustaría saber sería: si encuentro la contraseña exacta aquí, el formulario está cerrado; pero a partir de ese momento puedo editar los datos de mi hoja de cálculo sin que aparezca nuevamente userform1 hasta que se reinicie mi aplicación.
Según ustedes todo esto es posible.
(P.S) Como usar una solución de este tipo
"Worksheet_SelectionChange = false" Tengo algo como esto.
Gracias por toda la ayuda que desea recibir de mí, Saludos de Maurizio.

Traslatio :
------------------------------------------------------------------------------------------------------------------------------

Hello everyone, my name is Maurizio
and my problem is this:
To open a userform at the worksheet level without using Vari buttons; Normally we use this Code:

Private Sub Worksheet_SelectionChange (ByVal Target As Range)
UserForm1.Show
End Sub

And so far everything is ok!
Now my question is qusta:
Wanting It would be possible to make sure that the userform1 is not opened if a certain Event is Positive?

Let me explain: I created in a userform the possibility of blocking the modification of data entered on a sheet of laro (Sheet1) by displaying a Userform for entering a password and even so far so good.
But what I would like to know would be: If I find the exact password for here, the form is closed; but from that moment on I can edit my spreadsheet data without the userform1 appear again until my application is restarted.
According to you all this is possible
(P.S) Such as using such a solution
"Worksheet_SelectionChange = false" I have something like this.
Thank you for all the help you want to receive from me, Greetings from MaurizioCodice Password Scritto in VBA - Con Numeri e Lettere.xlsmCodice Password Scritto in VBA - Con Numeri e Lettere.xlsm

publicado
Hace 1 hora, Antoni dijo:

Application.EnableEvents = False desactiva los eventos de Excel.

Creo que seria bueno mencionar que debe reactivar los eventos después de completar el objetivo; de otro modo se va a encontrar con muchas sorpresas no muy agradables, por haber desactivado eventos a nivel aplicación.

publicado
Hace 2 horas, Manuel_Mendoza dijo:

Creo que seria bueno mencionar que debe reactivar los eventos después de completar el objetivo; de otro modo se va a encontrar con muchas sorpresas no muy agradables, por haber desactivado eventos a nivel aplicación.

Y Maurizio, dirá que Excel esta en "huelga", que no hace nada! :lol:

 

Saludos 

publicado

Hola Manuel_Mendoza y también Gerson Pineda mi nombre es Maurizio
Veo que has adivinado que necesitas volver a habilitar los eventos de Excel después de completar el objetivo.
Todo esto no entiendo lo que quieres decir.
Desde: Ser un proyecto que sirve para proteger la hoja de trabajo!
Pero hice los controles necesarios y me parece que, gracias a la sugerencia de "Antoni", todo funciona de la mejor manera.
Además, la hoja de trabajo reanuda sus funciones originales en cada reinicio, ¿no?
Así que fue pripio lo que estaba tratando de hacer desde el principio, todo aquí.
Gracias de todos modos por tus sugerencias; Y gracias de nuevo por la locura que tiene hacia mí (Antoni) Saludos cordiales a todos de parte de A.Maurizio.

-----------------------------------------------------------------------------------------------------------------------------------

Hello Manuel_Mendoza and also Gerson Pineda my name is Maurizio
I see you've guessed that you need to re-enable Excel events after completing the goal.
All of this I do not understand what you mean.
Since: Being a Project that serves to protect the worksheet!
But I did the necessary checks and it seems to me that thanks to the suggestion of "Antoni" everything works for the best.
In addition, the worksheet resumes its original functions at every reboot no?
So it was pripio what I was trying to do from the beginning everything here.
Thanks anyway for your suggestions; And thanks again for the insanity he has towards me (Antoni) Sinceri Greetings to all from A.Maurizio

publicado
Hace 25 minutos , A.Maurizio dijo:

Todo esto no entiendo lo que quieres decir.

Maurizio, lo que queremos decir con Manuel, es que la buena practica [y advertencia] de usar eventos en VBA, es que debes siempre, pero siempre, ACTIVARSE al final del procedimiento, no creas esas "mentiritas" que VBA es inteligente por si solo :ph34r::D

 

Saludos 

publicado

Hola gerson pineda
¡Por supuesto que no!
Nunca quiero creer que el VBA como todos los demás idiomas de esta tierra es infalifibi, y que todo es posible sin daño en la parte I totalmente a un programa, incluso si se debe respetar todos los criterios de los diversos procedimientos.
como sé por mí mismo que: La ayuda que me brindó (Antoni) sigue siendo válida pero deja el tiempo que encuentra, como si escribir este código mío determinara el cierre del desempeño del buen trabajo de la hoja de Excel; ¡No es tan uno de los mejores!
Además del hecho de que queremos decirlo todo: ni siquiera es un proyecto que se tenga en cuenta al no poder prescindir de él.
La cantidad de formas de inserción de la contraseña se puede enfrentar de muchas otras maneras, que las otras cosas al final de todo no tienen y no deshabilitan nada, pero son mucho más válidas que mi propuesta.
Pero en la base de todo está siempre el hecho de que un programador real siempre debe hacerse una pregunta final, que es la siguiente: Este concepto tengo ese tipo de programa y se puede hacer usando un lenguaje como VBA en lugar de VB6.0 Tengo Pascal etc ...!
Teniendo en cuenta que yo mismo derivo de lenguajes antiguos como el (GWBasic) que se usó en los años 70/80 con las máquinas "Om Computer", como el muy famoso (Spectrum Sinclaire ZX) Tengo el (Comodors Bit 64) y así sucesivamente. ..!
Todo aquí.
De hecho, todos estos proyectos, así como el deseo de ser una forma de ayuda para los nuevos programadores de hoy; ¡Son para mí un "rispolvero" de mis antiguos programas que hice en ese momento usando solo estos idiomas ahora Opsoleti (Si)!
Pero aún actual y necesario hoy en día, ya que veo a través de las redes sociales y el Foro en general.
Te diré otra cosa: que a pesar de todo el vba es uno de los idiomas que todavía hoy se solicita bastante; Porque puedes permitirte hacer todo.
Intento y vuelvo a intentarlo varias veces al intentar proponer una especie de calendario perpetuo, como lo había hecho en los años 80 con la llegada del primer VB5.0 y luego mejoré con el antiguo VB6.0 pro.
Nunca lo he visto hacerlo otra vez
¿Y pensar que todavía hay trabajo hoy?
Discúlpeme si divulgué tanto, pero quería explicar mejor lo que ya mencionó (Antoni). Cuando dice "Maurizio e italiano, pero no estúpido, ¡tengo diù allí!"
Hola y nos vemos la próxima vez.

################################################

Hi Gerson Pineda
Of course not !
I never want to believe that the VBA like all other languages of this land is infallifibi, and that everything is possible without damage in part I totally to a program, even if scitto respecting all the criteria of the various procedures.
as I know from myself that: The help given to me by (Antoni) is still valid but leaves the time it finds, as if writing this code of mine determines the closure of the performance of the good work of the sheet of excel; It is not so one of the best!
As well as the fact that we want to say it all: It is not even a project to be taken into account by not being able to do without it.
In how much of ways of insertion Password can be faced in many other ways, that the other things at the end of everything do not have and do not disable anything, but they are much more valid than my proposal.
But at the base of everything there is always the fact that a real programmer should always ask itself as a final question which is this: This concept I have that kind of program and can be done using a language like VBA rather than VB6.0 I have Pascal etc...!
Keeping in mind that I myself derive from the old languages such as the (GWBasic) that was used in the years 70/80 with the "Om Computer" machines like the very famous (Spectrum Sinclaire ZX) I have the (Comodors Bit 64) and so on. ..!
That's all.
In fact all these my projects as well as wanting to be a form of help for today's new programmers; They are for me a "rispolvero" of my old programs that I did at the time using just these languages now Opsoleti (Si)!
But still current and required today as I see sifting through the social and Forum in general.
I'll tell you another thing: that despite all the vba is one of the language still quite requested today; Because you can afford to do everything.
I try and try again several times in trying to propose a sort of Perpetual Calendar as I had done in the 80s with the arrival of the first VB5.0 then improved with the old VB6.0 pro.
I've never seen him do it again
And to think that there is still working today?
Excuse me if I divulged so much but I wanted to explain better what you had already mentioned (Antoni) When he says "Maurizio and Italian - but not Stupid I have diù there!"
Hello and see you next time

publicado

Hola xafel. Gracias por tu proyecto, me encargaré de todo.
Pero me las arreglé para juntar todas las piezas y ahora mi proyecto Apportanto Cambios sustanciales para hacer que funcione como quería desde el principio
Si quieres, pruébalo y házmelo saber.
Claramente sin muchas reclamaciones?
Todos ustedes son, sin duda, mejores que yo; Hola y gracias

Estos son los enlaces para descargar el proyecto modificado y la lista completa en el documento de texto.

1) https://app.box.com/s/hh0lu07i092a6eozbbj4nr5tqo65lh2c

2) https://app.box.com/s/csnj409pfgwq88vdktccxfbgf0fk01lp

Y con esto, les ofrezco mis más sinceros saludos a todos ustedes con la simpatía y amistad de A.Maurizio.

########################

Hello xafel Thank you for your project I will take care of everything
But I managed to put all the pieces together and now my project Apportanto Substantial changes to make it work just as I wanted from the beginning
If you want, try it and let me know.
Clearly without many claims?
You all are undoubtedly better than me; Hello and thanks.

These are the links to Download the Modified Project and the complete List in the Text Document.

1) https://app.box.com/s/hh0lu07i092a6eozbbj4nr5tqo65lh2c

2) https://app.box.com/s/csnj409pfgwq88vdktccxfbgf0fk01lp

And with this I offer my most sincere greetings to all of you with sympathy and friendship from A.Maurizio

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      187
    • Comentarios
      97
    • Revisiones
      28

    Más información sobre "Un juego del Rabino en Excel"
    Última descarga
    Por pegones1

    1    1

  • Crear macros Excel

  • Mensajes

    • Vale mil gracias, en vdd se agradece todo el apoyo y comentarios
    • Hola nuevamente. Por eso la importancia de lo que mencionas tú como "ruta relativa". Tal cual comentas, y aún sin llegar a algunos detalles importantes para ayudarte, en realidad tal cual te comenté le día miércoles, pues sí podías hacer como comentabas, era cosa de obtener los Id de Windows (como tú los llamas) y la ruta de OneDrive en casa usuario y eso sí se puede obtener con VBA y luego pasarlo a PQ, pero medio que te cerraste en que "PQ no puede trabajar con rutas relativas", cosa cierta pero siempre hay formas. Si SAP puede o no guardar en OneDrive o SharePoint, pues si está mapeado en la PC ¡claro que se puede! Pero bueno, creo que si te es útil tu propia propuesta ¡avanza con eso!
    • Perdona @Abraham Valencia pero he estado liado estos días. En realidad todo el problema se reduce a estos dos problemas: Problema 1: El script que "fabrica" SAP y que luego "pego" en la macro, no es capaz de  guardar archivos en SharePoint. He estado buscando, y en realidad muchas personas tienen ese problema (no poder guardar un Excel en SAP a través de VBA). Eso muy probablemente sean problemas de permisos, que no puedo cambiar (no soy administrador de nada). Como no puedo solucionarlo así, paso al plan B, que es guardar en Excel que me genera SAP en el ordenador de cada usuario que ejecute la plantilla (y que sí está guardada en SharePoint), para después con PowerQuery llamar a ese Excel (el export). Para ello, pretendo guardar el export, en la ruta relativa "C:\..\..\..\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" donde los \..\..\..\ saltan las rutas personales de cada usuario (tipo C:\users\IDusuario\). Eso lo hace bien, y el archivo se guarda en la ruta de cada usuario que lo usa, pero surge el problema 2 Problema 2: PowerQuery no trabaja con rutas relativas del tipo  "C:\..\..\..\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" necesita que sea del tipo fija "C:\users\IDusuario\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" pero claro, IDusuario es diferente para cada usuario.   Pero escribiendo todo esto, creo que he dado con una posible solución, no grabar el export en una ruta de usuario, sino en una en la raiz de C:, que siempre será igual para todos los usuarios, del tipo C:\Sap\export.xlsx que seria igual en todos los ordenadores. Asi sí podría decirle a PowerQuery que vaya siempre a la ruta C:\Sap\ que existirá en todos los ordenadores. Mañana intentaré hacer pruebas, aunque mi solución ideal seria que se pudiera guardar en el SharePoint. Saludos.
    • Hola La opción brindada por @torquemada es correcta, funciona, pero hay algunos inconvenientes que (desde mi punto de vista) no la convierten en mi primera elección. Los inconvenientes son: Tendrías que ir columna por columna haciendo los reemplazos, claro que no se harían a mano sino que utilizarías la opción reemplazar o la opción texto en columnas, aun asi demorará un poquito y será trabajoso. Cada vez que descargues otro listado, tendrás que volver a realizar los reemplazos. Me parece una mejor propuesta lo siguiente: Descarga los movimientos a un archivo de Excel Desde tu control de pagos (otro archivo) cargas los movimientos del archivo descargado mediante Power Query Power Query hará los reemplazos y reconocerá todo correctamente (sin que tengas que hacer nada especial) Cuando descargues los movimientos un día posterior, solamente tendrás que hacer clic en "Actualizar" y todo funcionará en automático
    • Hola a todos, Efectivamente, me temo que tal como trabajan las funciones =HOY() y/o =AHORA() (volátiles), sólo con macros puedes obtener soluciones. Un recurso pedestre podría ser, cada vez que quieras que se fije un dato, te sitúes en esa celda y pulses F2, F9 e INTRO.  Pero claro, puede ser un inconveniente si hay que hacerlo repetitivamente en muchas ocasiones,.............. en fin, lo comento sólo como posibilidad. Saludos,
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.