Sub_Total en otras celdas

Julio:
Cuando los otros días me enviaste la macro y la probé en una planilla funciono perfectamente, pero se ve que cuando la planilla, tiene algunas filas en blanco (al principio), la macro no funciona del todo bien, ya que no coloca los sub_totales donde corresponde.
Ej: Luego de ejecutar la macro queda así
   A B C D E F
1 pablo 25
2 (Blanco) (Blanco)
3 raul 50
4 raul 75 150
5 (Blanco) (Blanco)
6 gustavo 23
7 gustavo 15 113
8 gustavo 43
9 (Blanco) (Blanco) 58
Desde ya gracias, y disculpa si no pregunte bien la 1ra. Vez

1 respuesta

Respuesta
1
Ya sabía yo que no serviría la macro, primero pones uvas y luego cambias a peras... siempre igual. Recuerdas que tú pusiste:
Hola Julio:
En una hoja tengo una serie de datos distribuidos entre la columna A y la C.
En la columna B tengo celdas en blanco
Necesitaría que la macro haga un sub-total en la fila donde encuentra esa celda en blanco, pero ese datos debería estar el la columna F
La cantidad de filas es variable
Ej:
       A B C
1 pablo 10
2 alejandro 18
3 gustavo 13
4 (blanco) 41
Desde ya muchas gracias
Y yo te puse:
Hola, bien la macro quedaría así ( ya sabes luego tendremos que corregirla, jejejeje), de momento escribes que tienes en B celdas en blanco y me pones que blanco esta en A... bueno en fin:
Sub subtotal()
Dim mi_celda, celdaINI, celdaFIN As String
Range("B65536").Select
ActiveCell.End(xlUp).Offset(1, 0).Select
mi_celda = ActiveCell.Address
Range("B1").Select
Do While ActiveCell.Value <> mi_celda
celdaINI = ActiveCell.Address
ActiveCell.End(xlDown).Offset(1, 0).Select
celdaFIN = ActiveCell.Address
ActiveCell.Offset(0, 4).Formula = "=SUM(" & celdaINI & ":" & celdaFIN & ")"
Do While ActiveCell.Value = ""
If ActiveCell.Address = mi_celda Then
Exit Sub
End If
ActiveCell.Offset(1, 0).Select
Loop
Loop
End Sub
Vale, pruebalá y ya me dirás que te falla y veremos que hay que corregir... jejejeje
Esta bien prueba esta y a ver con que me sales la proxima vez.....
Sub subtotal()
Dim mi_celda, celdaINI, celdaFIN As String
Range("B65536").Select
ActiveCell.End(xlUp).Offset(1, 0).Select
mi_celda = ActiveCell.Address
Range("B1").Select
Do While ActiveCell.Value <> mi_celda
celdaINI = ActiveCell.Address
celdaFIN = ActiveCell.Address
ActiveCell.Offset(0, 4).Formula = "=SUM(" & celdaINI & ":" & celdaFIN & ")"
Do While ActiveCell.Value = ""
If ActiveCell.Address = mi_celda Then
Exit Sub
End If
ActiveCell.Offset(1, 0).Select
Loop
Loop
End Sub
>Un saludo
>Julio

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas