Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

problema sumatorio vb Excel

Estas en el tema de problema sumatorio vb Excel en el foro de Visual Basic clásico en Foros del Web. buenas, la idea es que en la columna A están escritos datos ordenados, de manera que serán algunos iguales. Cuando encuentre el 1er dato distinto ...
  #1 (permalink)  
Antiguo 22/01/2011, 10:09
 
Fecha de Ingreso: enero-2011
Mensajes: 2
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta problema sumatorio vb Excel

buenas,
la idea es que en la columna A están escritos datos ordenados, de manera que serán algunos iguales.
Cuando encuentre el 1er dato distinto quiero, que vuelva a la fila anterior (último dato igual) y que haga un sumatorio en esta misma fila, en la columna j de los datos comprendidos entre I2 y la I ( y la fila en la que estamos trabajando)
El código que he generado hasta el momento es el siguiente:
__________________________
Dim valor As String 'valor celda A2
Dim suma1 As Integer 'valor sumatorio pesos parciales 1
Dim celda1 As String 'posición de la última celda del primer sumatorio de total partida

Range("A2").Select
valor = Range("A2").Value

Do While ActiveCell.Value = valor
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Offset(-1, 8).Select

celda1 = ActiveCell.Address


ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=sum(I2:celda1)"
________________

Me funciona todo hasta el parámetro celda1, si le pongo por ejemplo I8 si funciona el sumatorio.

Teneís una idea de cómo resolverlo? muchas gracias
  #2 (permalink)  
Antiguo 23/01/2011, 05:08
 
Fecha de Ingreso: enero-2011
Mensajes: 2
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: problema sumatorio vb Excel

buenas!!!!
después de darle muchas vueltas he conseguido lo que quería, cuelgo el código por si le sirve a alguien. De todas formas muchas gracias por el foro.
Dim valor As String 'valor celda A2
Dim suma1 As Integer 'valor sumatorio pesos parciales 1
Dim celdax As Integer 'posición de la fila de la última celda del primer sumatorio de total partida
Dim celday As Integer 'posición de la columna de la última celda del primer sumatorio de total partida


Range("A2").Select
valor = Range("A2").Value


Do While ActiveCell.Value = valor
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Offset(-1, 8).Select

ActiveCell.Offset(0, 1).Select

celdax = ActiveCell.Row
celday = ActiveCell.Column

suma1 = Application.WorksheetFunction.Sum(Range(Cells(2, 9), Cells(celdax, celday)))

ActiveCell.Value = suma1

ActiveCell.Offset(0, 1).Select

Etiquetas: excel, sumatorio, vb
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 13:55.