
Iniciado por
mjrofra
y creo que hay un error en el código, debería ser así:
Código:
Sub prueba()
Dim celda As Range
With Range("a1").CurrentRegion.Columns(1).SpecialCells(4)
For Each celda In .Offset(-1, 1)
With celda
.FormulaR1C1 = "=""" & Replace(.Value, """", "''") & """&r[1]c"
End With
Next celda
.CurrentRegion.Value = .CurrentRegion.Value
.EntireRow.Delete
End With
End Sub
Ves lo de hacer pruebas en una
copia de tus datos hasta asegurarte de que funciona correctamente

.
y por alguna razón no me gustaba mucho como se veía esta macro, así que la reescribí así (aunque en esencia es lo mismo, pero no sé por qué me parece que se ve mejor
... es que ya uno empieza a desarrollar ciertas neurosis jajajaj:
Código:
Sub prueba()
Dim celda As Range
With Range("a1").CurrentRegion
For Each celda In .Columns(1).SpecialCells(4).Offset(-1, 1)
celda.FormulaR1C1 = "=""" & Replace(celda.Value, """", "''") & """&r[1]c"
Next celda
.Columns(2).Value = .Columns(2).Value
.Columns(1).SpecialCells(4).EntireRow.Delete
End With
End Sub
Marcadores