Foros del Web » Soporte técnico » Ofimática »

macro excel que busque texto y haga una suma en una linea nueva

Estas en el tema de macro excel que busque texto y haga una suma en una linea nueva en el foro de Ofimática en Foros del Web. Hola, Estoy tratando de hacer una macro para excel, a ver si alguien me puede ayudar: - Tengo una excel con unas 1000 filas - ...
  #1 (permalink)  
Antiguo 26/03/2012, 13:33
Avatar de Callaghan  
Fecha de Ingreso: enero-2006
Mensajes: 58
Antigüedad: 18 años, 3 meses
Puntos: 1
macro excel que busque texto y haga una suma en una linea nueva

Hola,

Estoy tratando de hacer una macro para excel, a ver si alguien me puede ayudar:

- Tengo una excel con unas 1000 filas
- Necesito recorrer la hoja, buscando una cadena de texto en la columna B

- Cuando encuentre el texto tendría que crear una linea nueva, resaltada en amarillo, y en la columna D hacer una suma de los nueve valores anteriores

Con eso me valdría, y ya sería la bomba si:

- Cada vez que encuentra el texto, seleccionara los 9 valores anteriores de la columna D y los copiara en una columna nueva en otra hoja del libro.

De forma que en una fila de la otra hoja tuviera los valores en horizontal.


Un saludo y gracias
  #2 (permalink)  
Antiguo 26/03/2012, 14:13
Avatar de GEMO  
Fecha de Ingreso: julio-2007
Ubicación: Guadalajara
Mensajes: 110
Antigüedad: 16 años, 9 meses
Puntos: 3
Sonrisa Respuesta: macro excel que busque texto y haga una suma en una linea nueva

Creo entender lo que quieres, pero me desorienta la parte donde dices que sume los nueve valores anteriores, pues no le veo conexión con nada de lo que expones. Explica mejor esa parte para entenderle más y así ver que se puede hacer.
  #3 (permalink)  
Antiguo 26/03/2012, 14:19
Avatar de Callaghan  
Fecha de Ingreso: enero-2006
Mensajes: 58
Antigüedad: 18 años, 3 meses
Puntos: 1
Respuesta: macro excel que busque texto y haga una suma en una linea nueva

Es que son series de nueve, en realidad habría que sumar las columnas D, desde la fila en la que se encuentra el texto, hasta que se vuelve a encontrar.
O sea, que el texto que busco, se que va a estar cada nueve filas y tengo que separar esas series.
Por eso también lo de hacer el copy-paste para poner los datos en horizontal.
  #4 (permalink)  
Antiguo 26/03/2012, 16:27
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
macro excel que busque texto y haga una suma en una linea nueva

Para comprender acabadamente lo que deseas, sube a un servidor (MediaFire, SkyDrive, etc) tu archivo con:

-> Tus datos tal y como los tienes dispuestos (incluye encabezados, por supuesto)

-> Una hoja con 2 o 3 ejemplos de lo que deseas traspasar
  #5 (permalink)  
Antiguo 27/03/2012, 01:20
Avatar de Callaghan  
Fecha de Ingreso: enero-2006
Mensajes: 58
Antigüedad: 18 años, 3 meses
Puntos: 1
Respuesta: macro excel que busque texto y haga una suma en una linea nueva

He subido el archivo a google docs

- http://goo.gl/fduXL (para descargarlo en xls, pulsar en Archivo -> descargar)
- La hoja 'original' tiene los datos en bruto. Es una serie de visitas a 9 urls que se va repitiendo. Me interesa el tiempo Onload, columna E.
- La hoja 'resultado1' , tiene lo que estoy buscando. Separar las series. Cada serie empieza en la fila que marco en amarillo. En la url está el texto "home.jsp" que es lo que yo quería buscar para saber que empezaba una serie nueva.
- La hoja 'ideal' tiene lo que ya sería el resultado ideal, que serían las series ordenadas en horizontal. O sea cada serie de 9, de la columna E, en una columna nueva.

Un saludo y gracias
  #6 (permalink)  
Antiguo 27/03/2012, 11:30
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
De acuerdo macro excel que busque texto y haga una suma en una linea nueva

Te sugiero que hagas lo siguiente:

a) Haz click derecho en la etiqueta de la hoja original y selecciona: Ver código.

b) En la ventana que se te abrirá, copia y pega el siguiente código:

Código PHP:
Sub GenerarIdeal()
Dim LR As LongAs Longcol As Integer
Application
.ScreenUpdating False
LR 
Cells(Rows.Count"e").End(xlUp).Row
Workbooks
.Add xlWBATWorksheet
With ActiveSheet
  
.[a1:a10] = [b1:b10].Value
  
For 2 To LR Step 9
    col 
+ .Cells(2Columns.Count).End(xlToLeft).Column
    
.Cells(2col).Resize(9) = Cells(i"e").Resize(9).Value
  Next i
  
.[b1].Resize(, col 1) = [e1].Value
  With 
.[b12].Resize(, col 1)
    .
Formula "= sum(b2:b11)"
    
.NumberFormat "#,##0"
  
End With
  
.[a1].Resize(, col).EntireColumn.AutoFit
  
.Range("B2").Select
  ActiveWindow
.FreezePanes True
End With
Application
.ScreenUpdating True
End Sub 
c) Cierra todas las ventanas del ambiente Visual Basic for Application en el que te encuentras, y retorna al Excel.

d) Ejecuta la macro recién incorporada: GenerarIdeal

¿Te puede servir la idea?...
Saludos, Cacho R.

Última edición por mrocf; 27/03/2012 a las 11:36
  #7 (permalink)  
Antiguo 28/03/2012, 01:00
Avatar de Callaghan  
Fecha de Ingreso: enero-2006
Mensajes: 58
Antigüedad: 18 años, 3 meses
Puntos: 1
Respuesta: macro excel que busque texto y haga una suma en una linea nueva

Muchísimas Gracias mrocf!!!
  #8 (permalink)  
Antiguo 28/03/2012, 09:39
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
De acuerdo Respuesta: macro excel que busque texto y haga una suma en una linea nueva

Cita:
Iniciado por Callaghan Ver Mensaje
Muchísimas Gracias mrocf!!!
¡Me alegra que tengas la solución...!
Habrás visto que no hay nada mejor que adjuntar un archivo de muestra a tu consulta: ¡Tenlo en cuenta para tus próximas preguntas!

Saludos, Cacho.

Etiquetas: excel, macro, suma
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:41.