Como seleccionar a los elementos de una listbox y ejecutar una macro para cada elemento?

En la hora que sea. Tengo esa duda.
Tengo un userform, con dos listbox y tres botones. Cada botón envía una hoja de un listbox1 a listbox2, y el segundo botón la trae de nuevo. El tercer botón es el que ejecutará una macro para cada elemento del listbox2.
El contenido de los listbox son hojas (sheets).
Cuando esté seguro de que imprimiré las hojas que se encuentra en el listbox2 presionaré el botón 3.

Hasta ahora tengo esto solamente:

Private Sub CommandButton3_Click()
'Boton IMPRIMIR
For Each Hoja In ListBox1.Select

Call Selección_Para_Impresión_Empre1

Next
End Sub

El resto de los botones y listbox

Private Sub UserForm_Initialize()
'Coloca todas las hojas a partir de la número 5
For i = 5 To Sheets.Count
ListBox1.AddItem Sheets(i).Name
Next
End Sub

Private Sub CommandButton1_Click()
'Mueve las hojas seleccionadas en la lista de Empresas a Imprimir
ListBox2.AddItem ListBox1.Value
For p = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(p) = True Then
ListBox1.RemoveItem p
End If
Next
End Sub

Private Sub CommandButton2_Click()
'Mueve las hojas seleccionadas en la lista de Imprimir a Empresas
ListBox1.AddItem ListBox2.Value
For p = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(p) = True Then
ListBox2.RemoveItem p
End If
Next
End Sub

1 respuesta

Respuesta

Agradezco tu respuesta y la cantidad de vídeos que enviaste. Cuales vi, y observé el título, no tienen una respuesta a lo que necesito.
Logré desde antes que en el listbox aparezcan los nombres de las hojas, y poder enviarlos de un listbox al otro listbox. 
Lo que necesito es la parte de "recorrer cada elemento e ir ejecutando la macro" de la listbox 2 y ejecute una macro.
Como si fuese un For i=x to 15 y que por cada i se ejecute la macro
En este caso la "i" sería las hojas que estén en el segundo listbox

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas