¿Cómo pasar una variable de un UserForm a otro VBA?
La otra vez hice una pregunta muy general sobre este tema y pudieron entenderme así que esta vez seré más especifico. Tengo un UserForm llamado notificación, el UserForm funciona perfectamente, y de hecho lo llamo desde otros UserForm. Este es el código del UserForm Notificación.
Public CBtnn, Confir As Integer Private Sub cancelarNoti_Click() CBtnn = 0 Unload Me End Sub Private Sub confirmarNoti_Click() CBtnn = 1 Unload Me End Sub Sub nN(Notice, Optional ByVal TT As Integer = 1) With Me With .labelTipoNoti Select Case TT Case 0 .Caption = "" Case 1 .Caption = "INFORMA" Case 2 .Caption = "PREGUNTA" Case False .Caption = "INFORMA" End Select End With End With Me.labelNotice.Caption = Notice Notificacion.Show End Sub Private Sub txbConf_Change() Confir = IIf(UCase(txbConf.Text) = "S", 1, 0) End Sub Private Sub UserForm_Click() End Sub Private Sub UserForm_Initialize() CBtnn = 0: Confir = 0 End Sub
Imagen del UserForm
Como pueden ver el formulario me pide una doble confirmación de una acción, para que continué el proceso el usuario debe ingresar la "S" en el cuadro texto, y lugo hacer click en el botón "Confirmar", así estas dos variabes "Public CBtnn, Confir As Integer" deberán quedar con un 1.
Al mostrar este UserForm desde otro UserForm uso este codigo:
'Confirmacion With Notificacion Call añadirLlista(.listaInfo, 0, Info(4) & ", FECHA:" & Info(1)) Call añadirLlista(.listaInfo, 1, "VENCE: " & Info(2) & ", " & " ORDEN: " & Format(Info(0), "000000")) Call añadirLlista(.listaInfo, 2, "[" & Info(3) & "] " & hallar(listaCol("terceros", 1, "codigo"), Info(3)).Offset(0, 7)) Call añadirLlista(.listaInfo, 3, "VALOR TOTAL: " & (Info(5)) & ", " & _ IIf(Info(6) = 0, "AUTOMATICA.", "MANUAL.")) .Frame.Visible = True Call Notificacion.nN("¿Esta seguro que desea crear esta factura?", 2) MsgBox .CBtnn & .Confir If .CBtnn = 0 Or .Confir = 0 Then Exit Sub End With
Que funciona perfecto exepto por el hecho de que no es capas de leer las variables publicas de esta linea de codigo: "MsgBox .CBtnn & .Confir" Salen completamente vacias o aveces lee solo Confir, he intentado de todo y he revisado el paso a paso por instrucciones, y el UserForm Notificacion asigna correctamente valores a ambas variables pero cuando esta en el resto de este codigo no es capas de leer las variables, como si estuvieran restringidas para el, he intentado de todo y ya no se que hacer, quiero saber si hay una forma mas apropiada de leer variable de un UserForm desde otro UserForm o si lo estoy haciendo correctamente, no se que hacer me tiene barado esta pequeñez.