Base varias columnas una CELDA dividirla en filas y el resto de las celdas copiarlas igual

Tengo Base de datos por fechas, necesito ayuda.

Predio fecha has lotes

San Juan 14/05/2020 15.8 Morelos1,Morelos2,Morelos4

San Martin 15/05/2020 40.6 M1, SM2, SM3, SM4

Necesito que por el lote se dividan en filas hacia abajo quedando los demás datos iguales

Predio fecha has lotes

San Juan 14/05/2020 15.8 Morelos1

San Juan 14/05/20201 5.8 Morelos2

San Juan 14/05/20201 5.8 Morelos4

San Martin 15/05/2020 40.6S M1

San Martin 15/05/2020 40.6S M2

San Martin 15/05/2020 40.6S M3

San Martin15/05/2020 40.6S M4

Respuesta
4

¿Quieres el resultado en otra hoja?

¿Cuáles columnas quieres que pase a la otra hoja?

Prueba la siguiente macro.

Tus datos como están en la "Hoja1", los resultados en la "Hoja2"

Sub Dividir_filas()
  Dim i As Long, k As Long, n As Long
  Dim a As Variant, b As Variant, j As Variant
  a = Sheets("Hoja1").Range("A2", Sheets("Hoja1").Range("H" & Rows.Count).End(3))
  ReDim b(1 To UBound(a) * 10, 1 To 8)
  For i = 1 To UBound(a, 1)
    For Each j In Split(a(i, 8), ",")
      n = n + 1
      For k = 1 To 7
        b(n, k) = a(i, k)
      Next k
      b(n, 8) = j
    Next j
  Next i
  Sheets("Hoja2").Range("A2").Resize(n, 8).Value = b
End Sub

¡Gracias! !!! Eres grandioso.... Era la cereza del pastel de mi archivo... Y no podía llegar a esto... Casi lloro 

Me alegra saber que funciona para ti,, ¡Gracias! Por comentar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas