Insertar Filas cuando haya un cambio

Julio:
En la columna ("A") tengo un rango con fechas, (las cuales pueden repetirse en varias filas o ser diferentes), lo que necesito es que cada vez haya un cambio de fecha, se inserte una fila.-
Nota:
¿1 Creo que pregunte bien?
2 Como hago para adjuntar un archivo, ¿con ejemplos?

1 respuesta

Respuesta
5
Pues no no preguntas bien, tu lee lo que has puesto a ver quien es el guapo que se aclara, tienes celdas en la Col A con fechas -iguales o diferentes... más opciones no te quedaban. Cada vez que haya un cambio de fecha... que estemos en navidades o en verano... se inserte una fila.
El cambio ¿lo pones tu?, ya esta escrito y se repite la fecha varias filas y cuando una fecha es diferente a las anteriores que inserte una fila... a ver si va a ser por ahí. O vas escribiendo fechas y cuando la fecha sea diferente que se inserte una fila.
Si no eres capaz de explicármelo ponme un correo y te pediré el archivo
jejejejejejeje. No te enfades...
>Un saludo
>Julio
Mi correo es: [email protected]
Los datos que que están en la Columna ("A") son extraídos de otro archivo (no se colocan a mano)
Te paso un ejemplo de como están y como debieran quedar
01/08/2009          01/08/2009
01/08/2009          01/08/2009
05/08/2009          (Blanco)
06/08/2009          05/08/2009
06/08/2009          (Blanco)
                             06/08/2009
                             06/08/2009
                             (Blanco)
Vale, parece que te ha molestado mis bromas, seré más comedido en mis comentarios a partir de ahora.
Por lo que veo los cambios se producen en la Col B, con los espacios cada vez que la fecha cambia de valor, quedaría algo así:
Sub Comprobar()
Dim valor As Date
Range("A1").Select
valor = ActiveCell.Value
ActiveCell.Offset(0, 1).Value = valor
ActiveCell.Offset(1, 0).Select
Do While ActiveCell.Value <> ""
Do While ActiveCell.Value = valor
celda = ActiveCell.Address
Range("B65536").Select
ActiveCell.End(xlUp).Offset(1, 0).Value = valor
Range(celda).Offset(1, 0).Select
Loop
valor = ActiveCell.Value
celda = ActiveCell.Address
Range("B65536").Select
ActiveCell.End(xlUp).Offset(2, 0).Value = valor
Range(celda).Offset(1, 0).Select
Loop
End Sub
Si te falla en elgo me lo dices.
>Saludos
>Julio
Julio:
1- No estoy molesto (para nada), y aparte estoy muy agradecido por la paciencia que me tienes y la celeridad en tus respuestas.
2- La macro funciona correctamente salvo:
2a) debería insertar las filas en la misma columna ("A") la columna ("B") era como debía quedar la columna ("A"), "perdón si no me supe expresar"
2b) al final de la macro que me enviaste, coloca luego de la ultima celda en blanco, 12:00:00 am y no debiera (en lo posible)
Gracias
Otra vez con MIS problemas para entenderte, aquí te dejo la macro:
Sub Comprobar()
Dim valor As Date
Range("A1").Select
valor = ActiveCell.Value
Do While ActiveCell.Offset(1, 0).Value <> ""
Do While ActiveCell.Value = valor
ActiveCell.Offset(1, 0).Select
Loop
Selection.EntireRow.Insert
ActiveCell.Offset(1, 0).Select
valor = ActiveCell.Value
Loop
End Sub
Si te ha servido puntúa y finaliza.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas