¿Cómo guardar el valor de una variable al cambiar de pestaña en un Multipage VBA?

Estoy trabajando en un Userform donde tengo colocado un Multipage. Su funcionamiento consiste en mostrar distintos valores de un proyecto en cada pestaña, según la selección definida en un combobox (éste está fuera del multipage). Si el proyecto seleccionado no existe, me mostrará los campos en cero en las pestañas del multipage.

Agregué un botón (fuera del Multipage), que me guarda los valores capturados en las pestañas del multipage, sin embargo, si el textbox1 que está dentro de mi multipage tiene valor 0, yo lo cambio a 6 por ejemplo y cambio a la pestaña 2 y después regreso a la pestaña 1 el valor regresa a 0, lo cuál es correcto porque así esta configurado, en caso de consultar un proyecto no existente. Pero lo que quiero hacer es que el valor 6 se guarde "temporalmente" cuando pase a la pestaña 2 y al hacer clic en mi botón de "guardar" tome el valor de 6 y no el de 0 que sería el original.

1 Respuesta

Respuesta
1

Necesitas una variable temporal o una que indique si se está volviendo luego de una consulta exitosa ('...el valor regresa a 0, lo cuál es correcto porque así esta configurado, en caso de consultar un proyecto no existente...)

Al inicio del módulo o UF coloca alguna de estas 2:

Dim llama as Byte   'indica que se vuelve con información al primer page
Dim variable     'del tipo que corresponda

Y en el evento que corresponda (aquí solo un ejemplo en un botón de regreso al primer page) evaluarás desde qué botón se llamó al regreso o si esa variable temporal está vacía o no (alguna las 2) 

Private Sub CommandButton2_Click()
If llama = 1 Then          'aquí evaluarás x la variable que corresponda
    TextBox1 = TextBox2
Else
    TextBox1 = 0
End If
MultiPage1.Value = 0   'nos pasa a la primer pestaña, o sea la 0
End Sub

Y por supuesto que una vez listo el proceso se limpia la variable elegida.

PD) Como verás solo es una idea un poco en el aire ya que no se conoce nada de tus eventos. Espero puedas terminar de armarlo, sino deja algo más de información y muestras.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas