Saltar al contenido

Recommended Posts

publicado

Hola!

Les dejo un aporte que puede que les interese.

Cuantas veces no he querido colocar en mi macro un formulario parametrizable por el usuario si que él pudiera ver dónde se guarda esa información, después de pensar un poco me dí cuenta que no era tan difícil.

Este método sólo funcionaría si se guarda el libro como un complemento (xla), tal como el ejemplo que les anexo!

La idea es guardar el parámetro en el complemento, en una hoja del mismo!

En el ejemplo hay 2 macros que pueden ejecutarlas con Alt+F8

Configurar: Abre el Form para configuración

generaRepeticiones: Genera las repeticiones en el libro abierto

Lo que hace es generar repeticiones de una palabra de acuerdo a la configuración dada el el formulario.

Si alguién se le ocurrió una forma distinta sería bueno ver más opciones

Salu2!

ConfiguraciondeMacros.zip

publicado

Hola smartacm,

qué buen aporte.

Igual se podría usar una hoja como xlveryhidden y guardar allí los valores, en caso de que no se quiera usar un addin.

Yo en algunas ocasiones, cuando son pocos datos los que quiero almacenar, he usado nombres ocultos. Por ejemplo:

Sub Escribir_Nombre_Oculto()


With ThisWorkbook.Names


.Add Name:="smartacm_Palabra", _
RefersTo:="Repetir", _
Visible:=False

.Add Name:="smartacm_Repeticiones", _
RefersTo:=1000, _
Visible:=False


End With


End Sub

Sub Leer_Nombre_Oculto()

Debug.Print [smartacm_Palabra], [smartacm_Palabra]

End Sub

Sub borrar_Nombre_Oculto()


With ThisWorkbook

.Names("smartacmPalabra").Delete

.Names("smartacmRepeticiones").Delete

End With

End Sub

Sub borrar_Nombres_Ocultos()

Dim Nombre As Excel.Name


For Each Nombre In ThisWorkbook.Names

If Not Nombre.Visible Then Nombre.Delete

Next Nombre


End Sub[/CODE]

Igual, VBA también ofrece la posibilidad de leer y escribir en el registro, no todas las claves, pero te permite crear las que quieras para tu aplicación en específico y así conservar parámetros dados por el usuario, por ejemplo:

[CODE]Sub Escribir_Registro()


SaveSetting appname:="smartacm", _
section:="Prueba", _
Key:="Palabra", _
setting:="Repetir"


End Sub

Sub Leer_Registro()


Debug.Print GetSetting(appname:="smartacm", _
section:="Prueba", _
Key:="Palabra")


End Sub

Sub Borrar_Registro()


DeleteSetting appname:="smartacm", _
section:="Prueba", _
Key:="Palabra"

End Sub[/CODE]

Conéctate para comentar

Podrás dejar un comentario después de conectarte



Conéctate ahora
×
×
  • 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.