Pasar datos de un listbox (1 columna, máx 5 items) a celda activa y celdas consecutivas cada 3 en la misma fila
Al pinchar una celda concreta dentro de una plantilla (Ej: M12 o M15 o M18) se abre un formulario con un listbox al cual filtro de 1 a 5 items los cuales quiero trasladar a dicha plantilla (1,2 o los 5) pero como tengo celdas combinadas (Ej: M12+N12+O12), necesito que no se pasen en M, N, O... Sino cada 3 columnas, es decir, M, P, S, V, Y.
En detalle:
1er item: Celda activa M
2º item: celda activa + 3 = P
3er item: celda activa + 6 = S
4º item: celda activa + 9 = V
5º item: celda activa + 12 = Y
He probado el siguiente código adaptado de otro que tengo para otra plantilla diferente, pero sólo me carga el primero de los item en la celda activa en la cual he pinchado para abrir el formulario
Private Sub CommandButton14_Click()
strTitulo = "Registro de ejercicios con progresión"
Continuar = MsgBox("¿Deseas guardar los datos seleccionados?", vbYesNo + vbExclamation, strTitulo)
If Continuar = vbNo Then Exit Sub
With BuscarEjerciciosEPRO
If ListBox2.ListCount = 0 Then
MsgBox "No hay datos a pasar", vbExclamation
'ListBox2(ListBox2.ListIndex) = False
Exit Sub
End If
If ListBox2.ListCount > 5 Then
MsgBox "Atención, se sobrepasa el número máximo de datos permitidos", vbExclamation
'ListBox2(ListBox2.ListIndex) = False
Exit Sub
End If
For i = 0 To ListBox2.ListCount - 1
ActiveCell = ListBox2.List(0)
ActiveCell.Offset(0, 3) = ListBox2.List(1)
ActiveCell.Offset(0, 6) = ListBox2.List(2)
Next
MsgBox "Los datos han sido guardados satisfactoriamente", vbInformation, strTitulo
Unload Me
End With
End SubAdemás, quisiera que si dichas celdas (Ej: M12, P12, S12, V12, Y12) tienen datos, se cargasen directamente al listbox al iniciar el formulario tras pinchar en cualquiera de dichas celdas. Esto ya no se como hacerlo.
Agradecería la ayuda, llevo un tiempo intentando solucionarlo y no he sido capaz.