Jump to content

Guardar de forman permanente variables


Recommended Posts

Hola a todos;

-En en video del siguiente enlace os muestro como he conseguido guardar de forma permanente el valor de nuestras variables.

Para ello lo que hago al momento de pulsar el botón es limpiar previamente el módulo e insertar los nuevos datos y por medio de una función los recupero.

Enlace video:

Variables permanentes

image.thumb.gif.23f0bb240b48383693444a28535af461.gif

MVariablePermanente(Multiples).xlsm

Link to comment
Share on other sites

Me parece que te complicas la vida, la forma más habitual de guardar datos es en una hoja oculta, pero también se puede hacer con nombres.

Con hoja oculta sería algo así:

  • Columna A-Nombre formulario/Variable
  • Columna B-Nombre control
  • Columna C-Valor 1
  • Columna D-Valor 2
  • Columna E-Valor 3
  • ......

Te dejo un ejemplo con nombres.

 

Variables fijas.xlsm

Edited by Antoni
Link to comment
Share on other sites

Posted (edited)

Hola Antoni, he visto tú propuesta y me ha gustado mucho.

Sabía de los dos métodos y de este segundo lo sabía hacer pero manualmente y no desde un procedimiento.

En cuanto al primero, no me gusta mucho dejar anotaciones en las hojas ya que por error alguien las puede borrar y después ya no funciona la macro.

He revisado tú propuesta la cual está genial y veo que no deja guardar "texto" solo números, ¿se puede reconfigurar para que admita también "texto"?.

Un abrazo Antoni y excelente trabajo.

P.D. Esta vez te pondré un 9, te fallo lo del texto?

 

Ya lo he resuelto y un punto para mi, inclusive probé con un combo.?

image.png.225ecfdc6ea2acbe8e4847b5121409de.png

Edited by Benito Bartolomé
Link to comment
Share on other sites

En cuanto al primero, no me gusta mucho dejar anotaciones en las hojas ya que por error alguien las puede borrar y después ya no funciona la macro.

Si proteges la hoja y la ocultas como VeryHidden no tendrás problemas.

Link to comment
Share on other sites

hace 24 minutos , Antoni dijo:
En cuanto al primero, no me gusta mucho dejar anotaciones en las hojas ya que por error alguien las puede borrar y después ya no funciona la macro.

Si proteges la hoja y la ocultas como VeryHidden no tendrás problemas.

Ya lo sé, pero me gusta más esta segunda opción ?

Link to comment
Share on other sites

hola, a ambos !

asumo que ya saben que tambien los nombres se pueden ocultar (al crearlos desde vba), p.ej. para el libro activo:

names.add "nombre", "=aqui la formula o referencia", 0 ' (o false) '
Link to comment
Share on other sites

Posted (edited)
En 15/2/2023 at 14:43 , Benito Bartolomé dijo:

Hola a todos;

En el siguiente enlace os muestro otra forma de cargar datos en un ComboBox.

Cargar ComboBox - video

Saludos a todos.

 

hace 3 horas, Héctor Miguel dijo:

hola, a ambos !

asumo que ya saben que tambien los nombres se pueden ocultar (al crearlos desde vba), p.ej. para el libro activo:

names.add "nombre", "=aqui la formula o referencia", 0 ' (o false) '

Hola Héctor, pues sí ya lo había visto en un video de Sergio Alejandro donde comenta que la idea era suya, aún así agradezco el detalle. Está bien esta opción para guardar datos que no queramos mostrar.

Como lo decía a Antoni si sabía hacerlo siguiendo dicho video pero no me imaginaba que se pudiese hacer mediante una macro, la verdad que es bastante simple y muy muy útil.

Lo que yo sugería es un pelín mas largo pero a efectos el resultado es el mismo.

Pues ya quedan dos opciones para almacenar los valores de las variables de forma permanente.

Gracias a ambos por vuestros aportes y sabiduría.

Saludos

Edited by Benito Bartolomé
Link to comment
Share on other sites

hace 25 minutos , Antoni dijo:

Hola a todos:

En el archivo que subí, los Name  ya se crean ocultos (,Visible:=False).

Saludos

 

Sí, ya lo vi en el primer post y me llamó la atención.

Como siempre vas un paso por delante ?.

Bueno "uno" me quedé corto ?

Link to comment
Share on other sites

Posted (edited)
En 15/8/2023 at 19:25 , Antoni dijo:

Me parece que te complicas la vida, la forma más habitual de guardar datos es en una hoja oculta, pero también se puede hacer con nombres.

Con hoja oculta sería algo así:

  • Columna A-Nombre formulario/Variable
  • Columna B-Nombre control
  • Columna C-Valor 1
  • Columna D-Valor 2
  • Columna E-Valor 3
  • ......

