Copiar y pegar datos en excel
Hola, muy agradecida de antemano por la respuesta que me puedas ofrecer.
Tengo la siguiente macro:
Sub copia_valores()
'
' Macro2 Macro
' Acceso directo: CTRL+j
'
ActiveCell.Offset(1, 0).Select
Do While Not IsEmpty(ActiveCell)
If ActiveCell.Offset(0, -1) = "x" Then
Selection.Copy
ActiveCell.Offset(0, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(0, -1).Select
End If
ActiveCell.Offset(1, 0).Select
Loop
Application.CutCopyMode = False
End Sub
Al ejecutar la macro, ubicándome previamente en una celda (de la fila C), copia y pega a valores en la fila DE, siempre y cuando haya una "x" en la fila B.
Lo que necesito es adicionar lo siguiente, (Un Contador),
que la macro, ademas de hacer esta rutina, en la columna E, me lleve la cuenta incrementando de 1 en 1, con la misma condición que utiliza al pegar las fechas a valores en DE, es decir, siempre que en B haya una "x", sume 1 y tengo otra condición pero no se como explicar, más bien expongo el problema que se daría, necesito que sume una sola vez por cada cambio de fecha, porque: que pasa si por error, ¿se ejecuta 2 veces la macro el mismo día? , me aparecería 1+1=2, y si sigo por error, seria 1+1+1=3, entonces, pienso que tambien debería estar validado por la fecha. (Salvo mejor parecer)
lo que pretendo luego, es filtrar datos, utilizando las variables de repeticiones (columna E) y anticuamiento de fechas (debo crear una columna adicional donde reste la fecha de hoy menos la de la columna D).
Debo aclarar que no se casi nada de macros :(, la macro que colgué, me fue brindada muy gentilmente, y me es de muchísima utilidad, pero ahora necesito una modificación, además, es por ello que no se los términos que uds podrían emplear para explicar, mil disculpas si no se entiende, he tratado de hacer lo mejor que he podido para que me puedas ayudar.
SAludos,
Silvia
Tengo la siguiente macro:
Sub copia_valores()
'
' Macro2 Macro
' Acceso directo: CTRL+j
'
ActiveCell.Offset(1, 0).Select
Do While Not IsEmpty(ActiveCell)
If ActiveCell.Offset(0, -1) = "x" Then
Selection.Copy
ActiveCell.Offset(0, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(0, -1).Select
End If
ActiveCell.Offset(1, 0).Select
Loop
Application.CutCopyMode = False
End Sub
Al ejecutar la macro, ubicándome previamente en una celda (de la fila C), copia y pega a valores en la fila DE, siempre y cuando haya una "x" en la fila B.
Lo que necesito es adicionar lo siguiente, (Un Contador),
que la macro, ademas de hacer esta rutina, en la columna E, me lleve la cuenta incrementando de 1 en 1, con la misma condición que utiliza al pegar las fechas a valores en DE, es decir, siempre que en B haya una "x", sume 1 y tengo otra condición pero no se como explicar, más bien expongo el problema que se daría, necesito que sume una sola vez por cada cambio de fecha, porque: que pasa si por error, ¿se ejecuta 2 veces la macro el mismo día? , me aparecería 1+1=2, y si sigo por error, seria 1+1+1=3, entonces, pienso que tambien debería estar validado por la fecha. (Salvo mejor parecer)
lo que pretendo luego, es filtrar datos, utilizando las variables de repeticiones (columna E) y anticuamiento de fechas (debo crear una columna adicional donde reste la fecha de hoy menos la de la columna D).
Debo aclarar que no se casi nada de macros :(, la macro que colgué, me fue brindada muy gentilmente, y me es de muchísima utilidad, pero ahora necesito una modificación, además, es por ello que no se los términos que uds podrían emplear para explicar, mil disculpas si no se entiende, he tratado de hacer lo mejor que he podido para que me puedas ayudar.
SAludos,
Silvia
1 respuesta
Respuesta de Carlos Serrano