Te paso la solución y sigue estas instrucciones:
-Posiciónate en el encabezado de la columna O (O3) y después ejecuta esta macro.
Con esto habremos arreglado la columna O
-Cuando acabe la macro te posicionas en el encabezado de la columna X (X3) y después vuelves a ejecutar la macro y habrás arreglado la columna X
Sub macro_luis()
'por luismondelo
Control = 0
Cells(65000, ActiveCell.Column).End(xlUp).Offset(1, 0).Value = "end"
Do While ActiveCell.Value <> "end"
If InStr(ActiveCell, ",") > 0 Then
'++++++++++++++++++++++++++++++++++++++
For x = 1 To Len(ActiveCell) + 1
extrae = Mid(ActiveCell, x, 1)
'++++++++++++++++++++++++++++++++++++++
If extrae = "" Then
ActiveCell.Offset(1, 0).EntireRow.Insert
ActiveCell.Offset(1, 0).Value = lista
lista = ""
End If
'++++++++++++++++++++++++++++++++++++++
If extrae = "," And Control = 0 Then
lista = ""
Control = Control + 1
GoTo saltito
End If
'++++++++++++++++++++++++++++++++++++++
If extrae = "," And Control <> 0 Then
ActiveCell.Offset(1, 0).EntireRow.Insert
ActiveCell.Offset(1, 0).Value = lista
lista = ""
GoTo salto
End If
'++++++++++++++++++++++++++++++++++++++
lista = lista & extrae
salto:
saltito:
Next
End If
'++++++++++++++++++++++++++++++++++++++
ActiveCell.Offset(Control + 1, 0).Select
Control = 0
Loop
ActiveCell.ClearContents
End Sub
no olvides finalizar la consulta