Te dejo un ejemplo con nombres.

 

Variables fijas.xlsm 23.19 kB · 4 descargas

Hola @Antoni disculpa que te moleste nuevamente, no tengo la tarde acertada?.

Estoy tratando de implementar tu propuesta usando OptionButtons  para seleccionar el "Genero" si es "masculino" o "femenino" y no soy capaz, ya he probado de varias formas y no hay manera. 

He probado usando "texto" y "número" y no me sale. Incluso e duplicado "Genero" por si acaso.

Seguramente es una tontería pero no lo veo, ni con gafas?

Saludos.

 

Variables fijas.xlsm

Edited by Benito Bartolomé
Link to comment
Share on other sites

Así funciona:

'------------------------------------------------------------------
Private Sub Guardar_Click()
   With ActiveWorkbook.Names
      .Add Name:="ALBARÁN", RefersTo:=TextBox1, Visible:=False
      .Add Name:="PEDIDO", RefersTo:=TextBox2, Visible:=False
      .Add Name:="FACTURA", RefersTo:=TextBox3, Visible:=False
      .Add Name:="ASIENTO", RefersTo:=TextBox4, Visible:=False
      .Add Name:="Genero1", RefersTo:=OptionButton1, Visible:=False
      .Add Name:="Genero2", RefersTo:=OptionButton2, Visible:=False
   End With
   Unload Me
End Sub
'-------------------------------------------------------------------
Private Sub UserForm_Initialize(): On Error Resume Next
    TextBox1 = [ALBARÁN]
    TextBox2 = [PEDIDO]
    TextBox3 = [FACTURA]
    TextBox4 = [ASIENTO]
    OptionButton1.Value = [Genero1]
    OptionButton2.Value = [Genero2]
End Sub

 

Link to comment
Share on other sites

hace 24 minutos , Antoni dijo:

Así funciona:

'------------------------------------------------------------------
Private Sub Guardar_Click()
   With ActiveWorkbook.Names
      .Add Name:="ALBARÁN", RefersTo:=TextBox1, Visible:=False
      .Add Name:="PEDIDO", RefersTo:=TextBox2, Visible:=False
      .Add Name:="FACTURA", RefersTo:=TextBox3, Visible:=False
      .Add Name:="ASIENTO", RefersTo:=TextBox4, Visible:=False
      .Add Name:="Genero1", RefersTo:=OptionButton1, Visible:=False
      .Add Name:="Genero2", RefersTo:=OptionButton2, Visible:=False
   End With
   Unload Me
End Sub
'-------------------------------------------------------------------
Private Sub UserForm_Initialize(): On Error Resume Next
    TextBox1 = [ALBARÁN]
    TextBox2 = [PEDIDO]
    TextBox3 = [FACTURA]
    TextBox4 = [ASIENTO]
    OptionButton1.Value = [Genero1]
    OptionButton2.Value = [Genero2]
End Sub

 

Gracias @Antonilo probaré.

Juraría que ya lo había probado, sin el bloque With claro.

Saludos ?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 72 ¿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
  • Files

  • Download Statistics

    • Files
      169
    • Comments
      89
    • Reviews
      26

    Latest File
    By pegones1

    4    0

  • Crear macros Excel

  • Posts

    • Entonces sería esto lo que necesitas verdad ?
    • buen día estimados los molesto con la siguiente consulta yo tengo un archivo Excel de valores numéricos (costo) , pero debo de pasarlo a un formato texto con tres decimales por mas que sea un entero. cual seria la mejor forma para tener la columna CONCATENADO, en la que debe figurar el entero con tres decimales desde ya muchas gracias por la ayuda de siempre enteros y decimales en celdas distintas.xlsx
    • Muchas gracias por la respuesta Israel. Me sirve el dato. No es necesario algo tan complejo. Si por ahí tienes una idea de utilización que me puedas orientar con la función GoogleFinance te lo agradezco. 
    • Hola a todos, Necesito una formula que busque los días que hubo la temperatura más alta y los anote separados por un guion. En el ejemplo que subo serían los días 10, 14 y 26. Gracias de antemano Máximas mensuales.xlsx
    • Lo que te puedo comentar sobre tu consulta es en base a mi experiencia y que tanto en Excel como en Google Sheets es posible obtener el tipo de cambio. En Excel 365 usando la función MONEDA y en Google Sheets tienes una función llamada GOOGLEFINANCE(), Es importante resaltar que el tipo de cambio no es de un sitio específico como lo quieres. Para obtener la cotización del dólar desde un sitio específico como BNA, necesitarías usar técnicas de web scraping. Un método utilizado para extraer información de sitios web. Sin embargo, este proceso no siempre es posible debido a las restricciones del sitio web. Si eres cliente del Banco podrías consultar con la institución.
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy