Insertar filas

Hola soy nueva en esto de las macros. Necesito una gran ayuda:
Tengo una base de datos con 3000 filas y varias columnas,
Deseo hacer una macro que haga lo siguiente:
1. Inserte una fila en blanco después de cada 4 filas
2. Copie en cada fila insertada lo que esta en las cuatro anteriores (excluyendo lo que esta por ejemplo en la columna DE (la penúltima columna de esa fila)
3. En esa casilla en blanco halle el promedio de los los cuatro valores anteriores a esa casilla.
4. Y así sucesivamente con cada fila insertada.
Por favor necesito hacer esto.
Gracias.

1 Respuesta

Respuesta
1
Como que hay algo que no me cuadra... dices que se inserte una fila en blanco y que en esa fila (una!) Se copien cuatro, eso por obvias razones no se puede hacer pues tendría que suponer que no insertaras una fila sino cuatro (lo que tampoco me suena lógico pues solo estarías duplicando todos tus datos de cuatro en cuatro)...
Que te parece si mejor me mandas un ejemplo sencillito con datos reales y así ya podría ayudarte...
¿Oye por cierto que tan nueva eres? si sabes como crear la macro... ¿te pregunto para para saber si solo te paso el código o te explico que onda?...
espero tus comentarios... salu2x!
Hola,
Mira los datos la primera fila contiene datos desde A1 hasta J1.
La segunda fila tiene lo mismo que la anterior excepto en H2 e I2
La tercera fila lo mismo excepto en H3 e I3
La cuarta fila lo mismo en H4 e I4
La quinta es la que deseo insertar y copiar lo que tiene A1, B1, C1, D1, E1, F1, G1, J1, en H5 escribir DEF y en I5 hallar el promedio de los números que están en I1 I2 I3 I4.
Luego vienen cuatro filas más con información diferente que las cuatro anteriores, pero con la misma estructura de las filas, y deso insertar después de la cuarta, copiar de la misma manera y calcular ese promedio.
Ese proceso lo debo realizar muchísimas veces.
Con respecto a que si soy nueva, la respuesta es que son completamente novata osea no se nada de eso.
Te agradezco por tu tiempo prestado gracias.
Ok para hacer lo que dices, te la voy a poner lo más fácil que se pueda... te explicare como se hace en excel 2007
primero, ¿tienes activado la ficha programador?... si no, te vas al botón de office, opciones de excel, más frecuentes y activas la casilla que dice mostrar ficha programador en la cinta de opciones.
En la ficha programador te vas al icono que dice insertar y hay dos tipos de controles, del control activex eliges el de botón de comando y lo dibujas sobre la hoja donde están tus datos, después das doble click sobre el y te aparecerá la ventana de visual basic y ahí te mostrara estas lineas:
Private Sub CommandButton1_Click()
End Sub
entre esas dos lineas insertas esto:
Range("a1").Select
While ActiveCell.Value <> ""
ActiveCell.EntireRow.Copy
ActiveCell.Offset(4, 0).EntireRow.Insert
ActiveCell.Offset(4, 0).PasteSpecial
ActiveCell.Offset(0, 7) = "DEF"
ActiveCell.Offset(0, 8) = WorksheetFunction.Average(Range(ActiveCell.Offset(-4, 8), ActiveCell.Offset(-1, 8)))
ActiveCell.Offset(1, 0).Select
Wend
Application.CutCopyMode = False
Después regresas a excel y desactivas el modo de diseño (te aparecerá resaltado en amarillo mientras este activado) y lixto!... ¿Ya tienes la macro
cualquier duda que tengas me dices va?... salu2x!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas