Ejecutar macro en un formulario al salir de otro formulario - VBA Excel
Traigo otra vez una pregunta que quizás para muchos sea muy fácil de realizar. De hecho pensé que podía hacerlo, pero no he podido.
Tengo un UserForm1 donde hay un ListView, desde este formulario corro una macro donde colorea los items del ListView según algún criterio. Con un Button abro otro formulario (UserForm2) sobre encima del UserForm1. Lo que intento hacer es que al cerrar UserForm2, me corra la macro donde coloree nuevamente los items según el criterio.
He colocado la macro en el evento Activate del UserForm1 y no funciona. Tampoco la puedo hacer correr desde un Button del UserForm2. Solo me funciona en el Userform1 ..
Este es mi código para colorear los Items.
Sub ParesUnicos() Dim Columnas As Integer Dim Lineas As Integer With UserForm1 Columnas = .ListView1.ColumnHeaders.Count Lineas = .ListView1.ListItems.Count For i = 1 To Lineas If .ListView1.ListItems(i).ListSubItems(11) = "SI" Then .ListView1.ListItems(i).ForeColor = RGB(255, 0, 0) For X = 1 To Columnas - 1 .ListView1.ListItems(i).ListSubItems(X).ForeColor = RGB(255, 0, 0) Next End If Next End With End Sub
Cuando lo ejecuto desde el UserForm2 es este:
Sub ParesUnicos() Dim Columnas As Integer Dim Lineas As Integer With UserForm1 Columnas = FormInicio.ListView1.ColumnHeaders.Count Lineas = FormInicio.ListView1.ListItems.Count For i = 1 To Lineas If UserForm1.ListView1.ListItems(i).ListSubItems(11) = "SI" Then UserForm1.ListView1.ListItems(i).ForeColor = RGB(255, 0, 0) For X = 1 To Columnas - 1 UserForm1.ListView1.ListItems(i).ListSubItems(X).ForeColor = RGB(255, 0, 0) Next End If Next End With End Sub
Alguien sabría que esta pasando? A parte de saber que no se nada jajaja