La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Excel/1002098-Copiar-celdas-entre-hojas-y-cortar-filas-por-Macro.html

Copiar celdas entre hojas y cortar filas por Macro

Copiar celdas entre hojas y cortar filas por Macro

Publicado por Jorge Hernandez (11 intervenciones) el 22/07/2008 06:57:04
Saludos a todos, espero me puedan ayudar en dos casos que quiero resolver:

1) Hay ciertos resultados de formulas que quiero se muestren desde la celda M4 a la M754 de la hoja1 de acuerdo a datos relacionados linealmente con cada fila de esta hoja pero la cuestion es que no quiero colocar la formula en la hoja1 por temor a que por error se borre y dañaria la plantilla sino hacer la ecuacion en la hoja2 desde la A4 a la A7754 pero copiar el resultado en la hoja1 de esta manera A4=M4.......A754=M754, repito que sea por medio de una macro.

2) El otro caso es el siguiente, la hoja es en relacion a una aplicacion de seguimiento de fallas (red de telefonia movil) que se llevan por guardias (3 turnos en un dia) donde cada falla es una fila, muchas de estas fallas cesan y otras siguen y en la aplicacion dentro de lo que pude a traves de formato condicional y una celda (lista) que tiene la opcion "cesó" hice que al colocar esta opcion la fila se torna gris y con las letras tachadas. Lo que quiero es que al llegar la otra guardia el siguiente compañero de una forma rapida (siempre al inicio de una nueva guardia se coloca una fila donde aparece T1, T2 o T3 depende del turno y debajo se copian las fallas presentes [que no estan con la opcion "cesó"]) tome como referencia una fila para que debajo de esta copie automaticamente las fallas que no han cesado. Sera esto posible?.

De antemano les agradezco enormemente tan solo por la atencion prestada y espero me puedan ayudar con esto que me comprometi a hacer y se me fue de las manos :S

Saludos,
sin imagen de perfil

RE:Copiar celdas entre hojas y cortar filas por Ma

Publicado por jcs (494 intervenciones) el 22/07/2008 12:58:20
Muy buenas,

Lo 1º es fácil, no hay más que utilizar la grabadora de macros y te daría un resultado similar a este:

Sub copiar()
Sheets("Hoja2").Select
Range("M4:M754").Select
Selection.Copy
Sheets("Hoja1").Select
Range("A4").Select
ActiveSheet.Paste
End Sub

Par lo 2º, si te he entendido bien, te dejo una posibilidad:

- crea una nueva hoja que se llame T1 que sería donde se coloquen todas la actividades que no estén en "cesó"

- suponiendo que el "cesó" lo tengas en la columna "E" te valdría esta macro:

Sub pendientes1()
filas = Rows.Range("A1").End(xlDown).Row
copiar = ""
For i = 2 To filas
If Range("E" & i).Value <> "cesó" Then
copiar = copiar & i & ":"
j = i
While Range("E" & j).Value <> "cesó" And j <= filas
j = j + 1
Wend
copiar = copiar & j - 1 & ","
i = j
End If
Next i
Sheets("T1").Select
Cells.Select
Selection.ClearContents
If j > 2 Then
Sheets("Hoja1").Select
copiar = Left(copiar, Len(copiar) - 1)
Range(copiar).Select
Selection.Copy
Sheets("T1").Select
Range("A2").Select
ActiveSheet.Paste
Else
Range("A2").Value = "no hay ningun actividad pendiente"
End If
End Sub

- Como seguramente esté en otra columna, cambia en
If Range("E" & i).Value
While Range("E" & j).Value

por lo columna donde lo tengas.

Ya dirás si es lo que querías. Si necesitas alguna adaptación, pídelo.

Un saludo. Juanjo.

RE:Copiar celdas entre hojas y cortar filas por Ma

Publicado por Jorge Hernandez (11 intervenciones) el 22/07/2008 17:03:52
Muchas gracias por tu tiempo y por la ayuda Juanjo,

Intente esta opcion pero el problema esta en que solo copia y pega al correr manualmente la macro y no simultaneamente como lo necesito es decir; que cada vez que se modifique la celda M4...M754 me apareca el cambio en la celda A4...A754 seria como una especie de igualacion entre celdas lo que necesito. Aparte de que me queda la columna marcada como si copiara y pegara cada vez que corro la macro y tampoco seria la idea.

Si por favor tu o alguien mas me pudiera dar otra idea se los agradeceria enormemente :)

Saludos!!
sin imagen de perfil

RE:Copiar celdas entre hojas y cortar filas por Ma

Publicado por jcs (494 intervenciones) el 23/07/2008 10:00:00
Muy buenas,

una posible solución sería poner, para la en la hoja2 esta macro:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 13 Then
fila = ActiveCell.Row
copiar
Sheets("Hoja2").Select
Cells(fila + 1, 13).Select
End If
End Sub

la macro copiar que has pegado anteriormente, tienes que mantenerla.

Un saludo. Juanjo.